CN117896359A - Channel package distribution method, downloading method and device - Google Patents

Channel package distribution method, downloading method and device Download PDF

Info

Publication number
CN117896359A
CN117896359A CN202311776471.7A CN202311776471A CN117896359A CN 117896359 A CN117896359 A CN 117896359A CN 202311776471 A CN202311776471 A CN 202311776471A CN 117896359 A CN117896359 A CN 117896359A
Authority
CN
China
Prior art keywords
channel
package
information
source installation
packet
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.)
Pending
Application number
CN202311776471.7A
Other languages
Chinese (zh)
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.)
Yidianlingxi Information Technology Guangzhou Co ltd
Original Assignee
Yidianlingxi Information Technology Guangzhou 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 Yidianlingxi Information Technology Guangzhou Co ltd filed Critical Yidianlingxi Information Technology Guangzhou Co ltd
Priority to CN202311776471.7A priority Critical patent/CN117896359A/en
Publication of CN117896359A publication Critical patent/CN117896359A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure relates to a channel package distribution method, a downloading method and a device, wherein the channel package distribution method comprises receiving a first source installation package of a distributed application; filling a setting field in a designated position of the first source installation package to generate a second source installation package; constructing channel package information of the application according to source package information of the second source installation package and channel information of a target channel; the channel package information comprises a downloading address of a channel package and verification information of the channel package, and the channel package is an installation package in which the channel information is written in the setting field of the second source installation package; and distributing the channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.

Description

