WO2020248727A1 - 一种软件模块的管理方法、装置及服务器 - Google Patents

一种软件模块的管理方法、装置及服务器 Download PDF

Info

Publication number
WO2020248727A1
WO2020248727A1 PCT/CN2020/086877 CN2020086877W WO2020248727A1 WO 2020248727 A1 WO2020248727 A1 WO 2020248727A1 CN 2020086877 W CN2020086877 W CN 2020086877W WO 2020248727 A1 WO2020248727 A1 WO 2020248727A1
Authority
WO
WIPO (PCT)
Prior art keywords
software module
server
intranet
intranet client
download
Prior art date
Application number
PCT/CN2020/086877
Other languages
English (en)
French (fr)
Inventor
朱桂锋
林挺
卢道和
Original Assignee
深圳前海微众银行股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海微众银行股份有限公司 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2020248727A1 publication Critical patent/WO2020248727A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present invention relates to the technical field of financial technology (Fintech), and in particular to a method, device and server for managing software modules.
  • the common software module management methods mainly include NPM, which is the official solution of the javascript software module management tool.
  • NPM has relatively complete javascript software module resources, the access speed of domestic users is relatively slow, which is not conducive to software development.
  • an application usually has multiple release versions. Before a certain version of the application is released, testers need to obtain the existing software modules, and for the released software modules, they need to conduct a comprehensive test of the version of the application.
  • the current NPM is not suitable for managing software modules applicable to internal testing of enterprises, and the security is not high, and it cannot meet the needs of managing internal testing of enterprises.
  • the present invention provides a software module management method, device and server, which are used to solve the technical problems of low software management efficiency and low security in the prior art.
  • an embodiment of the present invention provides a software module management method, the method includes:
  • the first server obtains the download request of the first software module sent by the intranet client;
  • the first server determines that the first server does not store the first software module, it obtains the first software module from the second server through the external network, and generates the internal network of the first software module.
  • the first server returns the first version information of the first software module and the first download address to the intranet client, so that the intranet client can use the
  • the version information verifies the version of the first software module, and after the verification is successful, downloads the first software module from the first server according to the first download address.
  • the method before the first server obtains the download request of the software module sent by the intranet client, the method further includes:
  • the first server confirms whether the first software module is stored according to the stored version information of the software module
  • the first server returns the query result of the first software module to the intranet client.
  • the method further includes:
  • the first server maps the first access address to the second access address of the intranet
  • the first server returns the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • the first server obtains the first software module from a second server through an external network, and generates a first download address and first version information of the first software module on the internal network, Also includes:
  • first server determines that the first software module and the second software module are dependent
  • the first server sends the second download address and second version information of the second software module in the intranet to the intranet client, so that the intranet client downloads the second software module from the first download address according to the second download address. Download the second software module from the server.
  • the method further includes:
  • the first server After successfully verifying the third version information of the third software module, the first server stores the third software module in the first server, and generates the third software module on the intranet. Three download addresses, so that the second intranet client terminal downloads the third software module according to the third download address.
  • the method further includes:
  • the first server searches the external network whether the first software module is updated
  • the first server determines that the first software module is updated, download the updated first software module, and update the first version information of the first software module and the first download address;
  • the first server sends an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address.
  • the method further includes:
  • the first server determines that the URL address of the resource that needs to be called in the first software module is updated, it updates the URL address of the resource that needs to be called in the first software module stored in the first server;
  • the first server notifies the intranet client to update the URL address of the resource to be called in the first software module.
  • a software module management apparatus provided by an embodiment of the present invention includes:
  • the transceiver unit is used to obtain the download request of the first software module sent by the intranet client;
  • the processing unit is configured to, if it is determined that the first software module is not stored in the first server, obtain the first software module from the second server through the external network, and generate the internal network of the first software module The first download address and the first version information of the first software module;
  • the transceiver unit is configured to return the first version information of the first software module and the first download address to the intranet client, so that the intranet client can be
  • the first version information verifies the version of the first software module, and after the verification is successful, downloads the first software module from the first server according to the first download address.
  • the transceiver unit is further configured to obtain a query request of the first software module sent by the intranet client;
  • the processing unit is configured to confirm whether the first software module is stored according to the stored version information of the software module
  • the transceiver unit is further configured to return the query result of the first software module to the intranet client.
  • the transceiver unit is further configured to obtain the dynamic compilation request of the first software module sent by the intranet client; and obtain the dynamic compilation resource of the first software module on the second external network.
  • the processing unit is configured to map the first access address to a second access address of the intranet
  • the transceiver unit is further configured to return the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • the processing unit is configured to, if it is determined that the first software module and the second software module are dependent, download the second software module from the second server through an external network, and Generating a second download address and second version information of the second software module in the intranet; sending the second download address and second version information of the second software module in the intranet to the intranet client, So that the intranet client downloads the second software module from the first server according to the second download address.
  • the transceiver unit is further configured to obtain a release request of the third software module of the intranet client;
  • the processing unit is further configured to store the third software module in the first server after the third version information of the third software module is successfully verified, and generate the third software module in The third download address of the Internet, so that the second intranet client downloads the third software module according to the third download address.
  • the processing unit is further configured to find whether the first software module is updated on the external network; if it is determined that the first software module is updated, download the updated first software module , And update the first version information of the first software module and the first download address;
  • the transceiver unit is further configured to send an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address .
  • the processing unit is further configured to update the first software module stored in the first server if it is determined that the URL address of the resource to be called in the first software module is updated.
  • the transceiver unit is also used to notify the intranet client to update the URL address of the resource to be called in the first software module.
  • a server provided by an embodiment of the present invention includes:
  • the first server obtains the download request of the first software module sent by the intranet client;
  • the first server determines that the first server does not store the first software module, it obtains the first software module from the second server through the external network, and generates the internal network of the first software module.
  • the first server returns the first version information of the first software module and the first download address to the intranet client, so that the intranet client can use the
  • the version information verifies the version of the first software module, and after the verification is successful, downloads the first software module from the first server according to the first download address.
  • the method before the first server obtains the download request of the software module sent by the intranet client, the method further includes:
  • the first server confirms whether the first software module is stored according to the stored version information of the software module
  • the first server returns the query result of the first software module to the intranet client.
  • the method further includes:
  • the first server maps the first access address to the second access address of the intranet
  • the first server returns the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • the first server obtains the first software module from a second server through an external network, and generates a first download address and first version information of the first software module on the internal network, Also includes:
  • first server determines that the first software module and the second software module are dependent
  • the first server sends the second download address and second version information of the second software module in the intranet to the intranet client, so that the intranet client downloads the second software module from the first download address according to the second download address. Download the second software module from the server.
  • the method further includes:
  • the first server After successfully verifying the third version information of the third software module, the first server stores the third software module in the first server, and generates the third software module on the intranet. Three download addresses, so that the second intranet client terminal downloads the third software module according to the third download address.
  • the method further includes:
  • the first server searches the external network whether the first software module is updated
  • the first server determines that the first software module is updated, download the updated first software module, and update the first version information of the first software module and the first download address;
  • the first server sends an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address.
  • the method further includes:
  • the first server determines that the URL address of the resource that needs to be called in the first software module is updated, it updates the URL address of the resource that needs to be called in the first software module stored in the first server;
  • the first server notifies the intranet client to update the URL address of the resource to be called in the first software module.
  • a software module management apparatus provided by an embodiment of the present invention includes:
  • the first server obtains the download request of the first software module sent by the intranet client;
  • the first server determines that the first server does not store the first software module, it obtains the first software module from the second server through the external network, and generates the internal network of the first software module.
  • the first server returns the first version information of the first software module and the first download address to the intranet client, so that the intranet client can use the
  • the version information verifies the version of the first software module, and after the verification is successful, downloads the first software module from the first server according to the first download address.
  • the method before the first server obtains the download request of the software module sent by the intranet client, the method further includes:
  • the first server confirms whether the first software module is stored according to the stored version information of the software module
  • the first server returns the query result of the first software module to the intranet client.
  • the method further includes:
  • the first server maps the first access address to the second access address of the intranet
  • the first server returns the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • the first server obtains the first software module from the second server through an external network, and generates a first download address and first version information of the first software module on the internal network After that, it also includes:
  • first server determines that the first software module and the second software module are dependent
  • the first server sends the second download address and second version information of the second software module in the intranet to the intranet client, so that the intranet client downloads the second software module from the first download address according to the second download address. Download the second software module from the server.
  • the method further includes:
  • the first server After successfully verifying the third version information of the third software module, the first server stores the third software module in the first server, and generates the third software module on the intranet. Three download addresses, so that the second intranet client terminal downloads the third software module according to the third download address.
  • the method further includes:
  • the first server searches the external network whether the first software module is updated
  • the first server determines that the first software module is updated, download the updated first software module, and update the first version information of the first software module and the first download address;
  • the first server sends an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address.
  • the method further includes:
  • the first server determines that the URL address of the resource that needs to be called in the first software module is updated, it updates the URL address of the resource that needs to be called in the first software module stored in the first server;
  • the first server notifies the intranet client to update the URL address of the resource to be called in the first software module.
  • an embodiment of the present invention provides a server including a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to call the program instructions stored in the memory according to the obtained program Perform the steps of the above-mentioned software module management method.
  • an embodiment of the present invention provides a computer storage medium, the computer storage medium stores computer executable instructions, and the computer executable instructions are used to make the computer execute the steps of the above-mentioned software module management method.
  • an embodiment of the present invention provides a computer program product
  • the computer program product includes a computer program stored on a computer storage medium
  • the computer program includes program instructions, and when the program instructions are executed by a computer, The computer is made to execute the steps of the above-mentioned software module management method.
  • the intranet client after determining the software module to be downloaded, sends a software module download request to the first server, and the first server obtains the software module corresponding to the software module to be downloaded from the second server according to the download address, and According to the software module, the version information and download address of the intranet corresponding to the software module are generated.
  • the intranet client receives the version information and download address returned by the first server according to the identification of the software module to be downloaded in the software module download request, and downloads the software module from the first server according to the software module.
  • the intranet client can successfully access and verify the software module according to the download address provided by the first server according to the download address, and then download the software module to be downloaded from the first server to achieve While the software modules can be downloaded quickly, it also guarantees the invisible requirement of publishing software modules on the external network during enterprise testing, and improves the management efficiency and security of software modules.
  • Fig. 1 is a system architecture diagram to which a software module management method provided by an embodiment of the present invention is applicable;
  • FIG. 2 is a schematic diagram of a process corresponding to a method for managing software modules provided by an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a software module management apparatus provided by an embodiment of the present invention.
  • Fig. 4 is a schematic structural diagram of a server provided by an embodiment of the present invention.
  • NPM Node.js package manager
  • FIG. 1 is a system architecture diagram to which the software module management method provided by an embodiment of the present invention is applicable.
  • the software module management system includes a first server 101, a second server 102, and an intranet client 103 (may It is a PC terminal or a smart phone installed with a software module management program), and related project managers 104 and testers 105.
  • the first server can use a Linux system server (such as centos7) and is configured with a NODE JS environment.
  • the present invention needs to deploy two parts of WEB retrieval service and REGISTRY storage service on the server.
  • the software module managed by it can be a node.js software module; among them, the first server 101 and the intranet client 102 are deployed in the intranet, the second server 102 is deployed in the external network, and the first server 101 can communicate with each other through a proxy server.
  • the second server 102 communicates.
  • the intranet client 103 can access the above-mentioned first server 101 through a wireless network, and provide services such as display, upload, download, and installation of software modules for terminal users who install the intranet client.
  • the intranet client 103 can obtain the resources on the second server 102 through the first server 101.
  • the software module can be installed in a designated location through the terminal software of the developer's computer.
  • the computer system includes Windows, Mac, and Linux
  • the terminal software includes but is not limited to cmd, git bash, and terminal.
  • cmd cmd
  • git bash cmd
  • terminal terminal software
  • the types of software modules that can be installed are different. Therefore, when developing application programs, developers need to select matching software modules for the type of operating system.
  • an embodiment of the present invention provides a software management method, including:
  • Step 1 The first server obtains the resources of the software module from the NPM REGISTER server through the network proxy server;
  • the first server may be a warehouse server, which is used to store the resources of the software modules on the NPM REGISTER server; the specific acquisition process may be setting a timer to periodically obtain the resources of the software modules on the NPM REGISTER server.
  • Step 2 The user executes the command to install the software module through the client, so that the software module resources stored in the first server are installed in the local project of the client.
  • the first server Since the first server is deployed in China, when the client downloads the corresponding software module, it can achieve a very high download speed and improve the download efficiency.
  • a possible implementation method can specify that the software modules with the current top percentages are synchronized to the first server through the proxy server.
  • the above embodiment solves the problem of the speed of domestic users accessing the official NPM.
  • the software module distribution process must rely on the external network environment. Developers who are officially registered with NPM can obtain the permission to publish self-developed software modules on the NPM server. They can be released by executing specified commands on the NPM intranet client. After the module is released, other developers can execute the corresponding via the intranet client. The command to install the released software module.
  • this form is only applicable to the production version that has been released on-line.
  • software modules used internally are usually kept secret. In order to ensure the security of internal software modules, the release and use of software modules must be limited to the corporate intranet, so third-party hosting platforms cannot be used.
  • a proxy server that can provide proxy services, such as a VPN, can be deployed in the first server; of course, it can also be deployed separately, which is not limited here. Associate with the first server and modify the relevant configuration parameters of the proxy server to complete the establishment of the proxy service in the intranet. After the establishment of the proxy service is completed, the first server can obtain the resources of the software module from the outside through its proxy server.
  • the first server can be a centos 7 server (configured with a node.js environment, all server programs are NODEJS software modules, and the service consists of two parts: WEB and REGISTRY).
  • the service program in the first server is based on KOA (next generation web framework for node.js): NODE JS development framework, and is secondary developed to meet the development needs of NODE JS software modules.
  • the resource file corresponding to nodejs can be downloaded through the curl command. Specifically, it can be: curl-sL https://rpm.nodesource.com/setup_10.x
  • the first server can use the yum command to install the resources of the downloaded software module, and the specific command can be sudo yum install nodejs.
  • the first server can use the node-version command to verify the installation.
  • an embodiment of the present invention provides a software module management method, including:
  • Step 201 The first server obtains the download request of the first software module sent by the intranet client;
  • Step 202 If the first server determines that the first server does not store the first software module, it acquires the first software module from the second server through the external network, and generates the first software module in The first download address of the intranet and the first version information of the first software module;
  • the proxy function of the proxy server can be realized by the tunnel-agent module, and the resource files of the first software module are synchronized and stored in the storage space of the first server from the second server through the external network.
  • step 203 is executed;
  • Step 203 the first server returns the first version information of the first software module and the first download address to the intranet client;
  • Step 204 The intranet client verifies the version of the first software module according to the first version information of the first software module, and after successful verification, downloads from the first server according to the first download address Download the first software module.
  • the intranet client after determining the software module to be downloaded, sends a software module download request to the first server, and the first server obtains the software module corresponding to the software module to be downloaded from the second server according to the download address, and According to the software module, the version information and download address of the intranet corresponding to the software module are generated.
  • the intranet client receives the version information and download address returned by the first server according to the identification of the software module to be downloaded in the software module download request, and downloads the software module from the first server according to the software module.
  • the intranet client can successfully access and verify the software module according to the download address provided by the first server according to the download address, and then download the software module to be downloaded from the first server to achieve While the software modules can be downloaded quickly, it also guarantees the invisible needs of the external network for publishing software modules during enterprise testing.
  • the method before the first server obtains the download request of the software module sent by the intranet client, the method further includes:
  • the first server confirms whether the first software module is stored according to the stored version information of the software module
  • the first server returns the query result of the first software module to the intranet client.
  • software modules and related information about the software modules can be stored on the first server.
  • the intranet client can obtain all the software modules stored on the first server, as well as related information about the software modules, etc. , And show it.
  • the related information of the software module includes the version information of the software module itself, and the project management information added for the software module by the project manager when the software module is released.
  • the version information includes information such as the application name, application package name, and version number of the software module.
  • the project management information can be used by the tester to learn the specific requirements of the project manager for testing the software module after successfully downloading the software module.
  • the user browses the software modules displayed on the intranet client and selects the software modules to be downloaded. Subsequently, after the intranet client determines the software module to be downloaded, it sends a software module download request to the first server, and the software module download request carries the identification of the software module to be downloaded selected by the user.
  • the query result may be that the first software module does not exist, or it may include all versions of the first software module.
  • the user can manually send a download request of the first software module, and obtain the corresponding software module through the first server, which can synchronize on demand and save the pressure of server storage space.
  • the first server can also be set to actively download the first software module and store the resources of the latest version of the first software module.
  • the first server may set a timer to perform unified download at a predetermined time, or obtain it according to a download request sent by the user. While downloading resources from the second server through the external network, it is also necessary to update the version information and download addresses of the software modules stored in the first server to ensure that users can correctly retrieve the corresponding software modules.
  • Step 1 The first server searches on the external network whether the first software module is updated
  • Step 2 If the first server determines that the first software module is updated, it downloads the updated first software module, and updates the first version information of the first software module and the first download address;
  • Step 3 The first server sends an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address.
  • the intranet client can check whether the software module needs to be upgraded every time the corresponding software module is executed. At the same time, the intranet client can also set the default to initiate a check update request to the second server, and Set the request timeout period.
  • the request timeout period can be 3 minutes.
  • the intranet client cannot directly send a request for checking updates to the second server. Therefore, the intranet client needs to wait for a timeout when opening the software module.
  • the intranet client since the intranet client does not update frequently, the intranet client can be set to send an update request to the first server at a fixed time; the update request can be an update request to update the client or an update request to update the software module , There is no limitation here. If it is determined that there is a new version, an update message is sent to the client to prompt the user to update, and the time of checking for the update is cached in the local disk, and the intranet client does not need to send an update request at other running times.
  • the method further includes:
  • Step 1 The first server obtains the dynamic compilation request of the first software module sent by the intranet client;
  • Step 2 The first server obtains the first access address of the dynamic compilation resource of the first software module on the external network
  • Step 3 The first server maps the first access address to the second access address of the intranet
  • Step 4 The first server returns the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • a mirror address can be generated from the first access address, and the mirror address is a second access address that can be accessed by the intranet; in a possible implementation manner, the first server stores the first access address and the second access address.
  • the access address mapping relationship the intranet client sends an access request for the second access address to the first server; the first server determines the first access address according to the mapping relationship between the first access address and the second access address, and then through the external The network sends to the first access address to obtain the resources required for dynamic compilation. After obtaining the resources required for dynamic compilation through the first access address, the first server returns the resources required for dynamic compilation to the intranet client.
  • the mirror resource in the dynamic compilation request can be transparently transmitted through the proxy server in the first server.
  • the intranet client can use the second access address generated by the first server (proxy mirror ) Download the corresponding dynamically compiled resources.
  • the original resource request path is: http://npm.taobao.org/mirrors/node-sass/v4.11.0/win32-x64-64_binding.node;
  • This URL request needs to be forwarded to the external network through the proxy server, so that the internal network client can access the corresponding resource normally.
  • the first server obtains the first software module from the second server through an external network, and generates a first download address and first version information of the first software module on the internal network After that, it also includes:
  • Step 1 If the first server determines that the first software module and the second software module are in a dependent relationship, it downloads the second software module from the second server via the external network, and generates the second software module in The second download address and the second version information of the intranet;
  • Step 2 The first server sends the second download address and the second version information of the second software module in the intranet to the intranet client, so that the intranet client downloads the second software module from the first download address according to the second download address. Downloading the second software module from a server.
  • the dependency relationship between the first software module and other software modules can also be obtained in advance, and the dependent second software module is downloaded to the client according to the dependency relationship.
  • the dependency relationship may be preset or determined according to the historical record of downloading software modules by the server, which is not limited here.
  • the first software module depends on small functions provided by other software modules.
  • software module A may depend on software module B, software module C, and software module D. Therefore, the first server determines software module A during the installation process. According to the dependency relationship, download the corresponding software module. Specifically, when the software module A is installed, the software module B and the software module C can be determined, and then the software module B and the software module C are returned. After the installation process is completed, it is determined that the return process of the download request ends.
  • the URL link of the first resource in the first software module Due to the replacement of the new and old resources of the second server, for example, the URL link of the first resource in the first software module has become invalid, but has not been updated in the second software module. To ensure that the resources of the second software module are downloaded successfully, The URL resource to be updated can be replaced with the URL link of the new resource in the synchronization function.
  • the method further includes:
  • Step 1 If the first server determines that the URL address of the resource that needs to be called in the first software module is updated, it updates the URL address of the resource that needs to be called in the first software module stored in the first server;
  • Step 2 The first server notifies the intranet client to update the URL address of the resource to be called in the first software module.
  • a possible implementation method includes:
  • the first server After successfully verifying the third version information of the third software module, the first server stores the third software module in the first server, and generates the third software module on the intranet. Three download addresses, so that the second intranet client terminal downloads the third software module according to the third download address.
  • the user installs the corresponding intranet client through the specified command, and the intranet client logs in and registers through the login module.
  • the user executes the publishing request in the root directory of the module project that needs to be published to the bank .
  • the release request can upload software modules of Android, iOS, etc., and the client can read the version and name of the software module’s package.json, and verify related test procedures.
  • the first server will Generate resources for downloading the software module for the software module, and complete publishing to the first server.
  • Other users on the intranet can obtain the release message of the third software module through the first server, and can directly download and install the third software module.
  • the third software module can distinguish the third software module and the first software module published by the intranet by naming the software module in the domain of the intranet.
  • FIG. 3 is a schematic structural diagram of one provided by the implementation of the present invention.
  • the software module management device includes:
  • the transceiver unit 301 is configured to obtain the download request of the first software module sent by the intranet client;
  • the processing unit 302 is configured to, if it is determined that the first software module is not stored in the first server, obtain the first software module from the second server through an external network, and generate the first software module in the The first download address of the intranet and the first version information of the first software module;
  • the transceiving unit 301 is configured to return the first version information of the first software module and the first download address to the intranet client, so that the intranet client can be based on the first software module
  • a version information verifies the version of the first software module, and after the verification is successful, downloads the first software module from the first server according to the first download address.
  • the transceiver unit 301 is further configured to obtain the query request of the first software module sent by the intranet client;
  • the processing unit 302 is configured to confirm whether the first software module is stored according to the stored version information of the software module
  • the transceiver unit 301 is further configured to return the query result of the first software module to the intranet client.
  • the transceiver unit 301 is further configured to obtain the dynamic compilation request of the first software module sent by the intranet client; and obtain the dynamic compilation resource of the first software module in the first external network. address;
  • the processing unit 302 is configured to map the first access address to the second access address of the intranet
  • the transceiver unit 301 is further configured to return the second access address to the intranet client, so that the intranet client dynamically compiles the first software module according to the second access address.
  • the processing unit 302 is configured to, if it is determined that the first software module and the second software module are dependent, download the second software module from the second server through the external network, and generate The second download address and the second version information of the second software module in the intranet; the second download address and the second version information of the second software module in the intranet are sent to the intranet client to Enabling the intranet client to download the second software module from the first server according to the second download address.
  • the transceiver unit 301 is further configured to obtain a release request of the third software module of the intranet client;
  • the processing unit 302 is further configured to store the third software module in the first server after the third version information of the third software module is successfully verified, and generate the third software module in the intranet The third download address for the second intranet client to download the third software module according to the third download address.
  • the processing unit 302 is further configured to find whether the first software module is updated on the external network; if it is determined that the first software module is updated, download the updated first software module, And update the first version information of the first software module and the first download address;
  • the transceiver unit 301 is further configured to send an update message of the first software module to the intranet client, so that the intranet client obtains the updated first software module according to the updated first download address.
  • the processing unit 302 is further configured to update the URL address of the resource that needs to be called in the first software module and update the URL address of the first software module stored in the first server.
  • the URL address of the called resource is further configured to update the URL address of the resource that needs to be called in the first software module and update the URL address of the first software module stored in the first server.
  • the transceiver unit 301 is also used to notify the intranet client to update the URL address of the resource to be called in the first software module.
  • FIG. 4 a schematic structural diagram of a server in an embodiment of the present invention.
  • the embodiment of the present invention provides a server, where the electronic device may be a server or other computer device, etc., the electronic device may include a processor 710 (Center Processing Unit, CPU), a memory 720, an input device 730, and an output device 740
  • the input device 730 may include a keyboard, a mouse, a touch screen, etc.
  • the output device 740 may include a display device, such as a liquid crystal display (LCD), a cathode ray tube (Cathode Ray Tube, CRT), etc.
  • LCD liquid crystal display
  • CRT cathode Ray Tube
  • the memory 720 may include a read only memory (ROM) and a random access memory (RAM), and provides the processor 710 with program instructions and data stored in the memory 720.
  • the memory 720 may be used to store the program of the software module management method in the foregoing embodiment.
  • the processor 710 calls the program instructions stored in the memory 720, and the processor 710 is configured to execute according to the obtained program instructions:
  • the first server If it is determined that the first server does not store the first software module, obtain the first software module from the second server through the external network, and generate a first download of the first software module on the internal network Address and first version information of the first software module;
  • the processor 710 is further configured to confirm whether the first software module is stored according to the stored version information of the software module.
  • the processor 710 is further configured to map the first access address to a second access address of the intranet;
  • the processor 710 is further configured to, if it is determined that the first software module and the second software module are in a dependent relationship, download the second software module from the second server through the external network, and Generating a second download address and second version information of the second software module in the intranet; sending the second download address and second version information of the second software module in the intranet to the intranet client, So that the intranet client downloads the second software module from the first server according to the second download address.
  • the processor 710 is further configured to store the third software module in the first server after the third version information of the third software module is successfully verified, and generate the The third software module is a third download address of the intranet, so that the second intranet client downloads the third software module according to the third download address.
  • the processor 710 is further configured to find whether the first software module is updated on the external network; if it is determined that the first software module is updated, download the updated first software module, And update the first version information of the first software module and the first download address.
  • the processor 710 is further configured to, if it is determined that the URL address of the resource that needs to be called in the first software module is updated, then update the request in the first software module stored in the first server. The URL address of the called resource.
  • the intranet client after determining the software module to be downloaded, sends a software module download request to the first server, and the first server obtains the software module corresponding to the software module to be downloaded from the second server according to the download address, and According to the software module, the version information and download address of the intranet corresponding to the software module are generated.
  • the intranet client receives the version information and download address returned by the first server according to the identification of the software module to be downloaded in the software module download request, and downloads the software module from the first server according to the software module.
  • the intranet client can successfully access and verify the software module according to the download address provided by the first server according to the download address, and then download the software module to be downloaded from the first server to achieve While the software modules can be downloaded quickly, it also guarantees the invisible needs of the external network for publishing software modules during enterprise testing.
  • an embodiment of the present invention provides a computer storage medium for storing computer program instructions used by the above-mentioned computing device, which includes a program for executing the above-mentioned software module management method.
  • the computer storage medium may be any available medium or data storage device that can be accessed by the computer, including but not limited to magnetic storage (such as floppy disk, hard disk, magnetic tape, magneto-optical disk (MO), etc.), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor memory (such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid state drive (SSD)), etc.
  • magnetic storage such as floppy disk, hard disk, magnetic tape, magneto-optical disk (MO), etc.
  • optical storage such as CD, DVD, BD, HVD, etc.
  • semiconductor memory such as ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid state drive (SSD)
  • embodiments of the present invention provide a computer program product, the computer program product includes a computer program stored on a computer storage medium, the computer program includes program instructions, when the program instructions are executed by a computer At this time, the computer is caused to execute the steps of the above-mentioned software module management method.
  • the embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may be in the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or two or more processes in the flowchart and/or one block or two or more blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or two or more processes in the flowchart and/or one block or two or more blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

