CN107896244B - Version file distribution method, client and server - Google Patents

Version file distribution method, client and server Download PDF

Info

Publication number
CN107896244B
CN107896244B CN201711084838.3A CN201711084838A CN107896244B CN 107896244 B CN107896244 B CN 107896244B CN 201711084838 A CN201711084838 A CN 201711084838A CN 107896244 B CN107896244 B CN 107896244B
Authority
CN
China
Prior art keywords
version
file
server
downloaded
client
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201711084838.3A
Other languages
Chinese (zh)
Other versions
CN107896244A (en
Inventor
李晨
吕苏
欧鹏
翟威
陆寄豪
戴康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201711084838.3A priority Critical patent/CN107896244B/en
Publication of CN107896244A publication Critical patent/CN107896244A/en
Application granted granted Critical
Publication of CN107896244B publication Critical patent/CN107896244B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

The embodiment of the invention discloses a distribution method of version files, a client and a server, comprising the following steps: the version client determines a version file to be downloaded and sends a file downloading request to the first server; the version client receives the version information returned by the first server and determines the corresponding download address of the plist file; and acquiring the plist file from the second server according to the download address, and downloading the version file from the first server after the plist file is successfully verified. Therefore, the first server and the second server are deployed in the same intranet, and the second server has a legal certificate, so that for an ipa type version file to be downloaded, the version client can obtain a download address of a corresponding plist file according to version information and further access the plist file, automatic distribution of the ipa type version file is achieved, and distribution and testing efficiency of the version file is improved.

Description

Version file distribution method, client and server
Technical Field
The invention relates to the technical field of computer internet, in particular to a distribution method of version files, a client and a server.
Background
With the continuous development of internet technology, IT enterprises have developed a wide variety of application programs to meet the needs of people in many aspects such as life and work. For IT enterprises, after developing an application, IT needs to be continuously optimized and upgraded for iteration, so an application usually has multiple release versions.
Before a version of an application is released, a tester needs to perform a comprehensive test on the version of the application, which requires development or project managers to distribute a version file to be tested to the tester. The version file management and distribution schemes commonly used in the industry mainly comprise two types, one type is an application store like pea pods and Appstore, but the version is only suitable for the production version published on line and is not suitable for managing the version files suitable for the internal test of the enterprise; and another third-party hosting platform for providing client uploading and distributing services, such as domestic famous dandelion, can upload version files of Android and iOS applications after a user registers on the platform, then the platform can generate a link or a two-dimensional code for the applications, and an internal test user can click the link or scan the two-dimensional code to download the applications. In addition, aiming at version distribution of the iOS application, a Testflight tool provided by an apple official can be used, a developer uploads the application to iTunes Connect, a mailbox account number of a tester is configured, the tester opens the Testflight application on test equipment, a mail issued by the version can be received after logging in through a mailbox, and the downloaded page can be accessed by clicking the mail.
A common problem with the above-described version file distribution schemes is that the distribution process must rely on an extranet environment. For IT enterprises, version files used by internal testing are usually kept secret, and in order to ensure the safety of the internal testing version files, distribution needs to be limited in an intranet of the enterprise, so that a third party hosting platform similar to dandelion or a Testflight tool of apple cannot be used.
In an intranet environment of an enterprise, the distribution of the version files can only adopt a traditional mode that a project management team uploads the released version files to an FTP server of the enterprise and informs a tester of released version information, and the tester uses a PC to access the FTP server according to the version information released by the project management team and downloads the version files corresponding to the version information. For iOS applications, the tester needs to install iTunes or itols tools on the PC, through which the version files are installed into the test equipment. Therefore, the process is very complicated, and when a tester needs to test a new version file or perform high-low version compatibility test, the process needs to be repeated, so that the efficiency of version distribution and test is low.
In summary, there is a need for a method for distributing version files, so as to solve the technical problem in the prior art that the version distribution process is too cumbersome, resulting in lower efficiency of version distribution and testing.
Disclosure of Invention
The invention provides a client version distribution method, a client and a server, which are used for solving the technical problem that the version distribution and test efficiency is low due to the fact that the version distribution process in the prior art is too complicated.
The method for distributing the version file provided by the embodiment of the invention comprises the following steps:
the method comprises the steps that after a version client determines to-be-downloaded version files in displayed version files, a file downloading request is sent to a first server; the version file to be downloaded is an Apple application program ipa file, and the file downloading request carries an identifier of the version file to be downloaded;
the version client receives the version information of the file to be downloaded, which is returned by the first server according to the identifier, and determines the download address of the attribute list plist file corresponding to the version file to be downloaded according to the version information; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
and the version client acquires the plist file corresponding to the version file to be downloaded from the second server according to the download address, and after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded, sends a file acquisition request to the first server according to the plist file, and downloads the version file to be downloaded from the first server.
Optionally, before the version client determines the version file to be downloaded in the displayed version files, the method further includes:
and the version client acquires the type of the operating system of the equipment where the version client is positioned and displays each version file matched with the type of the operating system.
Optionally, the version client also displays the project management information of each version file;
the project management information of any version file at least comprises one or more of the following items:
and the business system and the module to which the file of any version belongs, the release time, the test period, the test requirement and the detailed description.
Another version file distribution method provided in an embodiment of the present invention includes:
the method comprises the steps that a first server receives a file downloading request sent by a version client, determines version information of a version file to be downloaded according to an identifier of the version file to be downloaded in the file downloading request and sends the version information to the version client; the version information of the version file to be downloaded is used for enabling the version client to determine a download address of a plist file corresponding to the version file to be downloaded according to the version information when the version file to be downloaded is determined to be an ipa file;
the first server receives a file acquisition request sent by the version client, wherein the file acquisition request is sent after the version client verifies that version information in a plist file is consistent with version information of a plist file corresponding to the version file to be downloaded according to a download address of the plist file corresponding to the version file to be downloaded, the file acquisition request comprises a download address of the version file to be downloaded, and the download address of the version file to be downloaded is acquired by the version client from the plist file corresponding to the version file to be downloaded;
and the first server sends the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
Optionally, the method further comprises:
the first server receives a version release request, wherein the version release request comprises a version file to be released and project management information of the version file to be released;
the first server analyzes the version file to be published according to the type of the version file to be published, and obtains version information of the version file to be published;
and the first server correspondingly stores the version file to be published, the version information of the version file to be published and the project management information.
Optionally, before the first server correspondingly stores the version file to be published, the version information of the version file to be published, and the project management information, the method further includes:
if the first server determines that the version file to be published is an ipa file, sending a plist file generation request to a second server, wherein the plist file generation request comprises version information of the version file to be published;
and the first server receives a confirmation message sent by the second server, wherein the confirmation message marks that the second server successfully generates and stores the plist file corresponding to the version file to be released according to the version information.
Optionally, the first server, the version client, and the second server agree in advance a manner of determining a download address of a plist file corresponding to the version file to be published according to the version information of the version file to be published.
Optionally, the version information of the version file to be published at least includes a storage address, an application package name, an application name and a version number of the version file to be published;
the project management information of the version file to be published at least comprises one or more of the following items:
and the business system and the module to which the version file to be released belongs, the release time, the test period, the test requirement and the detailed description.
Based on the same inventive concept, the invention provides a client, which comprises:
the receiving and sending module is used for sending a file downloading request to the first server after determining the version files to be downloaded in the displayed version files; the version file to be downloaded is an Apple application program ipa file, and the file downloading request carries an identifier of the version file to be downloaded;
the determining module is used for receiving the version information of the file to be downloaded, returned by the first server according to the identifier, and determining a downloading address of an attribute list plist file corresponding to the version file to be downloaded according to the version information; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
and the downloading module is used for acquiring the plist file corresponding to the version file to be downloaded from the second server according to the downloading address, and downloading the version file to be downloaded from the first server according to the plist file after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded.
Optionally, the client further includes an obtaining module, configured to obtain a type of an operating system of the device where the version client is located, and display each version file matched with the type of the operating system.
Optionally, the client also displays project management information of files of various versions;
the project management information of any version file at least comprises one or more of the following items:
and the business system and the module to which the file of any version belongs, the release time, the test period, the test requirement and the detailed description.
Based on the same inventive concept, the invention provides a server, comprising:
the determining module is used for receiving a file downloading request sent by a version client, determining the version information of the version file to be downloaded according to the identifier of the version file to be downloaded in the file downloading request and sending the version information to the version client; the version information of the version file to be downloaded is used for enabling the version client to determine a download address of a plist file corresponding to the version file to be downloaded according to the version information when the version file to be downloaded is determined to be an ipa file;
the receiving and sending module is used for receiving a file obtaining request sent by the version client, wherein the file obtaining request is sent after the version client verifies that the version information in the plist file is consistent with the version information of the plist file to be downloaded according to the download address of the plist file corresponding to the version file to be downloaded, the file obtaining request comprises the download address of the version file to be downloaded, and the download address of the version file to be downloaded is obtained by the version client from the plist file corresponding to the version file to be downloaded; and the number of the first and second groups,
and the version client is used for sending the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
Optionally, the transceiver module is further configured to receive a version release request, where the version release request includes a version file to be released and item management information of the version file to be released;
the server also comprises an acquisition module which is used for analyzing the version file to be published according to the type of the version file to be published and acquiring the version information of the version file to be published;
the server also comprises a processing module which is used for correspondingly storing the version file to be published, the version information of the version file to be published and the project management information.
Optionally, the processing module is further configured to send a plist file generation request to a second server if it is determined that the version file to be published is an ipa file, where the plist file generation request includes version information of the version file to be published;
and the transceiver module is further configured to receive a confirmation message sent by the second server, where the confirmation message identifies that the second server has successfully generated and stored the plist file corresponding to the version file to be released according to the version information.
Optionally, the server, the version client, and the second server agree in advance a manner of determining a download address of a plist file corresponding to the version file to be published according to the version information of the version file to be published.
Optionally, the version information of the version file to be published at least includes a storage address, an application package name, an application name and a version number of the version file to be published;
the project management information of the version file to be published at least comprises one or more of the following items:
and the business system and the module to which the version file to be released belongs, the release time, the test period, the test requirement and the detailed description.
Another embodiment of the present invention provides a server, which includes a memory and a processor, wherein the memory is used for storing program instructions, and the processor is used for calling the program instructions stored in the memory and executing any one of the above methods according to the obtained program.
Another embodiment of the present invention provides a computer storage medium having stored thereon computer-executable instructions for causing a computer to perform any one of the methods described above.
In the embodiment of the invention, after determining a version file to be downloaded in a displayed version file, a version client sends a file downloading request to a first server, wherein the version file to be downloaded is an ipa file, then the version client receives version information returned by the first server according to an identifier of the version file to be downloaded in the file downloading request, further determines a downloading address of a plist file corresponding to the version file to be downloaded according to the version information, the version client acquires the plist file corresponding to the version file to be downloaded from a second server according to the downloading address, and downloads the version file from the first server according to the plist file after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded. Therefore, the first server and the second server are deployed in the same intranet, and the second server has a legal certificate, so that for an ipa type version file to be downloaded, the version client can obtain a download address of a plist file corresponding to the version file to be downloaded and stored in the second server according to version information provided by the first server, and then download the version file to be downloaded from the first server after successfully accessing and verifying the plist file according to the download address, so that automatic distribution of the ipa type version file is realized, and the distribution and test efficiency of the version file is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a system architecture diagram to which the method for distributing version files according to the embodiment of the present invention is applied;
fig. 2 is a schematic flowchart corresponding to a method for distributing a version file according to an embodiment of the present invention;
fig. 3a is a schematic view of a page displayed in an Android-type version client according to an embodiment of the present invention;
FIG. 3b is a schematic diagram of a page displayed in an iOS-type version client provided by an embodiment of the present invention;
fig. 4 is a webpage code of a webpage to be displayed in Safari generated according to version information of an ipa type version file to be downloaded in the embodiment of the present invention;
FIG. 5 is a download prompt box of an ipa-type file to be downloaded shown after Safari verifies that a plist file is correct in the embodiment of the present invention;
fig. 6 is a schematic structural diagram of a client according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiments of the present invention will be described in further detail with reference to the drawings attached hereto.
Fig. 1 is a system architecture diagram applicable to the method for distributing a version file according to the embodiment of the present invention, as shown in fig. 1, the version distribution system includes a first server 101, a second server 102, a version client 103, and related project managers 104 and testers 105. The first server 101 and the second server 102 are deployed in an intranet, and the version client 103 can access the first server 101 and the second server 102 through a wireless network and provide services such as presentation, uploading, downloading, installation and the like of a version file for a terminal user who installs the version client.
In the embodiment of the invention, the version file is an installation package of an application program installed in the intelligent terminal, and the version file can be installed in various types of intelligent terminals, such as an intelligent mobile phone, a tablet computer and the like. Nowadays, the operating systems of the intelligent terminals are of various types, and typical operating systems of the intelligent terminals are android, iOS and the like. For intelligent terminals with different operating systems, types of installable version files are different, and therefore, when an application program is developed, developers need to develop version files matched with the operating systems of the intelligent terminals according to the types of the operating systems. The version file of the Android system is of an apk (Android package) type, and the version file of the iOS system is of an ipa (iPhone application) type. Here, the type of the version file may be identified with a suffix of the version file.
It should be particularly noted that, during the distribution process of the ipa type version file, limited by the iOS system, a plist (Property List) file corresponding to the version file is required to be stored on the HTTPS server, and the second server deployed in the intranet in the embodiment of the present invention is a server used to generate and store a plist file corresponding to the ipa type version file. In addition, the process of deploying the second server in the embodiment of the invention further comprises the step of setting up an HTTPS service for the second server, and automatic distribution of the ipa files in the version distribution system can be realized only after the HTTPS service is set up for the second server.
Specifically, the second server is installed with a regular Certificate, which is an SSL (Secure socket layer) Certificate obtained by applying a domain name purchased from a cloud server manufacturer (e.g., Tencent cloud, Alice cloud) to a regular CA (Certificate Authority) organization. After the SSL certificate is checked by a cloud server manufacturer, the construction of HTTPS service can be carried out by using the SSL certificate. The method specifically comprises the following steps:
deploying a proxy server capable of providing an HTTPS server in the version distribution system, such as Nginx; and downloading the SSL certificate to the second server locally, copying the certificate and the private key file of the corresponding proxy server in the SSL certificate to the second server, and modifying the relevant configuration parameters of the proxy server to complete the establishment of the HTTPS service in the intranet. And after the HTTPS service is built, the second server can provide the HTTPS service to the outside through the proxy server.
Fig. 2 shows a flowchart corresponding to a method for distributing a version file provided in an embodiment of the present invention, and as shown in fig. 2, the method includes:
step S201: the method comprises the steps that after a version client determines to-be-downloaded version files in displayed version files, a file downloading request is sent to a first server;
step S202: the method comprises the steps that a first server receives a file downloading request sent by a version client, determines version information of a version file to be downloaded according to an identifier of the version file to be downloaded in the file downloading request and sends the version information to the version client;
step S203: the version client receives the version information of the file to be downloaded, which is returned by the first server according to the identifier, and determines the download address of the attribute list plist file corresponding to the version file to be downloaded according to the version information;
step S204: the version client acquires a plist file corresponding to the version file to be downloaded from the second server according to the download address, and verifies whether version information in the plist file is consistent with version information of the version file to be downloaded;
step S205: after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded, the version client sends a file acquisition request to the first server according to the plist file, and downloads the version file to be downloaded from the first server;
step S206: the first server receives a file acquisition request sent by the version client;
step S207: and the first server sends the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
In the embodiment of the invention, after determining the version file to be downloaded in the displayed version files, the version client sends a file downloading request to a first server, wherein the version file to be downloaded is an ipa file; after receiving the file downloading request, the first server returns the version information of the version file to be downloaded to the version client according to the identifier of the version file to be downloaded included in the file downloading request; and after determining the download address of the plist file corresponding to the version file to be downloaded according to the version information, the version client acquires the plist file corresponding to the version file to be downloaded from the second server according to the download address, verifies whether the version information in the plist file is consistent with the version information of the version file to be downloaded, and if so, sends a file acquisition request to the first server according to the plist file and downloads the version file to be downloaded from the first server. Therefore, the first server and the second server are deployed in the same intranet, and the second server has a legal certificate, so that for an ipa type version file to be downloaded, the version client can obtain a download address of a plist file corresponding to the version file to be downloaded and stored in the second server according to version information provided by the first server, and then download the version file to be downloaded from the first server after successfully accessing and verifying the plist file according to the download address, so that automatic distribution of the ipa type version file is realized, and the distribution and test efficiency of the version file is improved.
Specifically, in step S201, the version file and the related information of the version file are both stored on the first server, and the version client can obtain and display all the version files stored on the first server, the related information of the version files, and the like by accessing the first server.
In the embodiment of the invention, the related information of the version file comprises version information of the version file and project management information added for the version file by project management personnel when the version file is released. The version information comprises information such as an application name, an application package name and a version number of the version file, the project management information comprises information such as a business system and a module, release time, a test period, a test requirement and detailed description of the version file, and the project management information is used for enabling a tester to know specific requirements of the project manager on test work of the version file after the version file is successfully downloaded.
Thus, the user browses the version files presented by the version client and selects the version file to be downloaded therefrom. And then, after the version client determines the version file to be downloaded, sending a file downloading request to the first server, wherein the file downloading request carries the identifier of the version file to be downloaded selected by the user.
In step S202, the first server receives a file download request sent by the version client, queries a database inside the first server according to the identifier of the version file to be downloaded in the file download request, determines the version information of the file to be downloaded, and sends the version information to the version client.
Specifically, if the version file to be downloaded selected by the user is an apk file, the server also determines the storage address of the version file to be downloaded and sends the storage address to the version client. In this case, the version client may download the version file to be downloaded from the first server according to the storage address of the file to be downloaded, and perform the subsequent installation steps.
And if the version file to be downloaded selected by the user is an ipa file, the server directly sends the version information of the file to be downloaded to the version client.
In step S203, for an ipa type version file to be downloaded, after the version client receives the version information of the version file to be downloaded sent by the first server, a download address of the plist file corresponding to the download version file may be determined according to the version information. In the embodiment of the present invention, a plist file corresponding to a version file is stored in a second server, where the plist file is generated by the second server according to version information of the version file and a storage address of the version file in a first server after the plist file corresponding to the version file is uploaded to the first server. Therefore, the download address of the version file to be downloaded determined by the version client in step S203 is specifically a download link pointing to the second server.
In the embodiment of the invention, the first server, the version client and the second server are agreed in advance with a mode of confirming the download address of the plist file corresponding to the version file according to the version information of the version file. Therefore, the first server does not need to send the download address of the plist corresponding to the version file to be downloaded to the version client, but only sends the version information of the version file to be downloaded to the version client, and the version client can determine the download address of the plist corresponding to the version file to be downloaded.
In step S204, after determining the download address of the plist file, the version client may obtain the corresponding plist file from the second server according to the download address, and verify whether the version information in the plist file is consistent with the version information of the version file to be downloaded. The version information specifically includes information such as an application name, an application package name, and a version number of the version file.
And if so, sending a file acquisition request to the first server according to the download address of the version file to be downloaded included in the plist file, and downloading the version file to be downloaded from the first server. If not, the verification is determined to be wrong, the acquired plist file is not matched with the version file to be downloaded, and the downloading process of the version file is finished.
In the embodiment of the invention, if the version client determines that any one or more of the application name, the application package name and the version number in the plist file are inconsistent with the application name, the application package name and the version number in the version information sent by the first server, the version information in the plist file is determined to be inconsistent with the version information sent by the first server, the obtained plist file is not matched with the version file to be downloaded, and the verification is wrong; and only when all the version information is consistent, confirming that the version information in the plist file is consistent with the version information sent by the first server, and allowing the version file to be downloaded after verification is passed.
In the embodiment of the present invention, the plist file stored in the second server is generated according to the version information of the version file corresponding to the plist file (i.e., the application name, the application package name, and the version number of the version file) and the storage address of the version file in the first server, so that the plist file corresponding to a certain version file includes the download address of the version file, and the download address is the storage address of the version file in the first server.
In step S206 and step S207, the first server receives the file obtaining request sent by the version client, and sends the version file to be downloaded to the version client according to the download address of the version file to be downloaded in the file obtaining request.
It should be noted that, in the embodiment of the present invention, before the step S201 is executed to display the versions of the file, the version client may further obtain a type of an operating system of the terminal device where the version client is located, and display the versions of the file matched with the type of the operating system. That is, if the version client is installed on the android device, the version client will only show the version files and related information of all the apk types stored in the first server, and if the version client is installed on the iOS device, the version client will only show the version files and related information of all the ipa types stored in the first server.
Therefore, the android device only provides the download of the apk type version file, namely if the version client is installed in the android system, the determined version file to be downloaded is determined to be the apk type. Similarly, the iOS device will only provide downloading of the version file of the ipa type, that is, if the version client is installed in the iOS system, the determined version file to be downloaded is determined to be of the ipa type.
The following describes the overall process of releasing the version file in the embodiment of the present invention in detail with reference to the system architecture shown in fig. 1 and the process flows from step S201 to step S207.
In the process of releasing the version file once, after a developer completes the development of the version file, the developed code is firstly stored in a code base, then project management information is added to the developed code by a project manager, and after the project manager confirms that the version file is released, the code base can generate an executable version file from the developed code and send a version release request to a first server. The version release request comprises a to-be-released version file confirmed by a project manager and project management information corresponding to the to-be-released version file. In the embodiment of the invention, the project management information comprises a service system and a module to which the version file to be published belongs, publishing time, a test period, a test requirement and detailed description.
And then, after receiving the version release request, the first server judges whether the version file to be released belongs to a business system needing warehousing management or not according to the project management information in the version release request. If the version information of the version file to be released belongs to the version information of the version file to be released, analyzing the version file to be released according to the type of the version file to be released, and acquiring the version information of the version file to be released. In the embodiment of the invention, the version information comprises information such as an application name, an application package name, a version number and the like.
It should be noted that, because the storage paths of the information such as the application name, the application package name, the version number, and the like in the version files of different types are different, the version information of the version file to be released needs to be acquired by adopting a corresponding parsing manner according to the type of the version file to be released.
Further, if the version file to be released is an apk file, the first server stores the version file to be released of the apk type after analyzing the version information of the version file to be released, and stores the project management information and the version information corresponding to the version file to be released of the apk type and the storage address in the first server into the database.
If the version file to be released is an ipa file, the first server stores the version file to be released after analyzing the version information of the version file to be released, and sends a plist file generation request to the second server, wherein the plist file generation request comprises the version information of the version file to be released and a storage address of the version file to be released in the first server. Therefore, the first server stores the project management information and the version information corresponding to the ipa type version file to be issued and the storage address in the first server into the database only after receiving the confirmation message returned by the second server according to the plist file generation request.
In the embodiment of the invention, after receiving the plist file generation request, the second server creates a plist file, and modifies the corresponding content in the plist file according to 4 items of information including the application name, the application package name, the version number and the storage address of the version file to be published in the plist file request, so as to obtain the plist file corresponding to the version file to be published. And then, the second server stores the plist file to a specified path, and returns a confirmation message to the first server, wherein the confirmation message identifies that the second server successfully generates and stores the plist file corresponding to the version file to be published according to the version information of the version file to be published.
For an ipa-type version file to be issued, because the first server, the version client and the second server have previously agreed a method for determining the storage address of a corresponding plist file according to the version information of the version file to be issued, after the second server generates the plist file corresponding to the version file to be issued, the storage address of the plist file in the second server does not need to be sent to the first server, but only a confirmation message identifying that the plist file has been successfully generated and stored needs to be fed back to the first server. In a specific application scenario, the first server in the embodiment of the present invention may be composed of a version monitoring module and a version management module, where the version monitoring module is responsible for monitoring a version release condition of an enterprise project management team, and when the project management team releases a version, the version detection module may determine, according to project management information in a version release request, whether the version file belongs to a version file that needs to be put into storage for management (for example, determine whether a service system to which the version file belongs to a specified service system that needs to be put into storage for management), and if so, further send the version release request (including the released version file and the project management information) to the version management module.
The version management module may specifically include a front end, a back end, and a database, where the back end is configured to parse the version file to be published in a manner corresponding to the type of the version file to be published (i.e., whether the version file to be published is an apk file or an ipa file) after receiving the version publishing request, obtain version information of the version file to be published (i.e., an application name, an application package name, and version information of the version file to be published), and store the version file to be published, and project management information and version information corresponding to the version file to be published in the database. If the version file to be published is an ipa file, before the version file to be published, the project management information and the version information are stored in the database, the background needs to be responsible for sending a plist file generation request to the second server, and receiving confirmation information returned after the second server successfully generates a corresponding plist file according to the plist file generation request.
The front end is used for displaying the related information of all version files stored in the background of the version management module and providing the functions of sequencing, searching, screening, downloading, installing and the like. For example, the version files may be displayed in a classified manner according to the service system and the module to which the version files belong, or may be displayed after being sorted according to factors such as upload time, file size, priority (or importance), and the like of the version files. Certainly, the front end of the version management module may also provide functions of uploading a historical version, connecting a download to generate a two-dimensional code, displaying an operation log of a version file, and the like, which is not particularly limited in the present invention.
It should be noted that although the front end of the version management module provides a downloading function, the version file is downloaded to the PC by using a front end downloading method, and the tester still needs to install the version file into the testing device through the PC, so the version distribution system provided in the embodiment of the present invention further includes a version client, which can be connected to the version management module, and provides functions such as information query, classification screening, fuzzy search, and the like for the user through an interface provided by the background of the version management module. Therefore, by installing the version client on the test equipment, a tester can conveniently locate the required version file, directly download the selected version file to the test equipment, and perform subsequent installation and uninstallation operations, thereby avoiding the complex process that the tester needs to install the version file through a PC.
It should be noted that the version client in the embodiment of the present invention may be divided into two types, namely, an Android type version client and an iOS type version client, where the Android type version client may be installed in an intelligent terminal of an Android system, and the iOS type version client may be installed on an intelligent terminal of an iOS system. Fig. 3a and 3b are schematic views of pages displayed in Android-type and iOS-type version clients provided in an embodiment of the present invention, as shown in fig. 3a and 3b, although installed in different types of operating systems, because an Ionic2 hybrid development framework is adopted for development of the version clients, the Android-type and iOS-type version clients can be developed based on the same code and only make a small amount of adaptation for different systems, so that the different types of version clients have higher consistency, thereby facilitating the manual operation of testers.
In the process that a tester downloads a version file through a version client, the version client can identify the type of the current operating system of the terminal device through a Platform module provided by Ionic2, if the operating system of the terminal device is an Android system, only an apk type version file is displayed, and if the operating system of the terminal device is an iOS system, only an ipa type version file is displayed. .
Therefore, because the type of the operating system of the terminal equipment is consistent with the type of the version file to be downloaded, after the tester selects the version file to be downloaded, the version client can execute different logic processing according to the type of the version file to be downloaded.
If the version File to be downloaded is an apk File, the version client can detect whether the version File is downloaded in the terminal device (i.e. whether the version File downloaded before is stored in the terminal device) through a native File management plug-in provided by Cordova,
if the version file to be downloaded is an ipa file, the version client skips Safari (Browser of the iOS system) through an In App jump Browser plug-In Cordova, and accesses the plist file corresponding to the version file to be downloaded through the Safari. The method specifically comprises the following steps: sending an ajax request to the version management module method according to the identifier of the version file to be downloaded to obtain the version information of the version file to be downloaded, and generating the page content of the webpage to be displayed in Safari according to the version information of the version file to be downloaded, as shown in fig. 4. Because the version client, the first server and the second server agree in advance the manner of determining the download address of the plist file corresponding to the version file according to the version information, the webpage link of the Safari to-be-displayed webpage is the download link pointing to the plist file corresponding to the version file to be downloaded, the link is based on the apple itms-service protocol and specifically points to an HTTPS server with a regular SSL certificate deployed in a version distribution system, and after the Safari verifies that the plist file is correct, the terminal device pops up a prompt box as shown in FIG. 5 to prompt a user to install the version file to be downloaded.
Based on the same inventive concept, an embodiment of the present invention further provides a client, fig. 6 is a schematic structural diagram of a client provided in the implementation of the present invention, and as shown in fig. 6, the client 600 includes:
the receiving and sending module 601 is configured to send a file downloading request to the first server after determining a version file to be downloaded in the displayed version files; the version file to be downloaded is an Apple application program ipa file, and the file downloading request carries an identifier of the version file to be downloaded;
a determining module 602, configured to receive version information of the to-be-downloaded file returned by the first server according to the identifier, and determine, according to the version information, a download address of an attribute list plist file corresponding to the to-be-downloaded version file; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
and a downloading module 603, configured to obtain, according to the download address, a plist file corresponding to the version file to be downloaded from the second server, and download, according to the plist file, the version file to be downloaded from the first server after verifying that version information in the plist file is consistent with version information of the version file to be downloaded.
Optionally, the client further includes an obtaining module 604, configured to obtain a type of an operating system of the device where the version client is located, and display each version file matched with the type of the operating system.
Optionally, the client also displays project management information of files of various versions;
the project management information of any version file at least comprises one or more of the following items:
and the business system and the module to which the file of any version belongs, the release time, the test period, the test requirement and the detailed description.
Based on the same inventive concept, an embodiment of the present invention further provides a server, fig. 4 is a schematic structural diagram of a server provided in the implementation of the present invention, and as shown in fig. 7, the server 700 includes:
a determining module 701, configured to receive a file download request sent by a version client, determine version information of a version file to be downloaded according to an identifier of the version file to be downloaded in the file download request, and send the version information to the version client; the version information of the version file to be downloaded is used for enabling the version client to determine a download address of a plist file corresponding to the version file to be downloaded according to the version information when the version file to be downloaded is determined to be an ipa file;
a transceiver module 702, configured to receive a file acquisition request sent by the version client, where the file acquisition request is sent by the version client after verifying that version information in a plist file is consistent with version information of a plist file corresponding to the version file to be downloaded according to a download address of the plist file corresponding to the version file to be downloaded, the file acquisition request includes a download address of the version file to be downloaded, and the download address of the version file to be downloaded is obtained by the version client from the plist file corresponding to the version file to be downloaded; and the number of the first and second groups,
and the version client is used for sending the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
Optionally, the transceiver module 702 is further configured to receive a version release request, where the version release request includes a version file to be released and the project management information of the version file to be released;
the server further includes an obtaining module 703, configured to parse the version file to be published according to the type of the version file to be published, and obtain version information of the version file to be published;
the server further includes a processing module 704, configured to correspondingly store the version file to be published, the version information of the version file to be published, and the project management information.
Optionally, the processing module 704 is further configured to send a plist file generation request to a second server if it is determined that the version file to be published is an ipa file, where the plist file generation request includes version information of the version file to be published;
the transceiver module 702 is further configured to receive a confirmation message sent by the second server, where the confirmation message identifies that the second server has successfully generated and stored a plist file corresponding to the version file to be released according to the version information.
Optionally, the server, the version client, and the second server agree in advance a manner of determining a download address of a plist file corresponding to the version file to be published according to the version information of the version file to be published.
Optionally, the version information of the version file to be published at least includes a storage address, an application package name, an application name and a version number of the version file to be published;
the project management information of the version file to be published at least comprises one or more of the following items:
and the business system and the module to which the version file to be released belongs, the release time, the test period, the test requirement and the detailed description.
Based on the same inventive concept, the embodiment of the present invention further provides another server, where the server may include a Central Processing Unit (CPU), a memory, an input/output device, and the like, the input device may include a keyboard, a mouse, a touch screen, and the like, and the output device may include a display device, such as a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), and the like.
The memory may include Read Only Memory (ROM) and Random Access Memory (RAM), and provides the processor with program instructions and data stored in the memory. In an embodiment of the invention, the memory may be used to store a program for an anomaly monitoring method based on transaction data.
The processor is used for executing the vector space-based data compression method according to the obtained program instructions by calling the program instructions stored in the memory.
Based on the same inventive concept, embodiments of the present invention provide a computer storage medium for storing computer program instructions for the computing device, which includes a program for executing the anomaly monitoring method based on transaction data.
The computer storage media may be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic memory (e.g., floppy disks, hard disks, magnetic tape, magneto-optical disks (MOs), etc.), optical memory (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor memory (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND FLASH), Solid State Disks (SSDs)), etc.
From the above, it can be seen that:
in the embodiment of the invention, after determining a version file to be downloaded in a displayed version file, a version client sends a file downloading request to a first server, wherein the version file to be downloaded is an ipa file, then the version client receives version information returned by the first server according to an identifier of the version file to be downloaded in the file downloading request, further determines a downloading address of a plist file corresponding to the version file to be downloaded according to the version information, the version client acquires the plist file corresponding to the version file to be downloaded from a second server according to the downloading address, and downloads the version file from the first server according to the plist file after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded. Therefore, the first server and the second server are deployed in the same intranet, and the second server has a legal certificate, so that for an ipa type version file to be downloaded, the version client can obtain a download address of a plist file corresponding to the version file to be downloaded and stored in the second server according to version information provided by the first server, and then download the version file to be downloaded from the first server after successfully accessing and verifying the plist file according to the download address, so that automatic distribution of the ipa type version file is realized, and the distribution and test efficiency of the version file is improved.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart block or blocks and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (12)