Channel package distribution method, downloading method and device
Technical Field
The embodiment of the disclosure relates to the technical field of computer communication, in particular to a channel package distribution method, a channel package downloading method, a channel package distribution device and a channel package downloading device.
Background
Currently, each application market can provide channel packages of different application programs for users to download to electronic devices such as mobile phones, tablet computers, PCs, wearable devices and the like of the users. The user can install the corresponding application program after decompressing the downloaded channel package. In the prior art, the electronic equipment of the user also needs to download the verification information of the channel package in the process of downloading the channel package so as to verify whether the downloaded channel package is complete, but the downloaded verification information also occupies network resources of the user and affects the downloading speed of the channel package.
Disclosure of Invention
It is an object of embodiments of the present disclosure to provide a new solution for channel package distribution.
According to a first aspect of the present disclosure, there is provided a channel package distribution method, including:
receiving a first source installation package of the distributed application;
filling a setting field in a designated position of the first source installation package to generate a second source installation package;
constructing channel package information of the application according to source package information of the second source installation package and channel information of a target channel; the channel package information comprises a downloading address of a channel package and verification information of the channel package, and the channel package is an installation package in which the channel information is written in the setting field of the second source installation package;
And distributing the channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
Optionally, after the generating the second source installation package, the method further comprises:
acquiring source package information of the second source installation package, and recording the source package information in an information item of the application so as to construct channel package information of the application;
the source packet information comprises the byte number of the second source installation packet, a header field of the second source installation packet, a header check value of the header field, a tail field of the second source installation packet and a tail check value of the tail field; the downloading address of the channel packet comprises an encryption character string corresponding to the channel information, and the verification information of the channel packet comprises the byte number of the channel packet, the head verification value of the channel packet and the tail verification value of the channel packet.
Optionally, the constructing the channel package information of the application according to the source package information of the second source installation package and the channel information of the target channel includes:
combining source package information of the second source installation package with channel information of a plurality of target channels respectively to construct a plurality of channel package information; wherein the plurality of target channels are in one-to-one correspondence with the plurality of channel package information.
Optionally, the downloading address of the channel package is used for the client to download the channel package based on the downloading request of the user, and the verification information of the channel package is used for the client to confirm whether the channel package is successfully downloaded.
Optionally, filling a setting field in a designated position of the first source installation package, and generating the second source installation package includes:
determining a designated position corresponding to the first source installation package according to the signature type of the first source installation package;
and filling the setting field in the first source installation package according to the determined designated position.
Optionally, the constructing channel package information of the application includes:
encrypting channel information to obtain an encrypted character string for mapping the channel information;
and generating the download address of the channel package according to the download address of the second source installation package and the encryption character string.
Optionally, the first source installation package includes a data block and other blocks in which the specified location is located.
Optionally, the byte number of the setting field is a fixed value, the verification information includes the byte number of the channel packet, and the constructing the channel packet information of the application includes:
Taking the byte number of the second source installation package as the byte number of the channel package; wherein the number of bytes of the second source installation packet is equal to the sum of the number of bytes of the first source installation packet and the fixed value.
Optionally, the verification information includes a header verification value of the channel packet, and the setting field is in a field other than a header field of the second source installation packet; the constructing channel package information of the application includes:
and taking the header check value of the second source installation package as the header check value of the channel package.
Optionally, the verification information includes a tail verification value of the channel package, and the constructing the channel package information of the application includes:
determining whether the set field is positioned in the tail field of the second source installation package according to the signature type of the first source installation package;
under the condition that the setting field is positioned in the tail field, replacing the data content of the setting byte in the setting field with the data content corresponding to the channel information to obtain a replaced tail field;
obtaining a tail check value of the channel packet based on the replaced tail field;
And under the condition that the setting field is not positioned in the tail field, taking the tail check value of the second source installation packet as the tail check value of the channel packet.
According to a second aspect of the present disclosure, there is also provided a channel package downloading method, including:
a channel package downloading control of the application is displayed on a client page; the channel package downloading control is used for packaging channel package information of the application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application party by the second source installation package;
responsive to the channel package download control being triggered, sending a download request for the channel package to a server based on the download address;
receiving a channel packet returned by the server based on the downloading request;
and carrying out integrity check on the received channel packet according to the check information, and confirming that the downloading of the channel packet is completed under the condition that the received channel packet passes the integrity check.
According to a third aspect of the present disclosure, there is also provided a channel package distribution apparatus, comprising:
a first source package receiving module for receiving a first source installation package of the distributed application;
the second source package generation module is used for filling a setting field in a designated position of the first source installation package to generate a second source installation package;
the channel package information construction module is used for constructing the channel package information of the application according to the source package information of the second source installation package and the channel information of the target channel; the channel package information comprises a downloading address of a channel package and verification information of the channel package, and the channel package is an installation package in which the channel information is written in the setting field of the second source installation package; the method comprises the steps of,
and the distribution module is used for distributing the channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
According to a fourth aspect of the present disclosure, there is also provided a channel package downloading apparatus, including:
the rendering processing module is used for displaying the channel package downloading control of the application on the client page; the channel package downloading control is used for packaging channel package information of the application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application party by the second source installation package;
The downloading request module is used for responding to the triggering of the channel package downloading control and sending a downloading request for the channel package to a server based on the downloading address;
the channel package receiving module is used for receiving a channel package returned by the server based on the downloading request; the method comprises the steps of,
and the verification module is used for carrying out integrity verification on the received channel packet according to the verification information, and confirming that the downloading of the channel packet is finished under the condition that the received channel packet passes the integrity verification.
According to a fifth aspect of the present disclosure, there is also provided a server comprising a memory for storing a computer program and a processor; the processor is configured to execute the computer program to implement the method according to the first aspect of the present disclosure.
According to a sixth aspect of the present disclosure, there is also provided a client comprising a memory and a processor, the memory for storing a computer program; the processor is configured to execute the computer program to implement the method according to the second aspect of the present disclosure.
The method and the device have the advantages that the server can directly fill the received first source installation package in the setting field to generate the second source installation package, and construct channel package information based on the second source installation package and the target channel, so that a user can directly check based on the previously obtained check information when downloading the channel package, and the user does not need to request related check information when requesting for downloading, thereby improving the downloading speed.
Other features of the disclosed embodiments and their advantages will become apparent from the following detailed description of exemplary embodiments of the disclosure, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the embodiments of the disclosure.
FIG. 1 illustrates an application scenario diagram of a channel package distribution method according to some embodiments;
fig. 2 shows a flow chart of a channel package distribution method according to the first embodiment;
FIG. 3 illustrates a schematic diagram of a first source installation package, according to some embodiments;
FIG. 4 illustrates a schematic diagram of a second source installation package, in accordance with some embodiments;
FIG. 5 illustrates a schematic diagram of a first source installation package according to further embodiments;
FIG. 6 illustrates a schematic diagram of a second source installation package according to further embodiments;
FIG. 7 shows a flow diagram of a channel package distribution method according to a second embodiment;
FIG. 8 is a flow chart showing a channel package distribution method according to a third embodiment;
fig. 9 shows a flow chart of a channel package distribution method according to a fourth embodiment;
Fig. 10 shows a flow chart of a channel package distribution method according to a fifth embodiment;
FIG. 11 is a flow chart showing a channel package distribution method according to a sixth embodiment;
fig. 12 is a flow chart showing a channel package distribution method according to a seventh embodiment;
FIG. 13 shows a flow diagram of a channel package distribution method according to an eighth embodiment;
fig. 14 shows a flow chart of a channel package downloading method according to a ninth embodiment;
FIG. 15 illustrates a schematic diagram of a channel package distribution device according to some embodiments;
FIG. 16 illustrates a hardware architecture diagram of a channel package distribution device according to some embodiments;
FIG. 17 illustrates a schematic diagram of a channel package download device, according to some embodiments;
fig. 18 illustrates a hardware architecture diagram of a channel package download device according to some embodiments.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
The following description of at least one exemplary embodiment is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail, but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any specific values should be construed as merely illustrative, and not a limitation. Thus, other examples of exemplary embodiments may have different values.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further discussion thereof is necessary in subsequent figures.
It should be noted that, in the embodiments of the present disclosure, all actions of acquiring signals, information or data are performed under the condition of conforming to the corresponding data protection rule policy of the country of the location and obtaining the authorization given by the owner of the corresponding device.
The present disclosure relates to an Application (APP) downloaded and installed for a user, and a technical solution related to channel package distribution of the Application. The solution of the embodiment of the present disclosure is applicable to various applications, for example, an application providing a video service, an application providing a commodity transaction service, an application providing a game resource and related services, and the like, and is not limited herein.
In the related art, when a user downloads a channel package of an application, a request for acquiring verification information of the channel package needs to be sent to a download server, whether the channel package downloaded by the user is complete or not is verified through the verification information sent by the download server, and further, extra time of the user needs to be occupied for downloading the verification information, so that the efficiency of application installation is low.
In order to solve the above technical problems, the embodiments of the present disclosure provide a technical solution for providing verification information of a channel package before a user downloads the channel package, so that when the user downloads the channel package, the user can directly verify based on the verification information obtained before, and does not need to request related verification information again when the user requests to download, thereby improving the downloading speed.
Fig. 1 shows a schematic diagram of an application scenario of a channel package distribution method according to an embodiment of the present disclosure.
In the application scenario illustrated in fig. 1, the distribution server 1000 may pre-construct a channel package of the application a and distribute channel package information of the application a to the application server 4000, and the application server 4000 may be a media application server providing a media service, such as a consultation-type media application server, a short video media application server, a browser application server, and the like. The application server 4000 edits the channel package information into page information expressed as an "application a download" control, and sends the page information to a corresponding client for interface display, so that if a user clicks the "application a download" control displayed on a client page through the user terminal 2000, or the corresponding client, sends a download request for the channel package of the application a to the download server, the download server may return the channel package of the application a to the user terminal 2000, and the user terminal 2000 may check the channel package based on check information in the page information to determine whether the channel package is complete.
The distribution server 1000 in fig. 1 may be a PC, or may be a server, a server cluster, or other devices, which is not limited herein.
As shown in fig. 1, the distribution server 1000 may include a processor 1100, a memory 1200, an interface device 1300, a communication device 1400, and the like, and may have other hardware components, which are not limited herein.
The processor 1100 is configured to execute a computer program that may be written in an instruction set of an architecture such as x86, arm, RISC, MIPS, SSE, etc. The memory 1200 includes, for example, ROM (read only memory), RAM (random access memory), nonvolatile memory such as a hard disk, and the like. The interface device 1300 includes, for example, a headphone interface, a USB interface, and the like. The communication device 1400, for example, capable of wired or wireless communication, the communication device 1400 may include at least one short-range communication module, for example, any module that performs short-range wireless communication based on short-range wireless communication protocols such as Hilink protocol, wiFi (IEEE 802.11 protocol), mesh, bluetooth, zigBee, thread, Z-Wave, NFC, UWB, liFi, etc., and the communication device 1400 may also include a remote communication module, for example, any module that performs WLAN, GPRS, 2G/3G/4G/5G remote communication.
The memory 1200 of the distribution server 1000 is used to store a computer program for controlling the processor 1100 to operate to perform the channel package distribution method according to any embodiment of the present disclosure.
The user terminal 2000 in fig. 1 may be a mobile phone used by a user, or may be a terminal device such as a tablet computer or a PC used by a user, which is not limited herein.
As shown in fig. 1, the user terminal 2000 may include a processor 2100, a memory 2200, an interface device 2300, a communication device 2400, a display device 2500, an input device 2600, and the like, or may have other hardware configuration components, which is not limited herein.
The processor 2100 is configured to execute a computer program that may be written in an instruction set of an architecture such as x86, arm, RISC, MIPS, SSE, etc. The memory 2200 includes, for example, ROM (read only memory), RAM (random access memory), nonvolatile memory such as a hard disk, and the like. The interface device 2300 includes, for example, a headphone interface, a USB interface, and the like. The communication device 2400 may include at least one short-range communication module, such as any module that performs short-range wireless communication based on a short-range wireless communication protocol, such as a Hilink protocol, wiFi (IEEE 802.11 protocol), mesh, bluetooth, zigBee, thread, Z-Wave, NFC, UWB, liFi, etc., and the communication device 2400 may include a remote communication module, such as any module that performs WLAN, GPRS, 2G/3G/4G/5G remote communication, for example. The display device 2500 is, for example, a touch panel device or the like. The input device 2600 includes, for example, a touch screen, a keyboard, various sensors, and the like.
The memory 2200 of the user terminal 2000 is for storing a computer program for controlling the processor 2100 to operate to perform a channel package download method according to any embodiment of the present disclosure.
Various non-limiting embodiments are described below with respect to providing verification information for a channel package prior to a user downloading the channel package.
< first embodiment >
Fig. 2 shows a channel package distribution method according to the first embodiment. The method may be implemented, for example, by the distribution server 1000 in fig. 1. In this embodiment, the channel package distribution method may include the following steps S210 to S240:
step S210, a first source installation package of the distributed application is received.
In this embodiment, the distributed application may be one application in the distribution server, or may be one application that is sent to the distribution server by the third party server, which is not limited herein. The third party is, for example, a CP (Content Provider), that is, a Provider that provides service Content, and the Content may be various media Content such as text, image, audio and video. The application may be a gaming application, streaming media application, or other application, among others.
In this embodiment, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S220, filling a setting field in a designated position of the first source installation package, and generating a second source installation package.
In this embodiment, the setting field may be a field for writing channel information, and the field may be a setting byte length, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
In some examples, the signature manner of the first source installation package is classified into a V1 signature, a V2 signature, a V3 signature, and the like.
V1 signature, that is, JAR (Java Archive) signature, records signature information by adding META-INF directory in APK file, requires modification of data area, central directory and central directory end record.
Taking fig. 3 as an example, the first source installation package is signed by V1, and the first source installation package may include: the contents of the ZIP entry (Content of ZIP entries), the ZIP central Directory (central Directory), and the ZIP central Directory end (End of Centry Directory). Wherein the ZIP central directory end (End of Centry Directory) comprises: magic value, current disk number, disk number of CD (center Directory) start position, number of CD recorded on disk, total number of CD Directory structures, size of CD, CD start position and annotation length. The first source installation package total size 7432883 bytes, wherein 7432882-7432883 two bytes represent an annotation length value of 0, i.e., represent that the annotation content is null. Of course, the comment length value may be represented by a plurality of bytes, and is not limited herein. The specified location of the V1 signature source packet may be a byte location after 7432883.
Taking fig. 4 as an example, the second source installation packet is generated by filling the setting field in the designated position of the V1 signature source packet, where the second source installation packet may fill the setting field with a length of 4 kbytes in the designated position 7432882-7436979, and the specific value of the setting field may be set as required, which is not limited herein.
V2 signature, namely a signature mode of Android, records signature information by inserting an APK signature partition between a data area and a central directory, and can ensure the integrity of original APK data.
V3 signature, a signature mode of Android, adopts the same signature block format of V2, and is different from V2 signature in that the size of an APK signature block must be a multiple of 4096, and information about supported SDK (Software Development Kit ) version and prof-of-rotation structure is added.
Taking fig. 5 as an example, the first source installation package is signed by V2, and the first source installation package may include: the contents of the ZIP entry, the APK signature block (APK Signing Block), the ZIP central directory, and the ZIP central directory end. Wherein, the APK signature block includes: ASB block length, ID-Value key pair, and magic number, where two 8 bytes of 7393280-7393287 and 7397352-7397359 represent the length of an APK signature block (4088 bytes). 7393288-7397351 total 4064 bytes of ID-Value key pairs include: v2 signature magic key-value pairs and padding magic key-value pairs.
Taking fig. 6 as an example, the second source installation packet is generated by filling the setting field in the designated position of the V2 signature source packet, where the second source installation packet may fill the setting field with a length of 4 kbytes in the designated position 7397352-7401447, and the specific value of the setting field may be set as required, which is not limited herein.
In some embodiments, the first source installation package includes a data block and other blocks, the designated locations being located in the other blocks.
In some examples, the first source install package is signed by V1 and the other blocks are the ZIP central directory ends (End of Centry Directory) into which the set fields may be filled.
In some examples, the first source installation package is a V2 signature and the other blocks are APK signature blocks (APK Signing Block), and the set fields may be populated to the APK signature blocks (APK Signing Block).
In other words, the setting field is filled into other blocks, so that the situation of changing the data of the data block of the first source installation package is effectively reduced, and the integrity of the second source installation package is improved.
Step S230, constructing channel package information of the application according to source package information of the second source installation package and channel information of the target channel; the channel package information comprises a downloading address of the channel package and verification information of the channel package, and the channel package is an installation package for writing the channel information in a setting field of the second source installation package.
In this embodiment, the target channel is one or more services capable of providing downloading and updating applications, and different channels correspond to different channel information, that is, different channel information may represent the corresponding channels.
In this embodiment, in a case where the distribution server and the download server are independent of each other, the download address of the channel package may be one of the download servers. In the case where the distribution server and the download server are the same, the download address of the channel package may be one of the distribution servers.
In some embodiments, the download address of the channel package is for the client to download the channel package based on the download request of the user, and the verification information of the channel package is for the client to confirm whether the channel package is successfully downloaded.
In some embodiments, the downloading of channel packages may be based on a content delivery network (Content Delivery Network, CDN) that is a layer of intelligent virtual network formed by placing node servers throughout the network on top of the existing internet, capable of redirecting the user's download requests to the service node closest to the user in real time based on the network traffic and comprehensive information of the connection of each node, load conditions, and distance and response time to the user. The user can obtain the required content nearby, so that the congestion condition of the Internet is solved, the response speed of the user for accessing the website is improved, and the content is transmitted faster and more stably.
In some examples, for the same application, different channels may correspond to the same download address, or may correspond to different download addresses, which is not limited herein.
In this embodiment, after the user terminal downloads all or part of the channel package of the application, the verification data of all or part of the channel package is calculated based on the setting algorithm, or the byte number of all or part of the channel package of the application is confirmed. The verification information of the channel package of the application may include the byte number of the channel package, and if the byte number of the channel package is consistent with the byte number obtained by verification, it may be confirmed that all or part of the downloaded channel package is complete. The verification information of the channel packet may further include verification data such as header verification value and tail verification value of the channel packet, so that after all or part of the application channel packet is downloaded, the user terminal can compare the header verification data and the tail verification value in the channel packet information with the calculated corresponding verification data, and can confirm that all or part of the downloaded channel packet is complete when the comparison result is that the two verification data are identical. Under the condition that the comparison result is that the two verification data are different or inconsistent, the fact that all or part of the downloaded channel package is incomplete can be confirmed. The setting Algorithm is, for example, a cyclic redundancy check (Cyclic Redundancy Check, CRC) Algorithm or a Message-Digest Algorithm 5 (md5), and the like, and is not limited herein.
The number of bytes of the header field corresponding to the header of the channel packet may be set according to needs, for example, the header field is data of header 1K, 5K, 10K or 20K, etc. Similarly, the byte number of the tail field corresponding to the tail of the channel packet may be set according to the requirement, for example, the tail field is data of tail 1K, 5K, 10K or 20K, etc., which is not limited herein.
Taking fig. 4 as an example, channel information of a target channel is filled in 7432882-7436979 of the ZIP central directory end of the second source installation package, a corresponding channel package is obtained, and an MD5 value of a header field of the channel package is calculated. Taking the header field as the header 10K data and the tail field as the tail 10K data as an example, the header check value is the MD5 value of the header 10K data, and the MD5 value of the tail field of the channel packet, namely the CRC value of the tail 10K data, is calculated, and then the MD5 value and the CRC value are used as check information. The user terminal of the user can download the channel package through the download server, the user terminal can calculate the MD5 value of the head 10K data of the downloaded channel package and the CRC value of the tail 10K data of the channel package, and under the condition that the two MD5 values and the two CRC values are the same, the channel package downloaded by the user can be confirmed to be complete, so that the channel package is successfully downloaded by the client.
Step S240, distributing channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
In this embodiment, the client page is a page displayed by a client for opening a target channel by a user terminal.
In this embodiment, download controls of different applications may be displayed on a client page corresponding to a target channel, and a user may trigger downloading of a channel package of an application by clicking a display area corresponding to the download control of the application or touching some physical buttons on a user terminal to indicate an operation of selecting the application.
In this embodiment, the client page may display, to the user, information such as a channel package waiting to be downloaded in the queue, a download progress bar of the channel package being downloaded, and a downloaded channel package.
In this embodiment, the distribution server may distribute channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens a client page corresponding to the target channel, the application server may provide a channel package download control associated with the channel package information on the client page.
< second embodiment >
Fig. 7 shows a flow chart of a channel package distribution method according to a second embodiment. Unlike the first embodiment described above, in this embodiment, in order to improve the security of information transmission and the accuracy of verification, the download address may be set with a corresponding encrypted string, and the channel packet may confirm whether the channel packet is complete by using the number of bytes in its entirety, the verification values corresponding to the data block and other blocks of the channel packet, and so on. As shown in fig. 7, the channel package distribution method of the present embodiment may further include, after step S220, step S221:
step S221, source package information of a second source installation package is obtained, and the source package information is recorded in an information item of an application so as to construct channel package information of the application; the source packet information comprises the byte number of the second source installation packet, a header field of the second source installation packet, a header check value of the header field, a tail field of the second source installation packet and a tail check value of the tail field; the download address of the channel packet comprises an encryption character string corresponding to the channel information, and the verification information of the channel packet comprises the byte number of the channel packet, the head verification value of the channel packet and the tail verification value of the channel packet.
In this embodiment, the number of bytes of the second source installation packet may be the whole number of bytes, for example, fig. 4, the number of bytes of the whole second source installation packet is 7436979, or the number of bytes of a certain block in the second source installation packet, for example, fig. 4, the number of bytes of a data block in the second source installation packet is 7432883, and the number of bytes of other areas in the second source installation packet is 4096. That is, the verification may be performed based on the number of bytes of the entire second source installation packet or the number of bytes of each block of the second source installation packet.
In this embodiment, the byte length of the header field of the second source installation packet may be 5K,10K, 20K, or the like, which is not limited herein. The MD5 value of the header field of the channel packet may be calculated by Message-Digest Algorithm 5 (md5, message-Digest algorism 5). After downloading the corresponding channel package, the user terminal can calculate whether the MD5 value of the header field of the channel package is the same as the MD5 value in the channel package information, so as to confirm whether the downloaded channel package is complete.
In this embodiment, the byte length of the tail field of the second source installation packet may be 5K,10K, 20K, or the like, which is not limited herein. The CRC value for the header field of the channel packet may be calculated by a cyclic redundancy check (Cyclic Redundancy Check, CRC) algorithm. After downloading the corresponding channel package, the user terminal can calculate whether the CRC value of the tail field of the channel package is the same as the CRC value in the channel package information, so as to confirm whether the downloaded channel package is complete.
For the second source installation package to be the V1 signature source package, the channel information needs to be filled into the tail field of the second source installation package, that is, in the case that the second source installation package is the V1 signature source package, the tail check value of the second source installation package needs to be calculated after the second source installation package is filled with the channel information and used as the tail check value of the channel package, and the head check value of the head field of the second source package can be directly used as the head check value of the head field of the channel package. And for the second source installation packet, the header check value of the header field and the tail check value of the tail field of the second source installation packet can be directly used as the header check value of the header field and the tail check value of the tail field of the channel packet.
In this embodiment, the download address of the channel package may be stored in the user terminal in the form of a download link, so that when the user clicks the download control on the client page, the user terminal may send a download request to the content delivery network (Content Delivery Network, CDN) through the download link, so that the channel package may be downloaded to the user terminal.
In some examples, the format of the download link may be: download address + processing parameters + encryption string. Wherein different processing parameters correspond to different processing links, each processing link decrypting the encrypted string with a specific decryption function to determine channel information represented by the encrypted string. The correspondence between each processing parameter and the processing link may be preset, that is, different processing parameters may indicate different decryption functions.
< third embodiment >
Fig. 8 shows a flow chart of a channel package distribution method according to a third embodiment. Unlike the first embodiment described above, in this embodiment, in order to improve the construction efficiency of channel package information, channel package information corresponding to different channels may be constructed for an application in batch after a second source installation package of the application is generated. As shown in fig. 8, the channel package distribution method of the present embodiment may include steps S310 to S340:
step S310, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S310, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S320, filling the setting field in the designated position of the first source installation package, and generating a second source installation package.
Referring to the first embodiment, in the step S320, the setting field may be a field for writing channel information, and the field may be a set byte length, and the byte length is, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
Step S330, source package information of the second source installation package is respectively combined with channel information of a plurality of target channels to construct a plurality of channel package information; wherein, the plurality of target channels are in one-to-one correspondence with the plurality of channel package information; the channel package information comprises a downloading address of the channel package and verification information of the channel package, and the channel package is an installation package for writing the channel information in a setting field of the second source installation package.
In some examples, the plurality of target channels are a target channel a, a target channel B, and a target channel C, and for one of the target channel a, the source package information of the second source installation package, and the channel information of one of the target channels, the channel information of the application D corresponding to the channel is configured, that is, in such a configuration, the channel information of the application D corresponding to the target channel a, the target channel B, and the target channel C, respectively, can be obtained.
Step S340, distributing channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
In some examples, the clients corresponding to the target channel a and the target channel C on the user terminal of the user H, the user H may display the download control of the application D when opening the client page corresponding to the target channel a, and after clicking the download control, the download server may send the channel package corresponding to the target channel a to the user terminal of the user H.
< fourth embodiment >
Fig. 9 shows a flow chart of a channel package distribution method according to a fourth embodiment. Unlike the first embodiment described above, in this embodiment, in order to apply to channel information population of first source installation packages of different signature types, the signature type of the first source installation package may be determined, and a designated location may be determined according to the signature type to populate the channel information to the designated location. As shown in fig. 9, the channel package distribution method of the present embodiment may include steps S410 to S450:
step S410, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S310, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S420, determining a designated position corresponding to the first source installation package according to the signature type of the first source installation package.
In this embodiment, the signature types may be a V1 signature, a V2 signature, a V3 signature, and the like, which are not limited herein.
In this embodiment, the different signature types correspond to different designated locations of the first source installation package, where the first source installation package is signed by V1, the designated location of the first source installation package is the ZIP center end of directory (End of Centry Directory), and the first source installation package is signed by V2 or V3, and the designated location of the first source installation package is an APK signature block (APK Signing Block).
Step S430, filling the setting field in the first source installation package according to the determined designated position.
In this embodiment, for the first source installation package to be V1 signed, the end of the ZIP central directory in the first source installation package may be populated with the set field. For the first source installation package to be either V2 signed or V3 signed, the APK signature block in the first source installation package may populate the settings field.
Step S440, constructing channel package information of the application according to the source package information of the second source installation package and the channel information of the target channel; the channel package information comprises a downloading address of the channel package and verification information of the channel package, and the channel package is an installation package for writing the channel information in a setting field of the second source installation package.
Referring to the first embodiment, in step S440, in the case where the distribution server and the download server are independent from each other, the download address of the channel package may be one of the download servers. In the case where the distribution server and the download server are the same, the download address of the channel package may be one of the distribution servers.
And step S450, distributing channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
Referring to the first embodiment, in step S450, the distribution server may distribute the channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens the client page corresponding to the target channel, the application server may provide the channel package download control associated with the channel package information on the client page.
< fifth embodiment >
Fig. 10 shows a flow chart of a channel package distribution method according to a fifth embodiment. Unlike the first embodiment described above, in this embodiment, in order to improve the security of channel information, encryption processing may be performed on the channel information to reduce the occurrence of malicious use of the download address of the channel package. As shown in fig. 10, the channel package distribution method of the present embodiment may include steps S510 to S550:
step S510, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S510, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S520, the setting field is filled in the designated position of the first source installation package, and the second source installation package is generated.
Referring to the first embodiment, in the step S520, the setting field may be a field for writing channel information, and the field may be a set byte length, and the byte length is, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
Step S530, according to the source package information of the second source installation package and the channel information of the target channel, encryption processing is carried out on the channel information, and an encryption character string for mapping the channel information is obtained.
In this embodiment, the channel information may be encrypted by a set encryption algorithm, which is an existing algorithm and will not be described in detail herein.
Step S540, generating a download address of the channel package according to the download address of the second source installation package and the encryption character string; the channel package information comprises a downloading address of the channel package and verification information of the channel package, and the channel package is an installation package for writing the channel information in a setting field of the second source installation package.
In this embodiment, the download address of the second source installation package of any application may be different download addresses, and the download addresses of the second source installation packages of the same application in different channels may be the same download address.
In this embodiment, different channels correspond to different encrypted strings, that is, the download address of the channel package corresponding to the target channel can be obtained by combining the download address of the second source installation package and the encrypted string corresponding to the target channel.
In some examples, step S540 may include the following step S5401:
step S5401, sequentially adding processing parameters and encryption character strings after the download address of the second source installation package to generate the download address of the channel package; wherein the processing parameter indicates a decryption manner of the encrypted string.
In this embodiment, the format of the download address of the channel packet may be: download address + processing parameters + encryption string. Wherein different processing parameters correspond to different processing links, each processing link decrypting the encrypted string with a specific decryption function to determine channel information represented by the encrypted string. The correspondence between each processing parameter and the processing link may be preset, that is, different processing parameters may indicate different decryption functions.
Step S550, distributing channel package information according to the target channel, so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
Referring to the first embodiment, in step S550, the distribution server may distribute the channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens the client page corresponding to the target channel, the application server may provide the channel package download control associated with the channel package information on the client page.
< sixth embodiment >
Fig. 11 shows a flow chart of a channel package distribution method according to a sixth embodiment. Unlike the first embodiment described above, in which the number of bytes of the field is set to a fixed value and the verification information includes the number of bytes of the channel packet, the number of bytes of the second source installation packet and the channel packet are set to the same number of bytes to reduce the occurrence of performance problems. As shown in fig. 11, the channel package distribution method of the present embodiment may include steps S610 to S640:
step S610, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S610, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S620, filling the setting field in the designated position of the first source installation package, and generating the second source installation package.
Referring to the first embodiment, in the step S620, the setting field may be a field for writing channel information, and the number of bytes of the field is a fixed value, that is, the field is a set byte length, and the byte length is, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
Step S630, taking the byte number of the second source installation package as the byte number of the channel package according to the source package information of the second source installation package and the channel information of the target channel; wherein the number of bytes of the second source installation package is equal to the sum of the number of bytes of the first source installation package and the fixed value.
Taking fig. 4 as an example, the first source installation packet has a byte count of 7432883, a fixed value of 4096, and the second source installation packet has a byte count of 7436979.
Step S640, distributing channel package information according to the target channel, so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
Referring to embodiment one, in step S650, the distribution server may distribute channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens a client page corresponding to the target channel, the application server may provide a channel package download control associated with the channel package information on the client page.
< seventh embodiment >
Fig. 12 shows a flow chart of a channel package distribution method according to a seventh embodiment. Unlike the first embodiment described above, the verification information includes the header verification value of the channel packet, and the set field is in a field other than the header field of the second source installation packet, and in this embodiment, the header verification value of the second source installation packet is used as the header verification value of the channel packet, so as to reduce occurrence of a situation that computing resource is wasted due to repeated computation of the channel packet. As shown in fig. 12, the channel package distribution method of the present embodiment may include steps S710 to S740:
step S710, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S710, the first source installation package is an installation package containing the content of the distributed application, where the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
In step S720, the setting field is filled in the designated position of the first source installation package, and the second source installation package is generated.
Referring to the first embodiment, in the step S720, the setting field may be a field for writing channel information, and the number of bytes of the field is a fixed value, that is, the field is a set byte length, and the byte length is, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
Step S730, taking the header check value of the second source installation package as the header check value of the channel package according to the source package information of the second source installation package and the channel information of the target channel.
Taking fig. 4 as an example, the header field of the second source installation packet is header 10K data, that is, the MD5 value corresponding to 1-1028 bytes of the second source installation packet, and the header field of the header check value of the channel packet is header 10K data, that is, the MD5 value corresponding to 1-1028 bytes of the channel packet, and since the header field value does not change, the header check value of the second source installation packet can be used as the header check value of the channel packet, so as to provide the utilization ratio of the computing resources of the distribution server.
Step S740, distributing channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
Referring to the first embodiment, in step S740, the distribution server may distribute the channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens the client page corresponding to the target channel, the application server may provide the channel package download control associated with the channel package information on the client page.
< eighth embodiment >
Fig. 13 shows a flow chart of a channel package distribution method according to an eighth embodiment. Unlike the first embodiment described above, in which the verification information includes the tail verification value of the channel packet, since the designated position of the V1 signature source packet in which the channel information is written is the ZIP center directory end, the accuracy of the channel packet verification can be improved by differentiating the V1 signature source packet to calculate the tail verification value after writing, as the tail verification value before and after writing is different for the V1 signature source packet. As shown in fig. 13, the channel package distribution method of the present embodiment may include steps S810 to S870:
Step S810, a first source installation package of the distributed application is received.
Referring to the first embodiment, in step S810, the first source installation package is an installation package containing the content of the distributed application, and the installation package may be an application package in the distribution server, or may be an application package provided by a third party server, for example, an APK (Android application package ) for a game.
Step S820, filling the setting field in the appointed position of the first source installation package, and generating a second source installation package.
Referring to the first embodiment, in the step S820, the setting field may be a field for writing channel information, and the number of bytes of the field is a fixed value, that is, the field is a set byte length, and the byte length is, for example, a byte length of 1K,2K, or 4K, which is not limited herein. Wherein, the channel provides the user with the service of application downloading and updating, the channel information can be the name, the number of downloading and updating, and the like information representing the service, and the invention is not limited herein.
Step S830, determining whether the setting field is located in the tail field of the second source installation package according to the signature type of the first source installation package.
In some examples, the signature type of the first source installation package is, for example, a V1 signature, then the set field is a tail field located in the second source installation package. The signature type of the first source installation package is, for example, a V2 signature or a V3 signature, and then the set field is an APK signature block located in the second source installation package.
In step S840, when the setting field is located in the tail field, the data content of the setting byte in the setting field is replaced with the data content corresponding to the channel information, so as to obtain the replaced tail field.
Taking fig. 4 as an example, the second source installation packet is a V1 signature source packet, the setting field is 7432884-7436979, and the data content representing the channel information may be set in the setting field.
Step S850, obtaining the tail check value of the channel package based on the replaced tail field.
In this embodiment, according to the replaced tail field, the CRC value of the channel packet tail 10K data may be calculated again as the tail check value.
In step S860, if the setting field is not located in the tail field, the tail check value of the second source installation packet is used as the tail check value of the channel packet.
In this embodiment, the CRC value of the tail 10K data of the second source installation packet calculated in advance is directly used as the tail check value of the channel packet without calculating the CRC value of the tail 10K data of the channel packet again.
Step S870, distributing the channel package information according to the target channel, so as to provide the channel package download control associated with the channel package information on the client page corresponding to the target channel.
Referring to the first embodiment, in step S870, the distribution server may distribute the channel package information of the target channel to the application server of the target channel, so that when the user terminal of the user opens the client page corresponding to the target channel, the application server may provide the channel package download control associated with the channel package information on the client page.
< ninth embodiment >
Fig. 14 shows a channel package download method according to a ninth embodiment. The method may be implemented, for example, by the user terminal 2000 in fig. 1. In this embodiment, the channel package downloading method may include the following steps S910 to S940:
step S910, a channel package downloading control of the application is displayed on a client page; the channel package downloading control is used for packaging channel package information of an application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application side by the second source installation package.
In this embodiment, a user may log in to a client page of a certain channel, where the client page may display relevant information and download controls of each application in the channel. The channel package information may be encapsulated in a channel package download control, for example.
In step S920, in response to the channel package download control being triggered, a download request for the channel package is sent to the server based on the download address.
In this embodiment, the user may click on a channel package download control of an application on a client page, and the client page may send a download request for the channel package to the server based on the download address, and display information of downloading the application to the user, or directly display information of adding the application to a download queue and waiting for downloading to the user, which is not limited herein.
In step S930, the receiving server returns a channel packet based on the download request.
In this embodiment, the user terminal of the user may obtain all or part of the channel package, or the user terminal of the user may directly perform integrity check on a part of the channel package after downloading the part of the channel package, and stop downloading the channel package if the received channel package fails the integrity check.
Step S940, carrying out integrity check on the received channel package according to the check information, and confirming that the downloading of the channel package is completed under the condition that the received channel package passes the integrity check.
In this embodiment, the user terminal may actively check the received channel packet according to the check information, and confirm that the downloading of the channel packet is completed when the received channel packet passes the integrity check, and feed back a prompt message of failure in downloading to the user when the received channel packet does not pass the integrity check.
In other words, before the user starts to download a certain application, the verification information of the application is provided to the user terminal of the user, the user does not need to wait for downloading the verification information of the channel package, and the downloading time of the application is shortened, so that the experience of the user is improved.
< device example one >
Fig. 15 illustrates a schematic composition of a channel package distribution device according to some embodiments. As shown in fig. 15, the channel package distribution apparatus 1500 may include a first source package receiving module 1510, a second source package generating module 1520, a channel package information constructing module 1530, and a distribution module 1540.
The first source package receiving module 1510 is configured to receive a first source installation package of the distributed application.
The second source package generating module 1520 is configured to fill the setting field in a designated location of the first source installation package, and generate a second source installation package.
The channel package information construction module 1530 is configured to construct channel package information of an application according to source package information of a second source installation package and channel information of a target channel; the channel package information comprises a downloading address of the channel package and verification information of the channel package, and the channel package is an installation package for writing the channel information in a setting field of the second source installation package.
The distribution module 1540 is configured to distribute channel package information according to a target channel, so as to provide a channel package download control associated with the channel package information on a client page corresponding to the target channel.
In some embodiments, the channel package distribution device 1500 further includes an information acquisition module configured to acquire source package information of the second source installation package, and record the source package information in an information item of the application for constructing channel package information of the application. The source packet information comprises the byte number of the second source installation packet, a header field of the second source installation packet, a header check value of the header field, a tail field of the second source installation packet and a tail check value of the tail field; the download address of the channel packet comprises an encryption character string corresponding to the channel information, and the verification information of the channel packet comprises the byte number of the channel packet, the head verification value of the channel packet and the tail verification value of the channel packet.
In some embodiments, the channel package information construction module 1530 is further configured to combine the source package information of the second source installation package with the channel information of the plurality of target channels, respectively, to construct a plurality of channel package information; wherein, a plurality of target channels and a plurality of channel package information are in one-to-one correspondence.
In some embodiments, the second source packet generation module 1520 is further configured to determine a designated location corresponding to the first source installation packet based on the signature type of the first source installation packet; and filling a setting field in the first source installation package according to the determined specified position.
In some embodiments, the channel package information construction module 1530 is further configured to encrypt the channel information to obtain an encrypted string that maps the channel information; and generating the download address of the channel package according to the download address of the second source installation package and the encryption character string.
In some embodiments, the channel package information construction module 1530 is further configured to use the byte count of the second source installation package as the byte count of the channel package; wherein the number of bytes of the second source installation package is equal to the sum of the number of bytes of the first source installation package and the fixed value.
In some embodiments, the channel package information construction module 1530 is further configured to use the header check value of the second source installation package as the header check value of the channel package.
In some embodiments, the channel package information construction module 1530 is further configured to determine, based on the signature type of the first source installation package, whether the set field is located in the tail field of the second source installation package; under the condition that the setting field is positioned in the tail field, replacing the data content of the setting byte in the setting field with the data content corresponding to the channel information to obtain a replaced tail field; obtaining a tail check value of the channel packet based on the replaced tail field; and under the condition that the set field is not positioned in the tail field, taking the tail check value of the second source installation package as the tail check value of the channel package.
Fig. 16 is a schematic diagram of a hardware configuration of a channel package distribution apparatus according to another embodiment.
As shown in fig. 16, the channel package distribution device 1600 includes a processor 1610 and a memory 1620, where the memory 1620 is configured to store an executable computer program, and the processor 1610 is configured to perform a method according to any of the above method embodiments according to control of the computer program.
The channel package distribution apparatus 1600 may be the distribution server 1000 in fig. 1.
The above modules of the channel package distribution apparatus 1500 may be implemented by the processor 1610 executing a computer program stored in the memory 1620 in the present embodiment, or may be implemented by other structures, which are not limited herein.
< device example two >
Fig. 17 is a schematic diagram showing the constitution of a channel package downloading apparatus according to some embodiments. As shown in fig. 17, the channel package download apparatus 1700 may include a rendering processing module 1710, a download request module 1720, a channel package receiving module 1730, and a verification module 1740.
The rendering processing module 1710 is configured to display, on a client page, a channel package download control of an application; the channel package downloading control is used for packaging channel package information of an application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application side by the second source installation package;
The download request module 1720 is configured to send a download request for the channel package to the server based on the download address in response to the channel package download control being triggered;
the channel packet receiving module 1730 is configured to receive a channel packet returned by the server based on the download request; the method comprises the steps of,
the verification module 1740 is configured to perform integrity verification on the received channel packet according to the verification information, and confirm that the downloading of the channel packet is completed if the received channel packet passes the integrity verification.
Fig. 18 is a schematic hardware configuration diagram of a channel package downloading apparatus according to another embodiment.
As shown in fig. 18, the channel package download device 1800 includes a processor 1810 and a memory 1820, the memory 1820 is used for storing an executable computer program, and the processor 1810 is used for executing the method as any of the above method embodiments according to the control of the computer program.
The channel package download device 1800 may be a user terminal 2000.
The modules of the channel package downloading apparatus 1700 may be implemented by the processor 1810 executing the computer program stored in the memory 1820 in the present embodiment, or may be implemented by other structures, which are not limited herein.
The present invention may be a system, method, and/or computer program product. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement aspects of the present invention.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for carrying out operations of the present invention may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present invention are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information for computer readable program instructions, which can execute the computer readable program instructions.
Various aspects of the present invention are described herein 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 block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, 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/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.
The foregoing description of embodiments of the invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various embodiments described. The terminology used herein was chosen in order to best explain the principles of the embodiments, the practical application, or the technical improvements in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (13)