一种金融科技领域的软件模块的管理方法、装置及服务器,包括:第一服务器获取内网客户端发送的第一软件模块的下载请求;第一服务器若确定第一服务器未存储有第一软件模块,则通过外网从第二服务器获取第一软件模块,并生成第一软件模块在内网的第一下载地址及第一软件模块的第一版本信息;第一服务器向内网客户端返回第一软件模块的第一版本信息及第一下载地址,以使内网客户端根据第一软件模块的第一版本信息校验第一软件模块的版本,根据第一下载地址从第一服务器中下载第一软件模块,实现了软件模块的快速获取,提高了软件模块的管理效率,并保证了内网客户端软件测试的需求。

Description

一种软件模块的管理方法、装置及服务器
相关申请的交叉引用
本申请要求在2019年06月14日提交中国专利局、申请号为201910515520.9、申请名称为“一种软件模块的管理方法、装置及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种软件模块的管理方法、装置及服务器。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,软件模块的管理技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
随着互联网技术的不断发展,IT企业开发出了种类繁多的应用程序,以满足人们生活和工作等多方面的需求。
目前常见的软件模块管理方法主要有NPM,NPM是javascript软件模块管理工具的官方解决方案。虽然,NPM拥有如今比较完整的javascript软件模块资源,但是国内用户访问速度比较慢,不利于软件开发。
另外,对于IT企业来说,开发出一款应用程序后,还需要对其进行不断地优化和升级迭代,因此,一款应用程序通常具有多个发行版本。在某一版本的应用程序发布之前,测试人员需要获取现有的软件模块,并针对发布的软件模块需要对该版本的应用程序进行全面的测试。但是,目前的NPM并不适合管理企业内测适用的软件模块,安全性不高,无法满足管理企业内测的需求。
发明内容
本发明提供一种软件模块的管理方法、装置及服务器,用以解决现有技术中软件管理的效率较低,安全性不高的技术问题。
一方面,本发明实施例提供的一种软件模块的管理方法,所述方法包括:
第一服务器获取内网客户端发送的第一软件模块的下载请求;
所述第一服务器若确定所述第一服务器未存储有所述第一软件模块,则通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
所述第一服务器向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
一种可能的实现方式,所述第一服务器获取内网客户端发送的软件模块的下载请求之前,还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的查询请求;
所述第一服务器根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
所述第一服务器向所述内网客户端返回所述第一软件模块的查询结果。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的动态编译请求;
所述第一服务器获取所述第一软件模块的动态编译资源在外网的第一访问地址;
所述第一服务器将所述第一访问地址映射为内网的第二访问地址;
所述第一服务器将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
一种可能的实现方式,所述第一服务器通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及第一版本信息之后,还包括:
所述第一服务器若确定所述第一软件模块与第二软件模块为依赖关系;
则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;
所述第一服务器将第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端的第三软件模块的发布请求;
所述第一服务器在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器在外网查找所述第一软件模块是否出现更新;
所述第一服务器若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
所述第一服务器向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
所述第一服务器通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
一方面,本发明实施例提供的一种软件模块的管理装置,包括:
收发单元,用于获取内网客户端发送的第一软件模块的下载请求;
处理单元,用于若确定所述第一服务器未存储有所述第一软件模块,则通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
所述收发单元,用于向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一 软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
一种可能的实现方式,所述收发单元,还用于获取所述内网客户端发送的所述第一软件模块的查询请求;
所述处理单元,用于根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
所述收发单元,还用于向所述内网客户端返回所述第一软件模块的查询结果。
一种可能的实现方式,所述收发单元,还用于获取所述内网客户端发送的所述第一软件模块的动态编译请求;获取所述第一软件模块的动态编译资源在外网的第一访问地址;
所述处理单元,用于将所述第一访问地址映射为内网的第二访问地址;
所述收发单元,还用于将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
一种可能的实现方式,所述处理单元,用于若确定所述第一软件模块与第二软件模块为依赖关系,则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;将所述第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,所述收发单元,还用于获取所述内网客户端的第三软件模块的发布请求;
所述处理单元,还用于在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,所述处理单元,还用于在外网查找所述第一软件模块是否出现更新;若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
所述收发单元,还用于向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,所述处理单元,还用于若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
所述收发单元,还用于通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
一方面,本发明实施例提供的一种服务器,包括:
第一服务器获取内网客户端发送的第一软件模块的下载请求;
所述第一服务器若确定所述第一服务器未存储有所述第一软件模块,则通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
所述第一服务器向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第 一软件模块。
一种可能的实现方式,所述第一服务器获取内网客户端发送的软件模块的下载请求之前,还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的查询请求;
所述第一服务器根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
所述第一服务器向所述内网客户端返回所述第一软件模块的查询结果。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的动态编译请求;
所述第一服务器获取所述第一软件模块的动态编译资源在外网的第一访问地址;
所述第一服务器将所述第一访问地址映射为内网的第二访问地址;
所述第一服务器将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
一种可能的实现方式,所述第一服务器通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及第一版本信息之后,还包括:
所述第一服务器若确定所述第一软件模块与第二软件模块为依赖关系;
则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;
所述第一服务器将第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端的第三软件模块的发布请求;
所述第一服务器在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器在外网查找所述第一软件模块是否出现更新;
所述第一服务器若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
所述第一服务器向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
所述第一服务器通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
一方面,本发明实施例提供的一种软件模块的管理装置,包括:
第一服务器获取内网客户端发送的第一软件模块的下载请求;
所述第一服务器若确定所述第一服务器未存储有所述第一软件模块,则通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述 第一软件模块的第一版本信息;
所述第一服务器向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
一种可能的实现方式,所述第一服务器获取内网客户端发送的软件模块的下载请求之前,还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的查询请求;
所述第一服务器根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
所述第一服务器向所述内网客户端返回所述第一软件模块的查询结果。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的动态编译请求;
所述第一服务器获取所述第一软件模块的动态编译资源在外网的第一访问地址;
所述第一服务器将所述第一访问地址映射为内网的第二访问地址;
所述第一服务器将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
一种可能的实现方式,所述第一服务器通过外网从所述第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及第一版本信息之后,还包括:
所述第一服务器若确定所述第一软件模块与第二软件模块为依赖关系;
则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;
所述第一服务器将第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器获取所述内网客户端的第三软件模块的发布请求;
所述第一服务器在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器在外网查找所述第一软件模块是否出现更新;
所述第一服务器若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
所述第一服务器向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,所述方法还包括:
所述第一服务器若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
所述第一服务器通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
一方面,本发明实施例提供了一种服务器,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述软件模块的管理方法的步骤。
一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述软件模块的管理方法的步骤。
另一方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述软件模块的管理方法的步骤。
本发明实施例中,内网客户端确定待下载软件模块后,向第一服务器发送软件模块下载请求,第一服务器根据该下载地址从第二服务器中获取待下载软件模块对应的软件模块,并根据软件模块生成软件模块对应的内网的版本信息和下载地址。内网客户端接收第一服务器根据软件模块下载请求中的待下载软件模块的标识返回的版本信息及下载地址,根据软件模块从第一服务器中下载软件模块。如此,由于第一服务器和内网客户端部署于同一内网中,第一服务器和第二服务器通过外网连接,保证了第一服务器可以预先获取第二服务器上的软件模块。因此,针对待下载软件模块,内网客户端可根据第一服务器提供的下载地址,进而根据该下载地址成功访问并验证该软件模块后,从第一服务器中下载该待下载软件模块,从而实现了软件模块的快速下载的同时,保证了企业测试时发布软件模块外网不可见的需求,提高了软件模块的管理效率和安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的软件模块的管理方法所适用的***架构图;
图2为本发明实施例提供的一种软件模块的管理方法所对应的流程示意图;
图3为本发明实施例提供的一种软件模块的管理装置的结构示意图;
图4为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例,仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例做进一步详细描述。
NPM(Node.js package manager):专门用于管理javascript(起初主要是用于node js相关的软件模块管理,现主要用于管理javascript语言相关的软件模块)模块的管理工具,由客户端和服务器两部分功能组成。
图1为本发明实施例提供的软件模块的管理方法所适用的***架构图,如图1所示, 软件模块管理***中包括第一服务器101、第二服务器102、内网客户端103(可以为安装有软件模块管理程序的PC端或智能手机),以及相关的项目管理人员104和测试人员105。第一服务器可以使用linux***服务器(如centos7),并配置有NODE JS环境。本发明需要在服务器上部署WEB检索服务和REGISTRY存储服务两部分。其管理的软件模块可以为node.js软件模块;其中,第一服务器101、内网客户端102部署于内网中,第二服务器102部署于外网中,第一服务器101可以通过代理服务器与第二服务器102进行通信。内网客户端103可通过无线网络访问上述第一服务器101,并为安装该内网客户端的终端用户提供软件模块的展示、上传、下载、安装等服务。内网客户端103可以通过第一服务器101,获得第二服务器102上的资源。
本发明实施例中,所述软件模块可以通过开发人员电脑的终端软件安装在指定位置,电脑***包括Windows、Mac、Linux,终端软件包括但不限于cmd、git bash、terminal。对于不同操作***的智能终端来说,其可安装的软件模块的类型是不同的,因而,在进行应用程序开发时,开发人员需针对操作***的类型选择匹配的软件模块。
基于国内开发者访问国外NPM资源速度上存在的问题,本发明实施例提供一种软件管理方法,包括:
步骤一、第一服务器通过网络代理服务器,从NPM REGISTYR服务器获取软件模块的资源;
具体的,第一服务器可以为仓库服务器,用于存储NPM REGISTYR服务器上的软件模块的资源;具体的获取过程,可以为设置定时器,进行定时获取NPM REGISTYR服务器上的软件模块的资源。
步骤二、用户通过客户端执行安装软件模块的命令,以使存储在第一服务器的软件模块资源安装到客户端本地的项目中。
由于第一服务器部署在国内,因此,客户端在下载对应的软件模块时,可以达到很高的下载速度,提升下载效率。
为进一步提高下载效率,节省第一服务器的存储空间,一种可能的实现方式,可以指定将目前排名百分比靠前的软件模块,通过代理服务器同步到第一服务器中。
上述实施例解决了国内用户访问官方NPM速度的问题,但是,上述软件模块的管理方案都存在着一个问题:软件模块的分发过程必须依赖外网环境。在NPM官方注册的开发者,可以获得NPM服务端发布自研软件模块的权限,在NPM内网客户端通过执行指定命令即可发布,模块发布之后,其他开发者可以通过内网客户端执行对应的命令安装已经发布的软件模块。但这种形式只是适用已发布上线的生产版本。对于IT企业来说,内部使用的软件模块通常都是保密的,为了保证内部软件模块安全性,软件模块的发布和使用需要局限在企业内网内部,因此无法使用第三方托管平台。
基于上述问题,可以在第一服务器中部署一台可提供代理服务的代理服务器,如VPN;当然,也可以单独进行部署,在此不做限定。关联到第一服务器,并修改代理服务器的相关配置参数,以完成内网中代理服务的搭建。代理服务搭建完成后,第一服务器可通过其代理服务器从外界获取软件模块的资源。
例如,第一服务器可以为centos 7的服务器(配置有node.js环境,所有服务器程序都是NODEJS软件模块,服务由WEB和REGISTRY两部分组成)。
第一服务器中的服务程序基于KOA(next generation web framework for node.js):NODE  JS开发框架,进行二次开发,以适应NODE JS软件模块的开发需求。具体的,可以通过curl命令下载nodejs对应的资源文件。具体的,可以为:curl-sL https://rpm.nodesource.com/setup_10.x|sudo bash-。第一服务器可以使用yum命令安装下载的软件模块的资源,具体的命令可以为sudo yum install nodejs。第一服务器可以使用node-version命令校验安装。
基于上述***架构,如图2所示,本发明实施例提供一种软件模块的管理方法,包括:
步骤201:第一服务器获取内网客户端发送的第一软件模块的下载请求;
步骤202:第一服务器若确定所述第一服务器未存储有所述第一软件模块,则通过外网从所述第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
具体的,可以由tunnel-agent模块实现的代理服务器的代理功能,通过外网从所述第二服务器,将第一软件模块的资源文件同步并存储到第一服务器的存储空间中。
进一步的,若第一服务器确定本地存储有第一软件模块,则执行步骤203;
步骤203:第一服务器向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址;
步骤204:内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
本发明实施例中,内网客户端确定待下载软件模块后,向第一服务器发送软件模块下载请求,第一服务器根据该下载地址从第二服务器中获取待下载软件模块对应的软件模块,并根据软件模块生成软件模块对应的内网的版本信息和下载地址。内网客户端接收第一服务器根据软件模块下载请求中的待下载软件模块的标识返回的版本信息及下载地址,根据软件模块从第一服务器中下载软件模块。如此,由于第一服务器和内网客户端部署于同一内网中,第一服务器和第二服务器通过外网连接,保证了第一服务器可以预先获取第二服务器上的软件模块。因此,针对待下载软件模块,内网客户端可根据第一服务器提供的下载地址,进而根据该下载地址成功访问并验证该软件模块后,从第一服务器中下载该待下载软件模块,从而实现了软件模块的快速下载的同时,保证了企业测试时发布软件模块外网不可见的需求。
一种可能的实现方式,所述第一服务器获取内网客户端发送的软件模块的下载请求之前,还包括:
所述第一服务器获取所述内网客户端发送的所述第一软件模块的查询请求;
所述第一服务器根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
所述第一服务器向所述内网客户端返回所述第一软件模块的查询结果。
具体来说,软件模块以及软件模块的相关信息都可以存储在第一服务器上,内网客户端通过访问第一服务器,可获取第一服务器上存储的所有软件模块,以及软件模块的相关信息等,并进行展示。
本发明实施例中,软件模块的相关信息包括软件模块本身具有的版本信息,以及项目管理人员在发布该软件模块时为该软件模块添加的项目管理信息。其中,版本信息包括软件模块的应用名称、应用包名、版本号等信息,项目管理信息可以用于测试人员在成功下载软件模块后,获知项目管理人员对该软件模块的测试工作的具体要求。
因而,用户浏览内网客户端展示的各软件模块,并从中选择要下载的软件模块。随后,内网客户端确定出待下载软件模块后,向第一服务器发送软件模块下载请求,该软件模块下载请求中携带用户选择的待下载软件模块的标识。
举例来说,查询结果可以为第一软件模块不存在,也可以包括第一软件模块的所有版本。
在查询结果为第一软件模块不存在的情况下,用户可以手动发送第一软件模块的下载请求,通过第一服务器获取对应的软件模块,这样可以按需同步,节省服务器存储空间的压力。
在查询结果为第一软件模块的版本为多个时,可以按需选择,根据需要下载的版本,生成下载请求,以使第一服务器通过第二服务器获取所述第一软件模块的对应版本的资源。
当然,还可以设置第一服务器主动下载所述第一软件模块,并存储第一软件模块的最新版本的资源。
其中,第一服务器可以设置定时器,在预定时间,进行统一下载,也可以是根据用户发送的下载请求进行获取。在通过外网从第二服务器下载资源的同时,也需要更新第一服务器的存储的软件模块的版本信息及下载地址,以保证用户可以正确的检索到对应的软件模块。
针对获取最新版本的资源,可以包括:
步骤一、第一服务器在外网查找所述第一软件模块是否出现更新;
步骤二、第一服务器若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
步骤三、第一服务器向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,内网客户端在每次执行对应的软件模块时,都可以检查软件模块是否需要升级,同时内网客户端也可以设置默认向第二服务器发起检查更新的请求,并设置请求超时时间。请求超时时间可以为3分钟。
针对本发明实施例中,内网客户端无法向第二服务器直接发送检查更新的请求,因此,导致内网客户端在开启软件模块时,需要等待超时,基于上述问题,一种可能的实现方式,在NPM更新文件中设置手动选择更新;例如,在客户端的~/.config/configstore/update-notifier-npm.json文件中增加"optOut":true;或者,直接设置不自动更新。例如,设置机器环境变量:NO_UPDATE_NOTIFIER=1。
另外,由于内网客户端不会频繁升级,所以可以设置内网客户端在固定时间向第一服务器发送更新请求;该更新请求可以为更新客户端的更新请求,也可以为更新软件模块的更新请求,在此不做限定。若确定有新的版本,则向客户端发送更新消息,提示用户更新,并且把这次检查更新的时间缓存到本地磁盘中,内网客户端在其他运行的时间都不需要再发送更新请求。
对于需要在本地机器上使用外网动态编译软件资源的模块,例如node-sass模块的安装,需要额外的资源动态编译,而且每个平台需要下载的资源都有差异,由于第一服务器与内网客户端是部署在代理服务器之后的,内网客户端发送的外网资源的获取请求中所请求的路径为外网地址,可能会被第一服务器拒绝连接。
基于上述问题,一种可能的实现方式,所述方法还包括:
步骤一、第一服务器获取所述内网客户端发送的所述第一软件模块的动态编译请求;
步骤二、第一服务器获取所述第一软件模块的动态编译资源在外网的第一访问地址;
步骤三、第一服务器将所述第一访问地址映射为内网的第二访问地址;
步骤四、第一服务器将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
在具体实施过程中,可以通过第一访问地址,生成一个镜像地址,该镜像地址为内网可以访问的第二访问地址;一种可能的实现方式,第一服务器存储第一访问地址与第二访问地址的映射关系,内网客户端通过向第一服务器发送第二访问地址的访问请求;第一服务器根据第一访问地址与第二访问地址的映射关系,确定第一访问地址,进而通过外网向所述第一访问地址发送获取动态编译所需的资源。第一服务器通过第一访问地址获取动态编译所需的资源后,向所述内网客户端返回所述动态编译所需的资源。
例如,可以通过第一服务器中的代理服务器透传动态编译请求中的镜像资源,在内网客户端发送动态编译请求时,内网客户端可以通过第一服务器生成的第二访问地址(代理镜像)下载对应的动态编译的资源。
例如,动态编译请求的资源win32-x64-64_binding.node,原始的资源请求路径是:http://npm.taobao.org/mirrors/node-sass/v4.11.0/win32-x64-64_binding.node;这个URL请求需要通过代理服务器转发至外网,以使内网客户端就能正常访问到对应的资源。
一种可能的实现方式,所述第一服务器通过外网从所述第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及第一版本信息之后,还包括:
步骤一、第一服务器若确定所述第一软件模块与第二软件模块为依赖关系,则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;
步骤二、第一服务器将第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
为加快安装速度,还可以预先获取第一软件模块与其他软件模块的依赖关系,根据该依赖关系,将依赖的第二软件模块下载至客户端。当然,也可以根据客户端的需要,在获取所述第二软件模块在内网的第二下载地址及第二版本信息后,若确定客户端中已存在第二软件模块,则可以选择不下载第二软件模块,以提高安装效率。该依赖关系可以为预先设置的,也可以为根据服务器下载软件模块的历史记录确定的,在此不做限定。
当然,也可以根据安装的实际情况,确定与第一软件模块依赖的第二软件模块,进而客户端通知第一服务器,第二软件模块为第一软件模块依赖的软件模块。
举例来说,第一软件模块依赖其他软件模块提供的小功能,例如软件模块A可能依赖于软件模块B、软件模块C、软件模块D,因此,第一服务器在安装过程中,确定软件模块A的依赖关系,并根据依赖关系,下载对应的软件模块。具体的,可以在安装软件模块A时,确定软件模块B、软件模块C,则返回软件模块B、软件模块C,在安装过程结束后,确定所述下载请求的返回过程结束。
由于第二服务器的新老资源的更换,例如,第一软件模块中的第一资源的URL链接已经失效,但在第二软件模块中并没有更新,为保证第二软件模块的资源下载成功,可以在同步功能中将待更新的URL资源替换为新的资源的URL链接,一种可能的实现方式, 所述方法还包括:
步骤一、第一服务器若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
步骤二、第一服务器通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
针对内网客户端发布软件模块的场景,一种可能的实现方式,包括:
所述第一服务器获取所述内网客户端的第三软件模块的发布请求;
所述第一服务器在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
具体的,用户通过指定命令安装对应的内网客户端,在内网客户端通过登录模块进行登录以及注册,用户在第一服务器注册后,在需要发布到行内的模块项目根目录中执行发布请求,该发布请求可以上传Android、iOS等类型的软件模块,客户端可以读取软件模块的package.json的版本和名字等信息,并且校验相关的测试程序,校验成功后,第一服务器会为该软件模块生成下载该软件模块的资源,完成发布至第一服务器。内网的其他用户可以通过第一服务器,获取到第三软件模块的发布消息,并可以直接下载安装所述第三软件模块。
需要说明的是,第三软件模块可以通过将软件模块的命名于内网的域中,以区分内网发布的第三软件模块和第一软件模块。
基于同样的发明构思,本发明实施例还提供一种软件模块的管理装置,图3为本发明实施提供的一种的结构示意图,如图3所示,所述软件模块的管理装置包括:
收发单元301,用于获取内网客户端发送的第一软件模块的下载请求;
处理单元302,用于若确定所述第一服务器未存储有所述第一软件模块,则通过外网从所述第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
收发单元301,用于向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
一种可能的实现方式,收发单元301,还用于获取所述内网客户端发送的所述第一软件模块的查询请求;
处理单元302,用于根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
收发单元301,还用于向所述内网客户端返回所述第一软件模块的查询结果。
一种可能的实现方式,收发单元301,还用于获取所述内网客户端发送的所述第一软件模块的动态编译请求;获取所述第一软件模块的动态编译资源在外网的第一访问地址;
处理单元302,用于将所述第一访问地址映射为内网的第二访问地址;
收发单元301,还用于将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
一种可能的实现方式,处理单元302,用于若确定所述第一软件模块与第二软件模块 为依赖关系,则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;将所述第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,收发单元301,还用于获取所述内网客户端的第三软件模块的发布请求;
处理单元302,还用于在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,处理单元302,还用于在外网查找所述第一软件模块是否出现更新;若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
收发单元301,还用于向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
一种可能的实现方式,处理单元302,还用于若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
收发单元301,还用于通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
基于相同的发明构思,如图4所示,本发明实施例中,一种服务器的结构示意图。
本发明实施例提供了一种服务器,其中,该电子设备可以为服务器或其它计算机装置等,该电子设备可以包括处理器710(Center Processing Unit,CPU)、存储器720、输入设备730和输出设备740等,输入设备730可以包括键盘、鼠标、触摸屏等,输出设备740可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器720可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器710提供存储器720中存储的程序指令和数据。在本发明实施例中,存储器720可以用于存储上述实施例中的软件模块的管理方法的程序。
处理器710通过调用存储器720存储的程序指令,处理器710用于按照获得的程序指令执行:
若确定所述第一服务器未存储有所述第一软件模块,则通过外网从所述第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
一种可能的实现方式,处理器710,还用于根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块。
一种可能的实现方式,处理器710,还用于将所述第一访问地址映射为内网的第二访问地址;
一种可能的实现方式,处理器710,还用于若确定所述第一软件模块与第二软件模块为依赖关系,则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;将所述第二软件模块在内网的第二下载地址 及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
一种可能的实现方式,处理器710,还用于在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
一种可能的实现方式,处理器710,还用于在外网查找所述第一软件模块是否出现更新;若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址。
一种可能的实现方式,处理器710,还用于若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址。
本发明实施例中,内网客户端确定待下载软件模块后,向第一服务器发送软件模块下载请求,第一服务器根据该下载地址从第二服务器中获取待下载软件模块对应的软件模块,并根据软件模块生成软件模块对应的内网的版本信息和下载地址。内网客户端接收第一服务器根据软件模块下载请求中的待下载软件模块的标识返回的版本信息及下载地址,根据软件模块从第一服务器中下载软件模块。如此,由于第一服务器和内网客户端部署于同一内网中,第一服务器和第二服务器通过外网连接,保证了第一服务器可以预先获取第二服务器上的软件模块。因此,针对待下载软件模块,内网客户端可根据第一服务器提供的下载地址,进而根据该下载地址成功访问并验证该软件模块后,从第一服务器中下载该待下载软件模块,从而实现了软件模块的快速下载的同时,保证了企业测试时发布软件模块外网不可见的需求。
基于同样的发明构思,本发明实施例提供了一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述软件模块的管理方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
基于同样的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述软件模块的管理方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或两个以上其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用 于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

  1. 一种软件模块的管理方法,其特征在于,所述方法包括:
    第一服务器获取内网客户端发送的第一软件模块的下载请求;
    所述第一服务器若确定所述第一服务器未存储有所述第一软件模块,则通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
    所述第一服务器向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
  2. 根据权利要求1所述的方法,其特征在于,所述第一服务器获取内网客户端发送的软件模块的下载请求之前,还包括:
    所述第一服务器获取所述内网客户端发送的所述第一软件模块的查询请求;
    所述第一服务器根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
    所述第一服务器向所述内网客户端返回所述第一软件模块的查询结果。
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述第一服务器获取所述内网客户端发送的所述第一软件模块的动态编译请求;
    所述第一服务器获取所述第一软件模块的动态编译资源在外网的第一访问地址;
    所述第一服务器将所述第一访问地址映射为内网的第二访问地址;
    所述第一服务器将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
  4. 根据权利要求1所述的方法,其特征在于,所述第一服务器通过外网从第二服务器获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及第一版本信息之后,还包括:
    所述第一服务器若确定所述第一软件模块与第二软件模块为依赖关系;
    则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;
    所述第一服务器将所述第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述第一服务器获取所述内网客户端的第三软件模块的发布请求;
    所述第一服务器在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
  6. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述第一服务器在外网查找所述第一软件模块是否出现更新;
    所述第一服务器若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
    所述第一服务器向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
    所述第一服务器若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
    所述第一服务器通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
  8. 一种软件模块的管理装置,其特征在于,所述装置包括:
    收发单元,用于获取内网客户端发送的第一软件模块的下载请求;
    处理单元,用于若确定所述第一服务器未存储有所述第一软件模块,则通过外网向第二服务器发送所述第一软件模块的下载请求;获取所述第一软件模块,并生成所述第一软件模块在内网的第一下载地址及所述第一软件模块的第一版本信息;
    所述收发单元,还用于向所述内网客户端返回所述第一软件模块的第一版本信息及所述第一下载地址,以使所述内网客户端根据所述第一软件模块的第一版本信息校验所述第一软件模块的版本,并在校验成功后,根据所述第一下载地址从所述第一服务器中下载所述第一软件模块。
  9. 根据权利要求8所述的装置,其特征在于,所述收发单元,还用于获取所述内网客户端发送的所述第一软件模块的查询请求;
    所述处理单元,还用于根据存储的软件模块的版本信息,确认是否存储有所述第一软件模块;
    所述收发单元,还用于向所述内网客户端返回所述第一软件模块的查询结果。
  10. 根据权利要求8所述的装置,其特征在于,所述收发单元,还用于获取所述内网客户端发送的所述第一软件模块的动态编译请求;获取所述第一软件模块的动态编译资源在外网的第一访问地址;
    所述处理单元,还用于将所述第一访问地址映射为内网的第二访问地址;
    所述收发单元,还用于将所述第二访问地址返回至所述内网客户端,以使所述内网客户端根据所述第二访问地址动态编译所述第一软件模块。
  11. 根据权利要求8所述的装置,其特征在于,所述处理单元,还用于若确定所述第一软件模块与第二软件模块为依赖关系,则通过外网从所述第二服务器下载所述第二软件模块,并生成所述第二软件模块在内网的第二下载地址及第二版本信息;将所述第二软件模块在内网的第二下载地址及第二版本信息发送至所述内网客户端,以使所述内网客户端根据所述第二下载地址从第一服务器中下载所述第二软件模块。
  12. 根据权利要求8所述的装置,其特征在于,所述收发单元,还用于获取所述内网客户端的第三软件模块的发布请求;
    所述处理单元,还用于在所述第三软件模块的第三版本信息校验成功后,将所述第三软件模块存储至所述第一服务器,并生成所述第三软件模块在内网的第三下载地址,以使第二内网客户端根据所述第三下载地址下载所述第三软件模块。
  13. 根据权利要求8所述的装置,其特征在于,所述处理单元,还用于在外网查找所述第一软件模块是否出现更新;若确定所述第一软件模块存在更新,则下载更新后的所述第一软件模块,并更新所述第一软件模块的第一版本信息和所述第一下载地址;
    所述收发单元,还用于向所述内网客户端发送所述第一软件模块的更新消息,以使所述内网客户端根据更新后的第一下载地址获取更新后的第一软件模块。
  14. 根据权利要求8-12任一所述的装置,其特征在于,所述处理单元,还用于若确定所述第一软件模块中需要调用的资源的URL地址更新,则更新所述第一服务器中存储的所述第一软件模块中需要调用的资源的URL地址;
    所述收发单元,还用于通知所述内网客户端,更新所述第一软件模块中需要调用的资源的URL地址。
  15. 一种服务器,其特征在于,包括:
    存储器,用于存储程序指令;
    处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至7中任一项所述的方法。
  16. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1至7中任一项所述的方法。
  17. 一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至7中任一项所述方法的步骤。