1. A method for distributing version files, the method comprising:
the method comprises the steps that after a version client determines to-be-downloaded version files in displayed version files, a file downloading request is sent to a first server; the version file to be downloaded is an Apple application program ipa file, and the file downloading request carries an identifier of the version file to be downloaded;
the version client receives the version information of the file to be downloaded, which is returned by the first server according to the identifier, and determines the download address of the attribute list plist file corresponding to the version file to be downloaded according to the version information; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
and the version client acquires the plist file corresponding to the version file to be downloaded from the second server according to the download address, and after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded, sends a file acquisition request to the first server according to the plist file, and downloads the version file to be downloaded from the first server.
2. The method according to claim 1, wherein before the version client determines the version file to be downloaded among the presented version files, the method further comprises:
and the version client acquires the type of the operating system of the equipment where the version client is positioned and displays each version file matched with the type of the operating system.
3. The method according to claim 1, wherein project management information of each version file is also shown in the version client;
the project management information of any version file at least comprises one or more of the following items:
and the business system and the module to which the file of any version belongs, the release time, the test period, the test requirement and the detailed description.
4. A method for distributing version files, the method comprising:
the method comprises the steps that a first server receives a file downloading request sent by a version client, determines version information of a version file to be downloaded according to an identifier of the version file to be downloaded in the file downloading request and sends the version information to the version client; the version information of the version file to be downloaded is used for enabling the version client to determine a download address of a plist file corresponding to the version file to be downloaded according to the version information when the version file to be downloaded is determined to be an ipa file; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
the first server receives a file acquisition request sent by the version client, wherein the file acquisition request is sent after the version client verifies that version information in a plist file is consistent with version information of a plist file corresponding to the version file to be downloaded according to a download address of the plist file corresponding to the version file to be downloaded, the file acquisition request comprises a download address of the version file to be downloaded, and the download address of the version file to be downloaded is acquired by the version client from the plist file corresponding to the version file to be downloaded;
and the first server sends the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
5. The method of claim 4, further comprising:
the first server receives a version release request, wherein the version release request comprises a version file to be released and project management information of the version file to be released;
the first server analyzes the version file to be published according to the type of the version file to be published, and obtains version information of the version file to be published;
and the first server correspondingly stores the version file to be published, the version information of the version file to be published and the project management information.
6. The method of claim 5, wherein before the first server correspondingly stores the version file to be published, the version information of the version file to be published, and the project management information, the method further comprises:
if the first server determines that the version file to be published is an ipa file, sending a plist file generation request to the second server, wherein the plist file generation request comprises version information of the version file to be published;
and the first server receives a confirmation message sent by the second server, wherein the confirmation message marks that the second server successfully generates and stores the plist file corresponding to the version file to be released according to the version information.
7. The method as claimed in claim 6, wherein the first server, the version client and the second server agree in advance on a manner of determining a download address of a plist file corresponding to the version file to be published according to the version information of the version file to be published.
8. The method according to any one of claims 4 to 7, wherein the version information of the version file to be published comprises at least a storage address, an application package name, an application name and a version number of the version file to be published;
the project management information of the version file to be published at least comprises one or more of the following items:
and the business system and the module to which the version file to be released belongs, the release time, the test period, the test requirement and the detailed description.
9. A client, the client comprising:
the receiving and sending module is used for sending a file downloading request to the first server after determining the version files to be downloaded in the displayed version files; the version file to be downloaded is an Apple application program ipa file, and the file downloading request carries an identifier of the version file to be downloaded;
the determining module is used for receiving the version information of the file to be downloaded, returned by the first server according to the identifier, and determining a downloading address of an attribute list plist file corresponding to the version file to be downloaded according to the version information; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
and the downloading module is used for acquiring the plist file corresponding to the version file to be downloaded from the second server according to the downloading address, sending a file acquisition request to the first server according to the plist file after verifying that the version information in the plist file is consistent with the version information of the version file to be downloaded, and downloading the version file to be downloaded from the first server.
10. A server, characterized in that the server comprises:
the determining module is used for receiving a file downloading request sent by a version client, determining the version information of the version file to be downloaded according to the identifier of the version file to be downloaded in the file downloading request and sending the version information to the version client; the version information of the version file to be downloaded is used for enabling the version client to determine a download address of a plist file corresponding to the version file to be downloaded according to the version information when the version file to be downloaded is determined to be an ipa file; the download address points to a second server with a legal certificate, and the first server and the second server are deployed in the same intranet;
the receiving and sending module is used for receiving a file obtaining request sent by the version client, wherein the file obtaining request is sent after the version client verifies that the version information in the plist file is consistent with the version information of the plist file to be downloaded according to the download address of the plist file corresponding to the version file to be downloaded, the file obtaining request comprises the download address of the version file to be downloaded, and the download address of the version file to be downloaded is obtained by the version client from the plist file corresponding to the version file to be downloaded; and the number of the first and second groups,
and the version client is used for sending the version file to be downloaded to the version client according to the download address of the version file to be downloaded.
11. A server, comprising:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory to perform the method of any of claims 4 to 8 in accordance with the obtained program.
12. A computer storage medium having computer-executable instructions stored thereon for causing a computer to perform the method of any one of claims 4 to 8.
CN201711084838.3A 2017-11-07 2017-11-07 Version file distribution method, client and server Active CN107896244B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711084838.3A CN107896244B (en) 2017-11-07 2017-11-07 Version file distribution method, client and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711084838.3A CN107896244B (en) 2017-11-07 2017-11-07 Version file distribution method, client and server