1. A channel package distribution method, comprising:
receiving a first source installation package of the distributed application;
filling a setting field in a designated position of the first source installation package to generate a second source installation package;
constructing channel package information of the application according to source package information of the second source installation package and channel information of a target channel; the channel package information comprises a downloading address of a channel package and verification information of the channel package, and the channel package is an installation package in which the channel information is written in the setting field of the second source installation package;
And distributing the channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
2. The method of claim 1, wherein after the generating the second source installation package, the method further comprises:
acquiring source package information of the second source installation package, and recording the source package information in an information item of the application so as to construct channel package information of the application;
the source packet information comprises the byte number of the second source installation packet, a header field of the second source installation packet, a header check value of the header field, a tail field of the second source installation packet and a tail check value of the tail field; the downloading address of the channel packet comprises an encryption character string corresponding to the channel information, and the verification information of the channel packet comprises the byte number of the channel packet, the head verification value of the channel packet and the tail verification value of the channel packet.
3. The method according to claim 1 or 2, wherein the constructing channel package information of the application from source package information and channel information of a target channel of the second source installation package includes:
Combining source package information of the second source installation package with channel information of a plurality of target channels respectively to construct a plurality of channel package information; wherein the plurality of target channels are in one-to-one correspondence with the plurality of channel package information.
4. The method according to claim 1 or 2, wherein the download address of the channel package is for a client to download the channel package based on a download request of a user, and the verification information of the channel package is for the client to confirm whether the channel package is successfully downloaded.
5. The method of claim 1 or 2, wherein populating a settings field at a specified location of the first source installation package, generating a second source installation package, comprises:
determining a designated position corresponding to the first source installation package according to the signature type of the first source installation package;
and filling the setting field in the first source installation package according to the determined designated position.
6. The method of claim 1 or 2, wherein said constructing channel package information for said application comprises:
encrypting channel information to obtain an encrypted character string for mapping the channel information;
and generating the download address of the channel package according to the download address of the second source installation package and the encryption character string.
7. The method of claim 1 or 2, wherein the first source installation package comprises a data block and other blocks, the specified locations being located in the other blocks.
8. The method according to claim 1 or 2, wherein the number of bytes of the set field is a fixed number, the verification information includes the number of bytes of a channel package, and the constructing the channel package information of the application includes:
taking the byte number of the second source installation package as the byte number of the channel package; wherein the number of bytes of the second source installation packet is equal to the sum of the number of bytes of the first source installation packet and the fixed value.
9. The method according to claim 1 or 2, wherein the check information includes a header check value of the channel packet, the set field being in a field other than a header field of the second source installation packet; the constructing channel package information of the application includes:
and taking the header check value of the second source installation package as the header check value of the channel package.
10. The method according to claim 1 or 2, wherein the verification information comprises a tail verification value of the channel package, and the constructing the channel package information of the application comprises:
Determining whether the set field is positioned in the tail field of the second source installation package according to the signature type of the first source installation package;
under the condition that the setting field is positioned in the tail field, replacing the data content of the setting byte in the setting field with the data content corresponding to the channel information to obtain a replaced tail field;
obtaining a tail check value of the channel packet based on the replaced tail field;
and under the condition that the setting field is not positioned in the tail field, taking the tail check value of the second source installation packet as the tail check value of the channel packet.
11. A channel package download method, comprising:
a channel package downloading control of the application is displayed on a client page; the channel package downloading control is used for packaging channel package information of the application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application party by the second source installation package;
Responsive to the channel package download control being triggered, sending a download request for the channel package to a server based on the download address;
receiving a channel packet returned by the server based on the downloading request;
and carrying out integrity check on the received channel packet according to the check information, and confirming that the downloading of the channel packet is completed under the condition that the received channel packet passes the integrity check.
12. A channel package distribution device, comprising:
a first source package receiving module for receiving a first source installation package of the distributed application;
the second source package generation module is used for filling a setting field in a designated position of the first source installation package to generate a second source installation package;
the channel package information construction module is used for constructing the channel package information of the application according to the source package information of the second source installation package and the channel information of the target channel; the channel package information comprises a downloading address of a channel package and verification information of the channel package, and the channel package is an installation package in which the channel information is written in the setting field of the second source installation package; the method comprises the steps of,
and the distribution module is used for distributing the channel package information according to the target channel so as to provide a channel package downloading control associated with the channel package information on a client page corresponding to the target channel.
13. A channel package download apparatus, comprising:
the rendering processing module is used for displaying the channel package downloading control of the application on the client page; the channel package downloading control is used for packaging channel package information of the application, the channel package information comprises a downloading address of the channel package and verification information of the channel package, the downloading address of the channel package comprises an encryption character string for mapping the channel information, the channel package is an installation package for writing the channel information in a setting field of a second source installation package, and the setting field is filled in a designated position of a first source installation package provided by an application party by the second source installation package;
the downloading request module is used for responding to the triggering of the channel package downloading control and sending a downloading request for the channel package to a server based on the downloading address;
the channel package receiving module is used for receiving a channel package returned by the server based on the downloading request; the method comprises the steps of,
and the verification module is used for carrying out integrity verification on the received channel packet according to the verification information, and confirming that the downloading of the channel packet is finished under the condition that the received channel packet passes the integrity verification.
CN202311776471.7A 2023-12-21 2023-12-21 Channel package distribution method, downloading method and device Pending CN117896359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311776471.7A CN117896359A (en) 2023-12-21 2023-12-21 Channel package distribution method, downloading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311776471.7A CN117896359A (en) 2023-12-21 2023-12-21 Channel package distribution method, downloading method and device