PCT/CN2020/086877 2019-06-14 2020-04-24 一种软件模块的管理方法、装置及服务器 WO2020248727A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910515520.9 2019-06-14
CN201910515520.9A CN110262821A (zh) 2019-06-14 2019-06-14 一种软件模块的管理方法、装置及服务器

Publications (1)

Publication Number Publication Date
WO2020248727A1 true WO2020248727A1 (zh) 2020-12-17

Family

ID=67918276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/086877 WO2020248727A1 (zh) 2019-06-14 2020-04-24 一种软件模块的管理方法、装置及服务器

Country Status (2)

Country Link
CN (1) CN110262821A (zh)
WO (1) WO2020248727A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262821A (zh) * 2019-06-14 2019-09-20 深圳前海微众银行股份有限公司 一种软件模块的管理方法、装置及服务器
CN111857781B (zh) * 2020-07-23 2022-06-10 平安普惠企业管理有限公司 资源更新方法及相关设备
CN114679410B (zh) * 2020-12-24 2024-04-12 奇安信网神信息技术(北京)股份有限公司 降低对外网资源占用的方法、装置、电子设备和存储介质
CN112732283B (zh) * 2021-01-21 2024-06-11 深圳市位元领航科技有限公司 一种客户端-服务器模式的实现方法、客户端以及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647844A (zh) * 2013-12-20 2014-03-19 北京奇虎科技有限公司 一种内网中程序升级的方法及装置
CN107896244A (zh) * 2017-11-07 2018-04-10 ***股份有限公司 一种版本文件的分发方法、客户端及服务器
CN108595221A (zh) * 2018-04-26 2018-09-28 Oppo广东移动通信有限公司 PaaS平台的插件加载方法、装置、服务器及存储介质
CN109495433A (zh) * 2017-09-13 2019-03-19 腾讯科技(深圳)有限公司 数据下载方法和装置、存储介质及电子装置
CN110262821A (zh) * 2019-06-14 2019-09-20 深圳前海微众银行股份有限公司 一种软件模块的管理方法、装置及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647844A (zh) * 2013-12-20 2014-03-19 北京奇虎科技有限公司 一种内网中程序升级的方法及装置
CN109495433A (zh) * 2017-09-13 2019-03-19 腾讯科技(深圳)有限公司 数据下载方法和装置、存储介质及电子装置
CN107896244A (zh) * 2017-11-07 2018-04-10 ***股份有限公司 一种版本文件的分发方法、客户端及服务器
CN108595221A (zh) * 2018-04-26 2018-09-28 Oppo广东移动通信有限公司 PaaS平台的插件加载方法、装置、服务器及存储介质
CN110262821A (zh) * 2019-06-14 2019-09-20 深圳前海微众银行股份有限公司 一种软件模块的管理方法、装置及服务器