Publications (2)

Publication Number Publication Date
CN107896244A CN107896244A (en) 2018-04-10
CN107896244B true CN107896244B (en) 2020-09-29

Family

ID=61804784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711084838.3A Active CN107896244B (en) 2017-11-07 2017-11-07 Version file distribution method, client and server

Country Status (1)

Country Link
CN (1) CN107896244B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897542A (en) * 2018-04-24 2018-11-27 北京奇艺世纪科技有限公司 A kind of soft project method of adjustment, device and electronic equipment
CN109189400A (en) * 2018-08-07 2019-01-11 北京趣拿软件科技有限公司 Program dissemination method and device, storage medium, processor
CN109672580B (en) * 2018-09-21 2022-01-18 平安科技(深圳)有限公司 Full link monitoring method, device, terminal equipment and storage medium
CN110262821A (en) * 2019-06-14 2019-09-20 深圳前海微众银行股份有限公司 A kind of management method of software module, device and server
CN111338655B (en) * 2020-02-24 2023-11-14 得到(天津)文化传播有限公司 Installation package distribution method and system
CN111651416B (en) * 2020-06-04 2023-06-13 携程旅游信息技术(上海)有限公司 Sketch project file uploading preview method, system, equipment and medium
CN112181440A (en) * 2020-09-25 2021-01-05 四川封面传媒有限责任公司 Method and device for deploying ios installation package in server and storage medium
CN114268624B (en) * 2022-03-02 2022-06-03 上海豪承信息技术有限公司 Version file transmission method and device and server
CN114675879B (en) * 2022-03-04 2022-10-21 慧之安信息技术股份有限公司 Cross-platform application development method based on Cordova and Vue

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968741A (en) * 2009-07-27 2011-02-09 阿里巴巴集团控股有限公司 Method, server and system for data update
US20140282398A1 (en) * 2013-03-15 2014-09-18 Wolters Kluwer U.S. Corporation Platform for developing and distributing mobile applications
CN104503746A (en) * 2014-12-11 2015-04-08 北京金和软件股份有限公司 Method for quickly packaging IOS (internetwork operating system) application program on APP development platform
US9983892B2 (en) * 2015-11-06 2018-05-29 Samsung Electronics Co., Ltd. Deep linking to mobile application states through programmatic replay of user interface events
CN105827698A (en) * 2016-03-15 2016-08-03 武汉斗鱼网络科技有限公司 Enterprise-level APP making downloading installing method and system controllable by developers