Publications (1)

Publication Number Publication Date
CN117896359A true CN117896359A (en) 2024-04-16

Family

ID=90649871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311776471.7A Pending CN117896359A (en) 2023-12-21 2023-12-21 Channel package distribution method, downloading method and device

Country Status (1)

Country Link
CN (1) CN117896359A (en)

Similar Documents

Publication Publication Date Title
JP6274584B2 (en) Advertisement processing method and apparatus
CN107105001B (en) System for transferring status between electronic devices
US10826969B2 (en) Network file transfer including file obfuscation
CN109521956B (en) Cloud storage method, device, equipment and storage medium based on block chain
US9047308B2 (en) Methods and apparatus for providing unified access to various data resources using virtualized services
CN105577777A (en) Message processing method, device and system
CN111930709B (en) Data storage method, apparatus, electronic device, and computer readable medium
CN109522462B (en) Cloud query method, device, equipment and storage medium based on block chain
US11722846B2 (en) Network based enforcement of geographical compliance
CN113647113A (en) Network-based media processing security
CN112437078A (en) File storage method, device, equipment and computer readable storage medium
CN113568643A (en) Resource acquisition method and device, electronic equipment and computer readable medium
CN112241298A (en) Page display method and device, storage medium and electronic device
CN113656713B (en) Network resource processing method, device and system
CN114828140A (en) Service flow message forwarding method and device, storage medium and electronic equipment
CN112560003A (en) User authority management method and device
US20230385454A1 (en) Cryptographically secure dynamic third party resources
US7743113B2 (en) Proxy operations on client devices
CN110198349B (en) File transmission method and device, storage medium and electronic device
US20140358989A1 (en) Media playback profile mapping
CN113170517A (en) Short message service linking for active feed communications
CN117896359A (en) Channel package distribution method, downloading method and device
CN113867769A (en) H5 page display method and device, storage medium and electronic equipment
CN109933960A (en) Service call control method, service calling method, device and terminal
Chen et al. Bringing control system user interfaces to the web

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