Also Published As

Publication number Publication date
CN110262821A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
WO2020248727A1 (zh) 一种软件模块的管理方法、装置及服务器
US11048620B2 (en) Distributed system test device
RU2673403C2 (ru) Способ доступа к веб-узлам, устройство и система веб-узла
US8775577B1 (en) System and method for configuration management service
US11762763B2 (en) Orchestration for automated performance testing
WO2017034789A1 (en) Application service architecture
US10592312B2 (en) Message oriented middleware with integrated rules engine
US8311794B2 (en) Testing executable logic
TW201814509A (zh) 實現網路頁面與本體應用通信的方法、裝置和電子設備
US11196728B1 (en) Caching login sessions to access a software testing environment
US10803166B1 (en) Automated determination of application privileges
US9513762B1 (en) Static content updates
US20230131898A1 (en) Techniques for building and validating database software in a shared management environment
CN111831567B (zh) 应用的测试环境配置方法、装置、***和介质
US11966880B2 (en) Policies and controls for building and validating database software in a shared management environment
CN113485927A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN107239475B (zh) 一种调用文件方法及装置
CN112491940B (zh) 代理服务器的请求转发方法及装置、存储介质及电子设备
US9262151B2 (en) Methods and systems for automatic configuration of algorithms in a system based on self aware algorithms
US8615751B2 (en) Seeding product information
US20230125904A1 (en) Recommendation system for building and validating database software in a shared management environment
US11757976B2 (en) Unified application management for heterogeneous application delivery
US11556608B2 (en) Caching for single page web applications
US11184431B2 (en) System and control method
WO2021223544A1 (zh) 一种启动应用的方法和相关装置

Legal Events

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

Ref document number: 20822734

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20822734

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 22/03/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20822734

Country of ref document: EP

Kind code of ref document: A1