Also Published As

Publication number Publication date
CN107896244A (en) 2018-04-10

Similar Documents

Publication Publication Date Title
CN107896244B (en) Version file distribution method, client and server
US10318412B1 (en) Systems, methods, and apparatus for dynamic software generation and testing
US20200257612A1 (en) Validating software functionality
US9367305B1 (en) Automatic container definition
US9286040B2 (en) Software builder
CN110442524B (en) Method and device for testing web service interface with authentication authorization
US9244818B1 (en) Automated selection of quality control tests to run on a software application
CN106415480B (en) High-speed application for installation on a mobile device for enabling remote configuration of the mobile device
US11561889B2 (en) Orchestration for automated performance testing
CN105787364B (en) Automatic testing method, device and system for tasks
US8311794B2 (en) Testing executable logic
CN109388569B (en) Method for remotely detecting environmental anomaly of client, test server and storage medium
CN108829588B (en) Processing method, deployment system and device for testing application program
CN110659202A (en) Client automatic testing method and device
CN106339273A (en) Application program restoration method, terminal and server
Song et al. An integrated test automation framework for testing on heterogeneous mobile platforms
CN111654495B (en) Method, apparatus, device and storage medium for determining traffic generation source
CN110727575B (en) Information processing method, system, device and storage medium
CN115658496A (en) Extensible Web automatic test method, system, equipment and storage medium
CN113535567B (en) Software testing method, device, equipment and medium
CN110674023B (en) Interface testing method and device
CN111666079A (en) Method, device, system, equipment and computer readable medium for software upgrading
CN108170588B (en) Test environment construction method and device
CN107247661B (en) Method and system for supporting automatic verification of installation package of application
US20080209408A1 (en) Seeding product information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant