WO2020186802A1 - 版本更新包的发布方法、装置、计算机设备及存储介质 - Google Patents
版本更新包的发布方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- WO2020186802A1 WO2020186802A1 PCT/CN2019/119957 CN2019119957W WO2020186802A1 WO 2020186802 A1 WO2020186802 A1 WO 2020186802A1 CN 2019119957 W CN2019119957 W CN 2019119957W WO 2020186802 A1 WO2020186802 A1 WO 2020186802A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- voiceprint
- verification
- information
- update package
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- This application relates to the field of data processing, and in particular to a method, device, computer equipment, and storage medium for publishing a version update package.
- the embodiments of the present application provide a method, device, computer device, and storage medium for releasing a version update package, so as to solve the problems of low release efficiency and low security of the update package caused by manual construction.
- a method for publishing version update packages including:
- the verification result is that the permission verification is passed, the target permission range corresponding to the verification information is obtained, and the version update data is parsed according to the target permission range and the preset data packet analysis method to obtain the parsed content ;
- a release device for a version update package including:
- the request receiving module is configured to obtain the verification information and version update data contained in the update package publishing request if the update package publishing request of the application program is received;
- the authorization verification module is used to perform authorization verification on the verification information to obtain a verification result
- the data analysis module is configured to obtain the target permission range corresponding to the verification information if the verification result is that the permission verification is passed, and update the data for the version according to the target permission range and the preset data packet analysis method Perform analysis to get the content of analysis;
- the update package generation module is configured to generate a target update package according to the parsed content according to a preset update package generation method
- the update package publishing module is used to upload the target update package to the application store.
- a computer device includes a memory, a processor, and computer-readable instructions stored in the memory and capable of running on the processor, and the processor implements the following steps when the processor executes the computer-readable instructions:
- the verification result is that the permission verification is passed, the target permission range corresponding to the verification information is obtained, and the version update data is parsed according to the target permission range and the preset data packet analysis method to obtain the parsed content ;
- One or more readable storage media storing computer readable instructions, when the computer readable instructions are executed by one or more processors, the one or more processors execute the following steps:
- the verification result is that the permission verification is passed, the target permission range corresponding to the verification information is obtained, and the version update data is parsed according to the target permission range and the preset data packet analysis method to obtain the parsed content ;
- FIG. 1 is a schematic diagram of an application environment of a method for publishing a version update package provided by an embodiment of the present application
- FIG. 2 is an implementation flowchart of a method for publishing a version update package provided by an embodiment of the present application
- FIG. 3 is a flowchart of the implementation of step S20 in the release method of the version update package provided by the embodiment of the present application;
- FIG. 4 is a flowchart of the implementation of step S40 in the method for publishing a version update package provided by an embodiment of the present application;
- FIG. 5 is a flowchart of the implementation of step S21 in the release method of the version update package provided by the embodiment of the present application;
- FIG. 6 is an example diagram of voice signal overlapping and framing in the method for publishing a version update package provided by an embodiment of the present application
- FIG. 7 is a flowchart of the implementation of step S25 in the release method of the version update package provided by the embodiment of the present application.
- FIG. 8 is a schematic diagram of a release device for a version update package provided by an embodiment of the present application.
- Fig. 9 is a schematic diagram of a computer device provided by an embodiment of the present application.
- FIG. 1 shows an application environment of the method for publishing a version update package provided by an embodiment of the present application.
- the release method of the version update package is applied in the application program version update package release scenario.
- the release scenario of this version update package includes the management side and the server side.
- the management side and the server side are connected through the network.
- the management side sends an update package release request to the server side.
- the server side receives the update package release request and obtains the update.
- the verification information and version update information included in the package release request and verify the authority of the manager who sent the update package release request through the verification information. After the authority verification is passed, intelligent update is performed according to the version update information.
- the management end can specifically However, it is not limited to smart terminal devices such as mobile phones, tablet computers, and personal computers (Personal Computers, PCs).
- the server can be implemented by an independent server or a server cluster composed of multiple servers.
- FIG. 2 shows a method for publishing a version update package provided by an embodiment of the present application.
- the method is applied to the server in FIG. 1 as an example for description.
- the details are as follows:
- the server After the application is updated, it is necessary to construct an update package corresponding to the code of the application to obtain the update package corresponding to the application, and then publish the update package to the application store.
- the management user can send the update package to the server through the management end. Sending an update package release request of the application program, the server receives the update package release request through the network transmission protocol, and obtains the verification information and version update information contained in the update package release request.
- the verification information is used by the server to verify the user identity of the update package release request sent through the management end.
- the management user sends the update package to the server through the management end.
- the verification information includes, but is not limited to: managing user fingerprint information, managing user voice information, Management user account password information or management user certificate information, etc., can be set according to the actual situation, and there is no limitation here.
- this embodiment adopts the voice information of the management user with account password information as the verification information, that is, the management user enters a piece of voice information, the voice information contains the account password information of the management user, and the voice information is used as the management User's authentication information.
- the version update information refers to the information that the application needs to be updated, including but not limited to: project identification, version information, and update time, etc.
- the version update information has a fixed format and separator so that it can be quickly parsed later.
- the network transmission protocol includes but is not limited to: Internet Control Message Protocol (ICMP), Address Resolution Protocol (ARP Address Resolution Protocol, ARP), File Transfer Protocol (File Transfer Protocol, FTP), etc.
- ICMP Internet Control Message Protocol
- ARP Address Resolution Protocol ARP
- FTP File Transfer Protocol
- the corresponding permissions preset on the server side may not be the same. After the server side obtains the verification information and version update information, it needs to verify the permissions of the verification information first to ensure that the management side Whether the administrative user who sent the update package release request has the right to release the update package.
- authorization verification may be, but not limited to, verification through account passwords or verification through biometrics, etc., where biometrics include but are not limited to fingerprint features, facial features, voiceprint features, iris features, etc. .
- the account password corresponding to each management user identification and the authorization corresponding to each management user identification are pre-stored on the server.
- the account password in the verification information is obtained Information, and then match the account password information with the account password corresponding to each pre-stored management user ID, use the management user ID corresponding to the successfully matched account password as the current management user ID, and obtain the authority corresponding to the current management user ID
- the target authority it is determined whether the target authority includes the authority to publish the update package. If the target authority includes the authority to publish the update package, the authority verification is passed. If the target authority does not include the authority to publish the update package, the authority verification fails. And send a prompt message that the authority does not match to the management terminal. It is easy to understand that if the account password in the verification information fails to match the account password corresponding to each management user ID, it is confirmed that the authorization verification has failed, and a prompt message indicating that the account password is incorrect is sent to the management terminal.
- biometrics are used for authorization verification, the biometrics corresponding to each management user ID and the authorizations corresponding to each management user ID are pre-stored on the server. After the verification information is received, the biometrics in the verification information are obtained , As the current biological characteristic, and then calculate the similarity value of the current biological characteristic and the biological characteristic corresponding to each pre-stored management user identification, and compare the maximum similarity value with the preset similarity threshold, if the maximum If the similarity value is greater than or equal to the preset similarity threshold, the management user ID corresponding to the maximum similarity value is used as the target management user ID, and the permission corresponding to the target management user ID is obtained as the target permission, and then whether the target permission is determined Including the update package publishing permission.
- the permission verification is passed. If the target permission does not include the update package publishing permission, the permission verification fails, and a notification that the permission does not match is issued to the management terminal information. It is easy to understand that if the maximum similarity value is less than the preset similarity threshold, it is determined that the biometric characteristics do not meet the requirements, the authorization verification fails, and a prompt message indicating authorization verification failure is sent to the management terminal.
- the authorization verification method can be based on actual needs, select account password verification, or perform biometric identification based on actual needs, or other methods, and there is no specific restriction here.
- this embodiment uses audio information that includes account passwords and voiceprint features to perform permission verification, that is, the received verification information needs to include voice information with account password content, and the verification information may specifically be a piece of audio A file, or a video file, can be set according to actual verification needs. There are no specific restrictions here.
- the permission verification is performed through audio information.
- the specific process can refer to the method described in step S21 to step S26 in this embodiment To avoid repetition, I won’t repeat it here.
- the target authority range corresponding to the verification information is obtained, and the target authority range and The preset data packet analysis method analyzes the obtained version update information to obtain the analysis content.
- Zhang San’s publishing permissions are the permissions to update and publish the first branch code, the second branch code, and the third branch code.
- Li Si's publishing authority is the authority to update and publish the fourth branch code and fifth branch code.
- parsed content may include project identification, version number and build script.
- the project identification is used to uniquely identify the application, and all codes corresponding to the application can be obtained according to the project identification.
- different version numbers correspond to different branch codes
- the project identification specifically includes numbers, letters, symbols, At least one of the Chinese characters can also be a combination of multiple.
- the version number is used to distinguish different branch codes of the same application.
- the build script is used to build the branch code into the target project.
- the preset data packet parsing method analysis includes but is not limited to: character segmentation, regular matching, and keyword matching.
- this embodiment adopts a regular matching-based method to parse the version update information, first obtain the separator in the version update information, and use a preset regular expression to match the position of each separator as the division position.
- the version update information is segmented at each segmentation position, and then according to the preset format of the version update information, various analytical contents in the version update information are obtained.
- the preset version update information format is in order: project identification, version number and instruction, the preset separator is ";”, and the obtained version update information is "Ping An Bank; v3.4.1; start packaging", through the use of regular expressions, match the separator ";” in the version update information to obtain two separation positions, and then follow the preset version update information format to obtain three parsed contents , Respectively: the project logo "Ping An Bank", the version number "v3.4.1” and the instruction "start packaging".
- S40 Generate a target update package according to the analysis content according to a preset update package generation method.
- the preset update package generation method is a preset processing method for generating the target update package, which can specifically be obtained from a code library preset on the server side, and the branch code corresponding to the parsed content is obtained, and the branch The code is built for the project, and after the target project is obtained, the target project is reinforced and re-signed to obtain the target update package.
- the server stores a preset application store address for each application, obtains the application store address corresponding to the project identifier through the project identifier corresponding to the target update package, and uploads the obtained target update package to the project identifier Corresponding application store address.
- preset application store address can be one or multiple, which can be set according to actual needs, and there is no specific limitation here.
- the authorization verification is passed after the verification result is obtained.
- the version update data is parsed to obtain the parsed content, so that before the update package is automatically constructed, the authority of the management end user who sends the update package release request is confirmed, which improves the security of the update package release.
- the package generation method generates a target update package based on the parsed content, and then uploads the target update package to the application store, which realizes the automatic generation and release of the application update package, and improves the efficiency of the application update package release.
- the verification information obtained in step S10 is audio information including the current account number and the current password.
- the audio information is obtained by the manager reading and inputting the account password according to the preset voice input method.
- the preset voice input method is to first read the "account”, then read the account, then read the "password”, and then read the password to obtain audio information.
- a specific embodiment is used to verify the authorization of the verification information mentioned in step S20 to obtain the specific implementation method of the verification result in detail.
- FIG. 3 shows a specific implementation process of step S20 provided in an embodiment of the present application, which is detailed as follows:
- S21 Perform voiceprint extraction on the audio information to obtain target voiceprint information.
- the audio information is analyzed by speech signal to obtain the initial voiceprint, and the initial voiceprint is preprocessed and voiceprint feature extraction is performed to obtain the target voiceprint information.
- the specific process can also refer to the description of step S211 to step S215, in order to avoid Repeat, not repeat them here.
- the target voiceprint information is the voiceprint information of the management user of the management terminal that sends the update package release request.
- S22 Compare and verify the target voiceprint information with each preset authority voiceprint information to obtain a voiceprint verification result, where the preset authority voiceprint information is the voiceprint information of an administrative user with the update package release authority.
- the voiceprint information of each management user with the update package release authority is pre-stored as the preset authority voiceprint information, and the voiceprint information obtained in step S21 is calculated through the preset similarity calculation method.
- the similarity between the target voiceprint information and each preset permission voiceprint information is obtained, and the similarity value between the target voiceprint information and each preset permission voiceprint information is obtained. If these similarity values are greater than or equal to the predetermined Set the similarity value of the similarity threshold, it is determined that the target voiceprint information is one of the preset authority voiceprint information, that is, it is determined that the management user of the management terminal sending the update package release request has the authority to release the update package, At this time, it is confirmed that the voiceprint verification result is verified. If these similarity values are all less than the similarity value of the preset similarity threshold, it is determined that the target voiceprint information does not belong to any one of the preset permission voiceprint information. At this time, confirm that the voiceprint verification result is a verification failure.
- the preset similarity calculation methods include but are not limited to: cosine similarity, k-Nearest Neighbor (kNN) classification algorithm, Manhattan Distance (Manhattan Distance), and Hamming distance based on SimHash algorithm.
- the audio information is text-converted through a preset voice-to-text method to obtain the target text.
- the preset voice-to-text method can be implemented through a voice-to-text algorithm, through a third-party tool, or through a third-party application programming interface (Application Programming Interface, API).
- API Application Programming Interface
- S24 parse the target text to obtain the current account number and current password.
- a preset regular expression is used to perform regular matching on the target text to obtain the current account and current password contained in the target text.
- the preset voice input method is to read the "account” first, then read the account, then read the "password”, and then read the password to obtain audio information, and perform voice conversion text based on the audio information.
- the target text is "account yztfb523 password yzt652369”, the "account” and “password” are matched through the preset regular expression, and the text between "account” and “password” is used as the current account, and the "password” The following text is used as the current password.
- S25 Perform legality verification on the current account number and current password, and obtain a login information verification result.
- the legality of the current account and the current password obtained in step S24 is verified to obtain a login information verification result, where the login information verification result includes verification passed and verification failed, and when the legality verification is passed, the login information verification is confirmed The result is that the verification is passed. When the legality verification fails, it is confirmed that the login information verification result is a verification failure.
- the legality verification is used to verify whether the current account and current password are the account and password stored on the server with the update package publishing authority. If the current account is the account stored on the server with the update package publishing authority, continue to verify the current The correctness of the password.
- the legality verification process can refer to the description of step S251 to step S254, and to avoid repetition, it will not be repeated here.
- step S21 to step S22 and step S23 to step S25 there is no inevitable sequence of execution between step S21 to step S22 and step S23 to step S25, and it can be executed in parallel, which is not limited here.
- the voiceprint verification result and the login information verification result are both verified, it is confirmed that the verification result is the permission verification passed.
- the voiceprint verification result is that the verification failed, or the login information verification result is verification failure, or the voiceprint verification result and the login information verification result are both verification failures, then the verification result is confirmed that the authorization verification failed. At this time, the update is rejected
- the package issuance request, and the audio information and verification information are recorded and saved in a preset abnormal information file, so that subsequent analysis of the preset abnormal information file can obtain the cause of the abnormality and make corresponding abnormal handling.
- the target voiceprint information is obtained by extracting the voiceprint of the audio information, and then the target voiceprint information is compared and verified with each preset authority voiceprint information to obtain the voiceprint verification result.
- the preset voice-to-text method converts audio information to text to obtain the target text, and parses the target text to obtain the current account and current password, and then verify the validity of the current account and current password to obtain login information verification As a result, if the voiceprint verification result and the login information verification result are both verified, it is confirmed that the verification result is the permission verification passed.
- the manager reads and enters the account password according to the preset voice entry method to obtain the audio information, and completes the voiceprint information verification and the login information verification at the same time, and quickly performs multiple identity authentication, which improves the efficiency and security of identity authentication.
- the parsed content obtained in step S30 includes the project identification, version number and build script, where the project identification is used to uniquely identify the application, which can be obtained according to the project identification All codes corresponding to the application, in all codes, different version numbers correspond to different branch codes. The version number is used to distinguish different branch codes of the same application.
- step S40 the specific implementation method of generating the target update package according to the parsed content mentioned in step S40 according to the preset update package generation method mentioned in step S40 is described in detail in a specific embodiment.
- FIG. 4 shows a specific implementation process of step S40 provided in an embodiment of the present application, which is detailed as follows:
- the code corresponding to the project identifier is obtained from a preset code library through the project identifier, and the branch code corresponding to the version number is obtained from the code as the target code.
- S42 Use the build script to build the target code to obtain the target project.
- a preset build script is used to build the target code to obtain the target project.
- the preset construction script can be set according to the preset project construction conditions, which is not specifically limited here.
- the obtained target item is reinforced, and the target item after the completion of the reinforced process is re-signed to obtain the target update package.
- reinforcement processing refers to the security detection and security protection processing of the target update package.
- the reinforcement processing includes but not limited to: anti-piracy and cracking encryption processing, security vulnerability detection, distribution and download channel monitoring, and security solutions in professional scenarios Settings, etc., if the application does not do any security protection, the application is extremely vulnerable to virus implantation, advertisement replacement, payment channel tampering, phishing, information hijacking, etc., which seriously infringes the interests of developers.
- reinforcement solutions Effectively prevent threats such as decompilation, debugging, piracy, cracking, and secondary packaging after the application is distributed, ensuring the security of application release.
- re-signing refers to re-signing the obtained update package.
- it needs to be in the application Before publishing, sign the application to ensure the uniqueness of the application version each time it is released.
- the code corresponding to the project identifier is obtained from the preset code library, and the branch code corresponding to the version number is obtained from the code as the target code, and the build script is used to project the target code Build to obtain the target project, and then perform reinforcement processing on the target project, and re-sign the target project after the reinforcement processing is completed to obtain the target update package, which realizes the automatic construction of the target update package and improves the efficiency of the update package construction.
- step S21 the specific implementation method for extracting the voiceprint of the audio information mentioned in step S21 to obtain the target voiceprint information will be described in detail below through a specific embodiment.
- FIG. 5 shows a specific implementation process of step S21 provided in an embodiment of the present application, which is detailed as follows:
- S211 Perform voiceprint analysis on the audio information to obtain an initial voiceprint sample.
- the voice signal contained in the audio information is extracted by way of voice signal extraction as the initial voiceprint sample.
- S212 Perform pre-emphasis processing on the initial voiceprint sample to generate an emphasized voiceprint sample with a flat frequency spectrum.
- pre-emphasis pre-emphasis processing
- the purpose of pre-emphasis is to increase the high-frequency part, flatten the frequency spectrum of the signal and keep it in the entire frequency band from low to high frequency. The same signal-to-noise ratio can be used to find the frequency spectrum to facilitate spectrum analysis or channel parameter analysis.
- Pre-emphasis can be performed before the anti-aliasing filter when the speech signal is digitized, so that not only can pre-emphasis be performed, but the dynamic range of the signal can be compressed, and the signal-to-noise ratio can be effectively improved.
- Pre-emphasis can be implemented using a first-order digital filter, such as a Finite Impulse Response (Finite Impulse Response, FIR) filter.
- FIR Finite Impulse Response
- the voice signals acquired by the device are all analog signals. Before performing pre-emphasis processing on these analog signals, they need to be sampled and quantized to convert the analog information into digital signals. According to the voice frequency spectrum range of 200-3400 Hz, sampling The rate can be set to 8KHz, and the quantization precision is 16bit.
- the speech signal is pre-emphasized, the high-frequency part of the frequency spectrum is improved, and the signal becomes flat, and the accented voiceprint samples with flat frequency spectrum are generated, which is beneficial to the subsequent voiceprint feature extraction.
- the speech signal has short-term stability. After the speech signal has undergone pre-emphasis processing, it needs to be framed and windowed to maintain the short-term stability of the signal. Normally, every second contains The number of frames is between 33 and 100 frames. In order to maintain the continuity between frames, so that two adjacent frames can be smoothly transitioned, the method of overlapping framing is adopted, as shown in Figure 6, which shows an example of overlapping framing. In 6, the overlap between the kth frame and the k+1th frame is the frame shift.
- the value range of the ratio of the frame shift to the frame length is (0, 0.5).
- the pre-emphasized speech signal is s'(n)
- the frame length is N sampling points
- the frame shift is M sampling points.
- the corresponding window function w(n) is used to multiply the pre-emphasized speech signal s'(n) to obtain the windowed speech signal S w , and the speech signal As the initial speech frame signal.
- the window function includes but not limited to: rectangular window (Rectangular), Hamming window (Hamming), Hanning window (Hanning) and so on.
- the rectangular window expression is:
- the Hamming window expression is:
- the Hanning window expression is:
- Framing and windowing are performed on the pre-emphasized voiceprint samples, so that the voiceprint samples maintain the continuity between frames, and some abnormal signal points are removed, which improves the robustness of the voiceprint samples.
- S214 Perform silent sound separation on the initial voice frame to obtain a target voice frame.
- the voice signal can be divided into two states: an active period and a silent period. No voice signal is transmitted during the silent period, and the active period and silent period of the uplink and downlink are independent of each other.
- step S211 in the process of the management user performing recording to obtain audio information, there will be a pause state before and after each pronunciation. This state will bring a pause in the voice signal, that is, the silent period. At this time, it is necessary to detect the silent period state, and then separate the silent period from the active period to obtain the continuous active period, and use the retained voice signal of the continuous active period as the target voice frame.
- the methods for detecting the silent state include but are not limited to: voice endpoint detection, FFMPEG detection audio mute algorithm, and voice activity detection (Voice Activity Detection, VAD) algorithm.
- S215 Extract voiceprint features based on the target speech frame, and use the obtained voiceprint features as target voiceprint information.
- a stable voiceprint sample is obtained, and the sample is used for voiceprint feature extraction, and the obtained voiceprint feature is used as the target voice ⁇ Pattern information.
- the voiceprint feature extraction is to extract and select the acoustic or language features that have strong separability and high stability for the speaker's voiceprint.
- the voiceprint feature selected and extracted by the application is the linear cepstrum feature in the acoustic feature.
- voiceprint analysis is performed on the audio information in the verification information to obtain the initial voiceprint sample
- pre-emphasis is performed on the initial voiceprint sample to generate an emphasized voiceprint sample with a flat frequency spectrum, using framing And the method of adding windows, the emphasized voiceprint samples are divided into frames to obtain a robust initial speech frame, and then the initial speech frame signal is silently separated to filter out interfering silent sounds to obtain the target speech frame , So that the voiceprint sample has continuity and robustness, and then extracts the voiceprint features of the management user from the voiceprint sample, which improves the accuracy and robustness of obtaining target voiceprint features, which is conducive to improving the voiceprint verification Accuracy.
- a specific embodiment is used to verify the legality of the current account and current password mentioned in step S25 to obtain the specific implementation method of the login information verification result in detail. Description.
- FIG. 7 shows a specific implementation process of step S25 provided by an embodiment of the present application, which is detailed as follows:
- S251 Inquire whether there is a basic account that is the same as the current account from the basic account stored in the preset database, and obtain a query result, where the basic account is an account that has update package publishing authority stored in the preset database.
- the account of each management user is stored, and these accounts are grouped according to their permissions, and the account of the management user with the update package publishing permission is used as the basic account.
- the basic account of the preset data storage After parsing to obtain the current account and current password, in the basic account of the preset data storage, query whether there is an account that is the same as the current account, and obtain the query result.
- the query result is that there is an account that is the same as the current account in the basic account stored in the preset database, or the query result is that there is no account that is the same as the current account.
- each basic password corresponds to a basic password.
- the query result is that there is a basic account that is the same as the current account
- the basic account that is the same as the current account is used as the target account.
- S253 Perform consistency verification on the target password and the current password to obtain a verification result.
- the consistency check is performed on the target password and the current password.
- the number of characters in the target password and the current password can be obtained separately. If the number of characters in the target password is the same as the number of characters in the current password, the characters are used Interception function, which intercepts the characters in the same position of the target password and the current password for comparison, or puts the current password and the target password into two initially empty arrays, and then performs array elements at the same position in the two arrays For comparison, if the comparison result of the character at each position or the array element at each position is the same, the verification result is determined to be the same as the target password and the current password. If there are characters or array elements with different comparison results, the verification is determined The result is that the target password is inconsistent with the current password.
- the number of characters in the target password and the current password can be obtained through string length statistical functions, such as: Strlen, str. Length, and Sizeof.
- the character interception function refers to the function used for character string processing in the programming language.
- Commonly used character interception functions include but are not limited to: InStr, InStrRev, InStrB, Mid, Right, Left, etc.
- the verification result is that the target password is consistent with the current password, it is confirmed that the login information verification result is the verification passed.
- the verification result is that the target password is inconsistent with the current password, it means that the current password provided by the manager is wrong, and the verification result of the login information is determined to be failed.
- the query result is obtained by querying whether there is a basic account that is the same as the current account from the basic account stored in the preset database, and when the query result is that there is a basic account that is the same as the current account, The basic account that is the same as the current account is used as the target account, and the basic password corresponding to the target account is obtained as the target password, and then the target password and the current password are checked for consistency to obtain the verification result.
- the result is that the target password is consistent with the current password
- it is determined that the login information verification result is passed, and the current account and current password obtained by parsing the target text are compared with each basic account and basic account stored in the preset database.
- the basic password corresponding to the account is checked for consistency. After the verification is passed, the login information verification result is confirmed to be verified, which ensures the legitimacy of the current account and current password parsed from the audio information, which is beneficial to improve the authorization verification safety.
- Fig. 8 shows a principle block diagram of a version update package publishing device corresponding to the version update package publishing method of the foregoing embodiment one-to-one.
- the release device of the version update package includes a request receiving module 10, a permission verification module 20, a data analysis module 30, an update package generation module 40 and an update package release module 50.
- the detailed description of each functional module is as follows:
- the request receiving module 10 is configured to obtain the verification information and version update data contained in the update package publishing request if the update package publishing request of the application program is received;
- the authority verification module 20 is used to perform authority verification on the verification information to obtain a verification result
- the data analysis module 30 is configured to obtain the target authority range corresponding to the verification information if the verification result is that the authority verification is passed, and analyze the version update data according to the target authority range and the preset data packet analysis method to obtain the analysis content;
- the update package generation module 40 is configured to generate a target update package according to the parsed content according to a preset update package generation method
- the update package publishing module 50 is used to upload the target update package to the application store.
- the authority verification module 20 includes:
- the voiceprint extraction unit 21 is configured to perform voiceprint extraction on audio information to obtain target voiceprint information
- the voiceprint verification unit 22 is used to compare and verify the target voiceprint information with each preset authority voiceprint information to obtain a voiceprint verification result, where the preset authority voiceprint information is a management with the update package release authority User's voiceprint information;
- the text conversion unit 23 is configured to perform text conversion on the audio information by adopting a preset voice conversion method to obtain the target text;
- the text parsing unit 24 is used to parse the target text to obtain the current account and current password;
- the login verification unit 25 is used to verify the legality of the current account number and the current password to obtain the login information verification result;
- the result determining unit 26 is configured to, if the voiceprint verification result and the login information verification result are both verified, confirm that the verification result is that the authorization verification passed.
- update package generation module 40 includes:
- the code obtaining unit 41 is configured to obtain the code corresponding to the project identifier from a preset code library according to the project identifier, and obtain the branch code corresponding to the version number from the code as the target code;
- the project construction unit 42 is used to construct the target code by using the construction script to obtain the target project;
- the reinforcement signature unit 43 is used to perform reinforcement processing on the target item, and re-sign the target item after the reinforcement processing is completed to obtain the target update package.
- the voiceprint extraction unit 21 includes:
- the initial sample acquisition subunit 211 is used to perform voiceprint analysis on audio information to obtain initial voiceprint samples
- the pre-emphasis processing subunit 212 is configured to perform pre-emphasis processing on the initial voiceprint sample to generate an emphasis-processed voiceprint sample with a flat frequency spectrum;
- the framing and windowing subunit 213 is used to perform framing processing on the emphasized voiceprint samples by means of framing and windowing to obtain an initial speech frame;
- the silent sound separation subunit 214 is configured to perform silent sound separation on the initial speech frame to obtain the target speech frame;
- the voiceprint feature extraction subunit 215 is configured to extract voiceprint features based on the target speech frame, and use the obtained voiceprint features as target voiceprint information.
- the login verification unit 25 includes:
- the account query sub-unit 251 is used to query whether there is a basic account that is the same as the current account from the basic account stored in the preset database, and obtain the query result, wherein the basic account is stored in the preset database with update package release Authorized account;
- the password obtaining subunit 252 is configured to, if the query result is that the same basic account as the current account exists, use the same basic account as the current account as the target account, and obtain the basic password corresponding to the target account as the target password;
- the consistency check subunit 253 is used to check the consistency of the target password and the current password to obtain the verification result
- the result determination sub-unit 254 is configured to determine that the login information verification result is passed if the verification result is that the target password is consistent with the current password.
- Each module in the release device of the above version update package can be implemented in whole or in part by software, hardware and a combination thereof.
- the foregoing modules may be embedded in the form of hardware or independent of the processor in the computer device, or may be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the foregoing modules.
- Fig. 9 is a schematic diagram of a computer device provided by an embodiment of the present application.
- the computer device may be a server, and its internal structure diagram may be as shown in FIG. 9.
- the computer equipment includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide calculation and control capabilities.
- the memory of the computer device includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system, computer readable instructions, and a database.
- the internal memory provides an environment for the operation of the operating system and computer-readable instructions in the non-volatile storage medium.
- the database of the computer device is used to store preset authority voiceprint information, a basic account, and a basic password corresponding to the basic account.
- the network interface of the computer device is used to communicate with an external terminal through a network connection.
- a computer device including a memory, a processor, and computer readable instructions stored in the memory and running on the processor.
- the processor executes the computer readable instructions to implement the version update of the above embodiments
- the steps of the package publishing method are, for example, step S10 to step 50 shown in FIG. 2.
- the functions of the modules/units of the release device of the version update package of the foregoing embodiment are realized, such as the functions of the modules 10 to 50 shown in FIG. 8. To avoid repetition, I won’t repeat them here.
- one or more readable storage media storing computer readable instructions are provided.
- the computer readable storage medium stores computer readable instructions, wherein the computer readable instructions are controlled by one or When executed by multiple processors, the one or more processors are executed to implement the steps of the method for publishing the version update package of the foregoing embodiment, or the computer-readable instruction is executed by the processor to implement the version update package of the foregoing embodiment
- the function of each module/unit in the publishing device To avoid repetition, I won’t repeat them here.
- the readable storage medium in this embodiment includes a nonvolatile readable storage medium and a volatile readable storage medium.
- the computer-readable storage medium may include: any entity or device capable of carrying the computer-readable instruction code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory ( Read-Only Memory, ROM), Random Access Memory (RAM), electrical carrier signal and telecommunication signal, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种版本更新包的发布方法、装置、计算机设备及存储介质,所述方法包括:通过在接收到应用程序的更新包发布请求时,获取更新包发布请求中包含的验证信息和版本更新数据,并对验证信息进行权限验证,在得到验证结果为权限验证通过时,对版本更新数据进行解析,得到解析内容,使得在自动构建更新包之前,确认发送更新包发布请求的管理端的用户的权限,提高了更新包发布的安全性,同时,按照预设的更新包生成方式,根据所述解析内容生成目标更新包,再将目标更新包上传到应用商店,实现了应用程序的更新包的自动生成和发布,提高了应用程序的更新包发布的效率。
Description
本申请以2019年3月19日提交的申请号为201910209166.7,名称为“版本更新包的发布方法、装置、计算机设备及存储介质”的中国发明专利申请为基础,并要求其优先权。
本申请涉及数据处理领域,尤其涉及一种版本更新包的发布方法、装置、计算机设备及存储介质。
随着经济的飞速发展和人们生活质量的日益提高,移动智能设备,尤其是智能手机,与人们的生活越来越密切,人们对移动智能设备上的应用程序(Application,APP)的功能需求,在不同时间会有些变化,同时,移动智能设备的APP本身也需要进行一些优化和BUG修复,因而,在移动智能设备的APP发布到应用商店后,需要定时或不定时地对其进行版本更新操作。
当前,移动智能设备的APP开发商在对APP进行版本更新操作时,主要是APP的研发人员对APP的源代码进行更新并测试通过后,由管理用户通过人工的方式,对源代码进行项目构建、签名和加固得到更新包,并设置更新包的相关信息后,进行人工发布,这种人工方式进行更新包构建和发布的过程,由于构建和发布繁琐的流程,容易导致更新包发布效率低,同时,由于发布更新包的管理用户的身份未经过认证,可能存在越权发布或流程不熟悉导致发布出错等一些不规范的情况,导致更新包发布的安全性不高。
发明内容
本申请实施例提供一种版本更新包的发布方法、装置、计算机设备和存储介质,以解决人工方式构建导致的更新包发布效率低和安全性不高的问题。
一种版本更新包的发布方法,包括:
若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;
对所述验证信息进行权限验证,得到验证结果;
若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;
按照预设的更新包生成方式,根据所述解析内容生成目标更新包;
将所述目标更新包上传到应用商店。
一种版本更新包的发布装置,包括:
请求接收模块,用于若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;
权限验证模块,用于对所述验证信息进行权限验证,得到验证结果;
数据解析模块,用于若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;
更新包生成模块,用于按照预设的更新包生成方式,根据所述解析内容生成目标更新包;
更新包发布模块,用于将所述目标更新包上传到应用商店。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;
对所述验证信息进行权限验证,得到验证结果;
若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;
按照预设的更新包生成方式,根据所述解析内容生成目标更新包;
将所述目标更新包上传到应用商店。
一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如下步骤:
若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;
对所述验证信息进行权限验证,得到验证结果;
若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;
按照预设的更新包生成方式,根据所述解析内容生成目标更新包;
将所述目标更新包上传到应用商店。
本申请的一个或多个实施例的细节在下面的附图和描述中提出,本申请的其他特征和优点将从说明书、附图以及权利要求变得明显。
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的版本更新包的发布方法的应用环境示意图;
图2是本申请实施例提供的版本更新包的发布方法的实现流程图;
图3是本申请实施例提供的版本更新包的发布方法中步骤S20的实现流程图;
图4是本申请实施例提供的版本更新包的发布方法中步骤S40的实现流程图;
图5是本申请实施例提供的版本更新包的发布方法中步骤S21的实现流程图;
图6是本申请实施例提供的版本更新包的发布方法中语音信号交叠分帧的示例图;
图7是本申请实施例提供的版本更新包的发布方法中步骤S25的实现流程图;
图8是本申请实施例提供的版本更新包的发布装置的示意图;
图9是本申请实施例提供的计算机设备的示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1示出本申请实施例提供的版本更新包的发布方法的应用环境。该版本更新包的发布方法应用在应用程序的版本更新包发布场景中。该版本更新包发布场景包 括管理端和服务端,其中,管理端和服务端之间通过网络进行连接,管理端向服务端发送更新包发布请求,服务端接收该更新包发布请求,并获取更新包发布请求中包括的验证信息和版本更新信息,并通过验证信息对发送该更新包发布请求的管理人员进行权限验证,在权限验证通过后,根据版本更新信息,进行智能更新,管理端具体可以但不限于是手机、平板电脑、个人计算机(Personal Computer,PC)等智能终端设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图2,图2示出本申请实施例提供的一种版本更新包的发布方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S10:若接收到应用程序的更新包发布请求,则获取更新包发布请求中包含的验证信息和版本更新数据。
具体地,在对应用程序进行更新后,需要对该应用程序对应的代码进行更新包构建,得到应用程序对应的更新包,进而将更新包发布到应用商店,管理用户可以通过管理端向服务端发送应用程序的更新包发布请求,服务端通过网络传输协议接收该更新包发布请求,并获取该更新包发布请求中包含的验证信息和版本更新信息。
其中,验证信息用于服务端对通过管理端发送的更新包发布请求的用户身份进行验证,在本实施例中,为避免误操作或者越权操作,在管理用户通过管理端向服务端发送更新包发布请求之前,需要先提供验证信息,并将验证信息与版本更新信息一起写入到更新包发布请求中发送,该验证信息具体包括但不限于:管理用户的指纹信息、管理用户的语音信息、管理用户的账号密码信息或管理用户的证件信息等,具体可根据实际情况进行设置,此处不做限定。
优选地,本实施例采用带有账号密码信息的管理用户的语音信息来作为验证信息,即管理用户录入一段语音信息,该语音信息中包含管理用户的账号密码信息,将该语音信息作为该管理用户的验证信息。
其中,版本更新信息是指应用程序需要进行更新的信息,包括但不限于:项目标识、版本信息和更新时间等,版本更新信息有固定的格式和分隔符,以便后续可以快速进行解析。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet Control Message Protocol,ICMP)、地址解析协议(ARP Address Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
S20:对验证信息进行权限验证,得到验证结果。
具体地,针对不同职位的管理用户,在服务端预先设置的相应权限不一定相同,服务端在获取到验证信息和版本更新信息后,需要先对验证信息进行权限验证,以确定通过管理端进行发送更新包发布请求的管理用户是否具有更新包发布的权限。
在本实施例中,权限验证可以是但不限于是通过账号密码进行验证或者通过生物特征进行验证等,其中,生物特征包括但不限于:指纹特征、人脸特征、声纹特征和虹膜特征等。
若采用账号密码进行权限验证,则在服务端预先存储有每个管理用户标识对应的账号密码,以及每个管理用户标识对应的权限,在接收到验证信息后,获取该验证信息中的账号密码信息,进而将该账号密码信息与预先存储的每个管理用户标识对应的账号密码进行匹配,将匹配成功的账号密码对应的管理用户标识作为当前管理用户标识,并获取当前管理用户标识对应的权限作为目标权限,进而判断该目标权限是否包括更新包发布的权限,若该目标权限包括更新包发布的权限,则权限验证通过,若该目标权限不包括更新包发布的权限,则权限验证失败,并向管理端发送权限不匹配的提示信息。容易理解地,若验证信息中的账号密码与每个管理用户标识对应的账号密码均匹配失败,则确认权限验证失败,并向管理端发送账号密码有误的提示信息。
若采用生物特征进行权限验证,则在服务端预先存储有每个管理用户标识对应的生物特征,以及每个管理用户标识对应的权限,在接收到验证信息后,获取该验证信息中的生物特征,作为当前生物特征,进而分别计算当前生物特征与预先存储的每个管理用户标识对应的生物特征的相似度值,并将最大的相似度值与预设的相似度阈值进行比较,若最大的相似度值大于或等于预设的相似度阈值,则将最大的相似度值对应的管理用户标识作为目标管理用户标识,并获取目标管理用户标识对应的权限作为目标权限,进而判断该目标权限是否包括更新包发布的权限,若该目标权限包括更新包发布的权限,则权限验证通过,若该目标权限不包括更新包发布的权限,则权限验证失败,并向管理端发布权限不匹配的提示信息。容易理解地,若最大的相似度值小于预设的相似度阈值,则判断生物特征不符合要求,确认权限验证失败,并向管理端发送权限验证失败的提示信息。
值得说明的是,权限验证的方式可以根据实际需要,选择账号密码验证,或者根据实际需要,进行生物特征识别,也可以是其他方式,此处不做具体限制。
优选地,本实施例采用包含账号密码和声纹特征的音频信息来进行权限验证,也即,接收到的验证信息中,需要包括带有账号密码内容的语音信息,验证信息具体可以是一段音频文件,也可以是一段视频文件,可按照实际验证的需要进行设定,此处不做具体限制,通过音频信息进行权限验证,具体过程可参考本实施例中步骤S21至步骤S26的描述的方法,为避免重复,此处不再赘述。
S30:若验证结果为权限验证通过,则获取验证信息对应的目标权限范围,并按照目标权限范围和预设的数据包解析方式,对版本更新数据进行解析,得到解析内容。
具体地,在对发送更新包发布请求的管理端的管理用户的权限进行确认通过后,即确定该更新包发布请求的合法性后,获取该验证信息对应的目标权限范围,并根据目标权限范围和预设的数据包解析方式,对获取到的版本更新信息进行解析,得到解析内容。
值得说明的是,在本实施例中,不同管理人员具有的发布权限不同,例如,张三具有的发布权限为对第一分支代码、第二分支代码和第三分支代码进行更新发布的权限,李四具有的发布权限为对第四分支代码和第五分支代码进行更新发布的权限,在解析内容中包含的更新内容超出了目标权限范围时,将超出范围的内容作为无权限发布的内容,将忽略该部分内容,并向客户端发送相关提示信息。
进一步地,解析内容可以包括项目标识、版本号和构建脚本。
其中,项目标识用于对应用程序进行唯一标识,根据项目标识可以获取应用程序对应的所有代码,在本实施例中,不同版本号对应不同的分支代码,项目标识具体包括数字、字母、符号、汉字中的至少一种,也可以是多种的组合。
其中,版本号用于区分同一应用程序的不同分支代码。
其中,构建脚本用于将分支代码构建成目标项目。
其中,由于版本更新信息具有固定格式,因而,对获取到的版本更新信息进行解析,预设的数据包解析方式解析包括但不限于:字符分割、正则匹配和关键字匹配等。
优选地,本实施例采用基于正则匹配的方式对版本更新信息进行解析,先获取版本更新信息中的分隔符,使用预设的正则表达式,匹配到每个分隔符的位置,作为分割位置,在每个分割位置对版本更新信息进行分割,再按照预设的版本更新信息的格式,得到版本更新信息中的各项解析内容。
例如,在一具体实施方式中,预设的版本更新信息格式按照次序依次为:项目标识、版本号和指令,预设的分隔符为“;”,获取到的版本更新信息为“平安银行;v3.4.1;开始打包”,通过采用正则表达式,对该版本更新信息中的分隔符“;”进行匹配,得到两个分隔位置,进而按照预设的版本更新信息格式,得到三个解析内容,分别为:项目标识“平安银行”、版本号“v3.4.1”和指令“开始打包”。
S40:按照预设的更新包生成方式,根据解析内容生成目标更新包。
具体地,预设的更新包生成方式为预先设置的生成目标更新包的处理方式,其具体可以是从服务端预设的代码库中,获取所述解析内容对应的分支代码,并对该分支代码进行项目构建,得到目标项目后,对该目标项目进行加固和重签名处理,得到目标更新包。
S50:将目标更新包上传到应用商店。
具体地,服务端针对每个应用存储有预设的应用商店地址,通过目标更新包对应的项目标识,获取与该项目标识对应的应用商店地址,并将得到的目标更新包上传到该项目标识对应的应用商店地址。
值得说明的是,预设的应用商店地址可以为一个,也可以为多个,可以根据实际需求进行设置,此处不做具体限定。
在本实施例中,通过在接收到应用程序的更新包发布请求时,获取更新包发布请求中包含的验证信息和版本更新数据,并对验证信息进行权限验证,在得到验证结果为权限验证通过时,对版本更新数据进行解析,得到解析内容,使得在自动构建更新包之前,确认发送更新包发布请求的管理端的用户的权限,提高了更新包发布的安全性,同时,按照预设的更新包生成方式,根据所述解析内容生成目标更新包,再将目标更新包上传到应用商店,实现了应用程序的更新包的自动生成和发布,提高了应用程序的更新包发布的效率。
在图2对应的实施例的基础之上,步骤S10中获取的验证信息为包含当前账号和当前密码的音频信息。该音频信息为管理人员根据预设语音录入的方式,对账号密码进行朗读录入得到。例如,在一具体实施方式中,预设语音录入的方式为先朗读“账号”然后读出账号,再朗读“密码”,然后读出密码,得到音频信息。
进一步地,下面通过一个具体的实施例来对步骤S20中所提及的对验证信息进行权限验证,得到验证结果的具体实现方法进行详细说明。
请参阅图3,图3示出了本申请实施例提供的步骤S20的具体实现流程,详述如下:
S21:对音频信息进行声纹提取,得到目标声纹信息。
具体地,对音频信息进行语音信号解析,得到初始声纹,并初始声纹进行预处理和声纹特征提取,得到目标声纹信息,具体过程也可以参考步骤S211至步骤S215的描述,为避免重复,此处不再赘述。
容易理解地,目标声纹信息为发送更新包发布请求的管理端的管理用户的声纹信息。
S22:将目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息。
具体地,在服务端,预先存储有每个具有更新包发布权限的管理用户的声纹信息,作为预设的权限声纹信息,通过预设的相似度计算方式,分别计算步骤S21中得到的目标声纹信息与每个预设的权限声纹信息的相似度,得到目标声纹信息与每个预设的权限声纹信息的相似度值,若这些相似度值中,存在大于或等于预设相似度阈值的相似度值,则确定该目标声纹信息为预设的权限声纹信息中的一个,也即,确定发送更新包发布请求的管理端的管理用户,具有更新包发布的权限,此时,确认声纹验证结果为验证通过,若这些相似度值均小于预设相似度阈值的相似度值,则确定该目标声纹信息不属于预设的权限声纹信息中的任意一个,此时,确认声纹验证结果为验证失败。
其中,预设的相似度计算方式包括但不限于:余弦相似性、最近邻(k-NearestNeighbor,kNN)分类算法、曼哈顿距离(Manhattan Distance)、基于SimHash算法的汉明距离等。
S23:采用预设的语音转换文本的方式,对音频信息进行文本转换,得到目标文本。
具体地,通过预设的语音转换文本的方式,对音频信息进行文本转换,得到目标文本。
其中,预设的语音转换文本的方式可以是通过语音转换文本算法,也可以是通过第三方工具来实现,还可以是通过调用第三方应用程序编程接口(Application Programming Interface,API)来实现,可依据实际需求进行选择,此处不做限定。
S24:对目标文本进行解析,得到当前账号和当前密码。
具体地,采用预设好的正则表达式对目标文本进行正则匹配,得到目标文本中包含的当前账号和当前密码。
例如,在一具体实施方式中,预设语音录入的方式为先朗读“账号”然后读出账号,再朗读“密码”,然后读出密码,得到音频信息,根据该音频信息进行语音转换文本,得到目标文本为“账号yztfb523密码yzt652369”,通过预设的正则表达式,匹配出“账号”和“密码”,并将“账号”和“密码”之间的文本作为当前账号,将“密码”之后的文本作为当前密码。
S25:对当前账号和当前密码进行合法性验证,得到登录信息验证结果。
具体地,对步骤S24中得到的当前账号和当前密码的合法性进行验证,得到登录信息验证结果,其中,登录信息验证结果包括验证通过和验证失败,在合法性验证通过时,确认登录信息验证结果为验证通过,在合法性验证失败时,确认登录信息验证结果为验证失败。
其中,合法性验证是用于验证当前账号和当前密码是否为服务端存储的具有更新包发布权限的账号和密码,若当前账号为服务端存储的具有更新包发布权限的账号,则继续验证当前密码的正确性。合法性的验证过程可参考步骤S251至步骤S254的描述,为避免重复,此处不再赘述。
需要说明的是,步骤S21至步骤S22,与步骤S23至步骤S25之间,没有必然的先后执行顺序,其可以是并列执行的关系,此处不做限制。
S26:若声纹验证结果和登录信息验证结果均为验证通过,则确认验证结果为权限验证通过。
具体地,在声纹验证结果和登录信息验证结果均为验证通过,则确认验证结果为权限验证通过。
若声纹验证结果为验证失败,或者,登录信息验证结果为验证失败,或者声纹验证结果和登录信息验证结果均为验证失败,则确认验证结果为权限验证失败,此时,拒绝此次更新包发布请求,并将该音频信息和验证信息进行记录并保存到预设的异常信息文件中,以便后续可以通过对该预设的异常信息文件进行分析,得到异常原因,并作出相应异常处理。
在本实施例中,通过对音频信息进行声纹提取,得到目标声纹信息,进而将目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,同时,采用预设的语音转换文本的方式,对音频信息进行文本转换,得到目标文本,并对目标文本进行解析,得到当前账号和当前密码,进而对当前账号和当前密码进行合法性验证,得到登录信息验证结果,在声纹验证结果和登录信息验证结果均为验证通过,则确认验证结果为权限验证通过。实现了管理人员根据预设语音录入的方式,对账号密码进行朗读录入得到音频信息,同时完成声纹信息验证和登录信息验证,快捷多重进行身份认证,提升了身份认证的效率和安全性。
在图2或图3对应的实施例的基础之上,步骤S30中得到的解析内容包括项目标识、版本号和构建脚本,其中,项目标识用于对应用程序进行唯一标识,根据项目标识可以获取应用程序对应的所有代码,所有代码中,不同版本号对应不同的分支代码。版本号用于区分同一应用程序的不同分支代码。
进一步地,下面通过一个具体的实施例来对步骤S40中所提及的按照预设的更新包生成方式,根据解析内容生成目标更新包的具体实现方法进行详细说明。
请参阅图4,图4示出了本申请实施例提供的步骤S40的具体实现流程,详述如下:
S41:根据项目标识,从预设的代码库中获取所述项目标识对应的代码,并从代码中获取版本号对应的分支代码,作为目标代码。
具体地,通过项目标识,从预设的代码库中获取该项目标识对应的代码,并从该代码中获取该版本号对应的分支代码,作为目标代码。
S42:使用构建脚本,对目标代码进行项目构建,得到目标项目。
具体地,使用预设的构建脚本,对目标代码进行项目构建,得到目标项目。
其中,预设的构建脚本可以根据预先设定的项目构建条件进行设置,此处不作具体限定。
S43:对目标项目进行加固处理,并对完成加固处理后的目标项目进行重签名处理,得到目标更新包。
具体地,对得到的目标项目进行加固处理,并对完成加固处理后的目标项目进行重签名处理,得到目标更新包。
其中,加固处理是指对目标更新包进行安全检测和安全防护处理,加固处理包括但不限于:防盗版和破解的加密处理、安全性漏洞检测、分发下载渠道监控和专业场景下的安全解决方案设置等,若应用不做任何安全防护,则应用程序极易被病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等,严重侵害开发者的利益,通过对应用程序进行加固方案处理,有效防止应用分发后,被反编译、调试、盗版、破解、二次打包等威胁,保障了应用程序发布的安全性。
其中,重签名是指对得到的更新包进行重新签名操作,为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,需要在应用程序发布前,对应用程序进行签名,保证每次发布的应用程序版本的唯一性。
在本实施例中,根据项目标识,从预设的代码库中获取项目标识对应的代码,并从代码中获取版本号对应的分支代码,作为目标代码,并使用构建脚本,对目标代码进行项目构建,得到目标项目,进而对目标项目进行加固处理,并对完成加固处理后的目标项目进行重签名处理,得到目标更新包,实现了自动构建目标更新包,提高了更新包构建的效率。
在图3对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S21中所提及的对音频信息进行声纹提取,得到目标声纹信息的具体实现方法进行详细说明。
请参阅图5,图5示出了本申请实施例提供的步骤S21的具体实现流程,详述如下:
S211:对音频信息进行声纹解析,得到初始声纹样本。
具体地,通过语音信号提取的方式,提取音频信息中包含的语音信号,作为初始声纹样本。
S212:对初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本。
具体地,由于声门激励和口鼻辐射会对语音信号的平均功率谱产生影响,导致高频在超过800Hz时会按6dB/倍频跌落,所以在计算语音信号频谱时,频率越高相应的成分越小,为此要在预处理中进行预加重(Pre-emphasis)处理,预加重的目的是提高高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于频谱分析或者声道参数分析。预加重可在语音信号数字化时在反混叠滤波器之前进行,这样不仅可以进行预加重,而且可以压缩信号的动态范围,有效地提高信噪比。预加重可使用一阶的数字滤波器来实现,例如:有限脉冲响应(Finite Impulse Response,FIR)滤波器。
值得说明的是,利用设备获取的语音信号都是模拟信号,在对这些模拟信号进行预加重处理之前,需要经过采样和量化将模拟信息转化为数字信号,根据语音的频谱范围200-3400Hz,采样率可设置为8KHz,量化精度为16bit。
应理解,此处采样率和量化精度的数值范围,为本申请优选范围,但可以根据实际应用的需要进行设置,此处不做限制。
语音信号在经过预加重后,频谱的高频部分得到提升,信号也变得平坦,生成具有平坦频谱的加重处理声纹样本,有利于后续的声纹特征提取。
S213:采用分帧和加窗的方式,对加重处理声纹样本进行分帧处理,得到初始语音帧。
具体地,语音信号具有短时平稳的性质,语音信号在经过预加重处理后,需要对其进行分帧和加窗处理,来保持信号的短时平稳性,通常情况下,每秒钟包含的帧数在33~100帧之间。为了保持帧与帧之间的连续性,使得相邻两帧都能平滑过渡,采用交叠分帧的方式,如图6所示,图6示出了交叠分帧的样例,在图6中,第k帧和第k+1帧之间的交叠部分即为帧移。
优选地,帧移与帧长的比值的取值范围为(0,0.5)。
例如,在一具体实施方式中,预加重后的语音信号为s'(n),帧长为N个采样点,帧移为M个采样点。当第l帧对应的采样点为第n个时,原始语音信号x
l(n)与各参数之间的对应关系为:
x
l(n)=x[(l-1)M+n]
其中,n=0,1,...,N-1,N=256。
进一步地,声纹样本经过分帧之后,使用相应的窗函数w(n)与预加重后的语音信号s'(n)相乘,即得到加窗后的语音信号S
w,将该语音信号作为初始语音帧信号。
其中,窗函数包括但不限于:矩形窗(Rectangular)、汉明窗(Hamming)和汉宁窗(Hanning)等。
矩形窗表达式为:
汉明窗表达式为:
汉宁窗表达式为:
对经过预加重处理的声纹样本进行分帧和加窗处理,使得声纹样本保持帧与帧之间的连续性,并剔除掉一些异常的信号点,提高了声纹样本的鲁棒性。
S214:对初始语音帧进行静默音分离,得到目标语音帧。
具体地,在通话持续期间,语音信号可分为激活期和静默期两个状态,静默期不传送任何语音信号,上、下行链路的激活期和静默期相互独立。在步骤S211中,管理用户进行录音获取音频信息的过程中,在每次发音前后,均会有停顿的状态,这个状态会带来语音信号的停顿,即静默期,在进行声纹特征提取的时候,需要检测出静默期状态,进而将静默期与激活期进行分离,以得到持续的激活期,将保留下来的持续的激活期的语音信号作为目标语音帧。
其中,检测静默音状态的方式包括但不限于:语音端点检测、FFMPEG探测音频静音算法和语音活动检测(Voice Activity Detection,VAD)算法等。
S215:基于目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
具体地,在经过预加重处理、分帧和加窗和静默音分离之后,获取了稳定性强的声纹样本,使用该样本进行声纹特征的提取,并将得到的声纹特征作为目标声纹信息。
其中,声纹特征提取是提取并选择对说话人的声纹具有可分性强、稳定性高等特性的声学或语言特征。
优选地,本申请选择提取的声纹特征为声学特征中的线性倒谱特征。
在本实施例中,针对验证信息中的音频信息进行声纹解析,得到该初始声纹样本,并对初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本,采用分帧和加窗的方式,对加重处理声纹样本进行分帧处理,得到具有鲁棒性的初始语音帧,然后对初始语音帧信号进行静默音分离,过滤掉有干扰的静默音,得到目标语音帧,使得声纹样本具有连续性和鲁棒性,进而从该声纹样本中提取管理用户的声纹特征,提升了获取目标声纹特征的准确度和鲁棒性,有利于提高声纹验证的准确率。
在图3对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S25中所提及的对当前账号和当前密码进行合法性验证,得到登录信息验证结果的具体实现方法进行详细说明。
请参阅图7,图7示出了本申请实施例提供的步骤S25的具体实现流程,详述如下:
S251:从预设的数据库存储的基础账号中,查询是否存在与当前账号相同的基础账号,得到查询结果,其中,基础账号为预设的数据库中存储的具有更新包发布权限的账号。
具体地,在服务端预设的数据库中,存储有每个管理用户的账号,并对这些账号按照权限进行分组,将具有更新包发布权限的管理用户的账号作为基础账号,在对目标文本进行解析,得到当前账号和当前密码后,在预设的数据存储的基础账号中,查询是否存在与当前账号相同的账号,得到查询结果。
其中,查询结果为预设的数据库存储的基础账号中存在与当前账号相同的账号,或者,查询结果为不存在与当前账号相同的账号。
容易理解的,若预设的数据库存储的基础账号中存在与当前账号相同的账号,则需要继续对当前密码进行验证,以校验当前密码与该基础账号对应的基础密码是否一致,若预设的数据库存储的基础账号中不存在与当前账号相同的账号,则直接确定登录信息验证结果为验证失败。
S252:若查询结果为存在与当前账号相同的基础账号,则将与当前账号相同的基础账号作为目标账号,并获取目标账号对应的基础密码,作为目标密码。
具体地,在预设的数据库中,每个基础密码对应有一个基础密码,在查询结果为存在与所述当前账号相同的基础账号时,将与所述当前账号相同的基础账号作为目标账号,并获取目标账号对应的基础密码,作为目标密码,以便后续使用该目标密码与当前密码进行比较。
S253:对目标密码和当前密码进行一致性校验,得到校验结果。
具体地,对目标密码和当前密码进行一致性校验,具体可以是先分别获取目标密码和当前密码的字符个数,若目标密码的字符个数和当前密码的字符个数相同,则使用字符截取函数,分别截取目标密码和当前密码相同位置的字符进行比较,或者,将当前密码和目标密码分别放入两个初始为空的数组中,进而对这两个数组中相同位置的数组元素进行比较,若每个位置的字符或者每个位置的数组元素的比较结果均为相同,则确定校验结果为目标密码与当前密码一致,若存在比较结果不同的字符或者数组元素,则确定校验结果为目标密码与当前密码不一致。
其中,获取目标密码和当前密码的字符个数可以通过字符串长度统计函数,例如:Strlen、str.Length和Sizeof等。
其中,字符截取函数指的是编程语言中用来进行字符串处理的函数,常用的字符截取 函数包括但不限于:InStr,InStrRev,InStrB,Mid,Right和Left等。
应理解,若获取到目标密码的字符个数和当前密码的字符个数不相同,则可直接判定目标密码和当前密码不一致,而无需进行后续的字符比较的过程,即可确定登录信息验证结果为验证失败。
S254:若校验结果为目标密码与当前密码一致,则确定登录信息验证结果为验证通过。
具体地,在校验结果为目标密码与当前密码一致时,确认登录信息验证结果为验证通过。
若校验结果为目标密码与当前密码不一致,则说明管理人员提供的当前密码错误,确定登录信息验证结果为验证不通过。
在本实施例中,通过从预设的数据库存储的基础账号中,查询是否存在与所述当前账号相同的基础账号,得到查询结果,并在查询结果为存在与当前账号相同的基础账号时,将所述与所述当前账号相同的基础账号作为目标账号,并获取目标账号对应的基础密码,作为目标密码,进而对目标密码和当前密码进行一致性校验,得到校验结果,在校验结果为目标密码与当前密码一致时,则确定登录信息验证结果为验证通过,实现了通过将目标文本中解析得到的当前账号和当前密码,与预设的数据库中存储的每个基础账号和基础账号对应的基础密码进行一致性校验,在校验通过后,确认登录信息验证结果为验证通过,确保了通过音频信息中解析出的当前账号和当前密码的合法性,有利于提高权限验证的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图8示出与上述实施例版本更新包的发布方法一一对应的版本更新包的发布装置的原理框图。如图8所示,该版本更新包的发布装置包括请求接收模块10、权限验证模块20、数据解析模块30、更新包生成模块40和更新包发布模块50。各功能模块详细说明如下:
请求接收模块10,用于若接收到应用程序的更新包发布请求,则获取更新包发布请求中包含的验证信息和版本更新数据;
权限验证模块20,用于对验证信息进行权限验证,得到验证结果;
数据解析模块30,用于若验证结果为权限验证通过,则获取验证信息对应的目标权限范围,并按照目标权限范围和预设的数据包解析方式,对版本更新数据进行解析,得到解析内容;
更新包生成模块40,用于按照预设的更新包生成方式,根据解析内容生成目标更新包;
更新包发布模块50,用于将目标更新包上传到应用商店。
进一步地,权限验证模块20包括:
声纹提取单元21,用于对音频信息进行声纹提取,得到目标声纹信息;
声纹验证单元22,用于将目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息;
文本转换单元23,用于采用预设的语音转换文本的方式,对音频信息进行文本转换,得到目标文本;
文本解析单元24,用于对目标文本进行解析,得到当前账号和当前密码;
登录验证单元25,用于对当前账号和当前密码进行合法性验证,得到登录信息验证结果;
结果确定单元26,用于若声纹验证结果和登录信息验证结果均为验证通过,则确认验证结果为权限验证通过。
进一步地,更新包生成模块40包括:
代码获取单元41,用于根据项目标识,从预设的代码库中获取项目标识对应的代码,并从该代码中获取版本号对应的分支代码,作为目标代码;
项目构建单元42,用于使用构建脚本,对目标代码进行项目构建,得到目标项目;
加固签名单元43,用于对目标项目进行加固处理,并对完成加固处理后的目标项目进行重签名处理,得到目标更新包。
进一步地,声纹提取单元21包括:
初始样本获取子单元211,用于对音频信息进行声纹解析,得到初始声纹样本;
预加重处理子单元212,用于对初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本;
分帧加窗子单元213,用于采用分帧和加窗的方式,对加重处理声纹样本进行分帧处理,得到初始语音帧;
静默音分离子单元214,用于对初始语音帧进行静默音分离,得到目标语音帧;
声纹特征提取子单元215,用于基于目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
进一步地,登录验证单元25包括:
账号查询子单元251,用于从预设的数据库存储的基础账号中,查询是否存在与当前账号相同的基础账号,得到查询结果,其中,基础账号为预设的数据库中存储的具有更新包发布权限的账号;
密码获取子单元252,用于若查询结果为存在与当前账号相同的基础账号,则将与当前账号相同的基础账号作为目标账号,并获取目标账号对应的基础密码,作为目标密码;
一致性校验子单元253,用于对目标密码和当前密码进行一致性校验,得到校验结果;
结果确定子单元254,用于若校验结果为目标密码与当前密码一致,则确定登录信息验证结果为验证通过。
关于版本更新包的发布装置的具体限定可以参见上文中对于版本更新包的发布方法的限定,在此不再赘述。上述版本更新包的发布装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图9是本申请一实施例提供的计算机设备的示意图。该计算机设备可以是服务端,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作***和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储预设的权限声纹信息、基础账号和基础账号对应的基础密码。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种版本更新包的发布方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现上述实施例版本更新包的发布方法的步骤,例如图2所示的步骤S10至步骤50。或者,处理器执行计算机可读指令时实现上述实施例版本更新包的发布装置的各模块/单元的功能,例如图8所示的模块10至模块50的功能。为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,提供一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现上述实施例版本更新包的发布方法的步骤,或者,该计算机可读指令被处理器执行时实现上述实施例版本更新包的发布装置中各模块/单元的功能。为避免重复,这里不再赘述。本实施例中的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号和电信信号等。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (20)
- 一种版本更新包的发布方法,其特征在于,所述版本更新包的发布方法包括:若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;对所述验证信息进行权限验证,得到验证结果;若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;按照预设的更新包生成方式,根据所述解析内容生成目标更新包;将所述目标更新包上传到应用商店。
- 如权利要求1所述的版本更新包的发布方法,其特征在于,所述验证信息为包含当前账号和当前密码的音频信息;所述对所述验证信息进行权限验证,得到验证结果包括:对所述音频信息进行声纹提取,得到目标声纹信息;将所述目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,所述预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息;采用预设的语音转换文本的方式,对所述音频信息进行文本转换,得到目标文本;对所述目标文本进行解析,得到所述当前账号和所述当前密码;对所述当前账号和所述当前密码进行合法性验证,得到登录信息验证结果;若所述声纹验证结果和所述登录信息验证结果均为验证通过,则确认所述验证结果为权限验证通过。
- 如权利要求1或2所述的版本更新包的发布方法,其特征在于,所述解析内容包括项目标识、版本号和构建脚本;所述按照预设的更新包生成方式,根据所述解析内容生成目标更新包包括:根据所述项目标识,从预设的代码库中获取所述项目标识对应的代码,并从所述代码中获取所述版本号对应的分支代码,作为目标代码;使用所述构建脚本,对所述目标代码进行项目构建,得到目标项目;对所述目标项目进行加固处理,并对完成加固处理后的所述目标项目进行重签名处理,得到目标更新包。
- 如权利要求2所述的版本更新包的发布方法,其特征在于,所述对所述音频信息进行声纹提取,得到目标声纹信息包括:对所述音频信息进行声纹解析,得到初始声纹样本;对所述初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本;采用分帧和加窗的方式,对所述加重处理声纹样本进行分帧处理,得到初始语音帧;对所述初始语音帧进行静默音分离,得到目标语音帧;基于所述目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
- 如权利要求2所述的版本更新包的发布方法,其特征在于,所述对所述当前账号和所述当前密码进行合法性验证,得到登录信息验证结果包括:从预设的数据库存储的基础账号中,查询是否存在与所述当前账号相同的基础账号,得到查询结果,其中,所述基础账号为所述预设的数据库中存储的具有更新包发布权限的账号;若查询结果为存在与所述当前账号相同的基础账号,则将所述与所述当前账号相同的基础账号作为目标账号,并获取所述目标账号对应的基础密码,作为目标密码;对所述目标密码和所述当前密码进行一致性校验,得到校验结果;若所述校验结果为所述目标密码与所述当前密码一致,则确定所述登录信息验证结果 为验证通过。
- 一种版本更新包的发布装置,其特征在于,所述版本更新包的发布装置包括:请求接收模块,用于若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;权限验证模块,用于对所述验证信息进行权限验证,得到验证结果;数据解析模块,用于若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;更新包生成模块,用于按照预设的更新包生成方式,根据所述解析内容生成目标更新包;更新包发布模块,用于将所述目标更新包上传到应用商店。
- 如权利要求6所述的版本更新包的发布装置,其特征在于,所述验证信息为包含当前账号和当前密码的音频信息;所述权限验证模块包括:声纹提取单元,用于对所述音频信息进行声纹提取,得到目标声纹信息;声纹验证单元,用于将所述目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,所述预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息;文本转换单元,用于采用预设的语音转换文本的方式,对所述音频信息进行文本转换,得到目标文本;文本解析单元,用于对所述目标文本进行解析,得到当前账号和当前密码;登录验证单元,用于对所述当前账号和所述当前密码进行合法性验证,得到登录信息验证结果;结果确定单元,用于若所述声纹验证结果和所述登录信息验证结果均为验证通过,则确认所述验证结果为权限验证通过。
- 如权利要求6或7所述的版本更新包的发布装置,其特征在于,所述解析内容包括项目标识、版本号和构建脚本;所述更新包生成模块包括:代码获取单元,用于根据所述项目标识从预设的代码库中获取所述项目标识对应的代码,并从所述代码中获取所述版本号对应的分支代码,作为目标代码;项目构建单元,用于使用所述构建脚本,对所述目标代码进行项目构建,得到目标项目;加固签名单元,用于对所述目标项目进行加固处理,并对完成加固处理后的所述目标项目进行重签名处理,得到目标更新包。
- 如权利要求7所述的版本更新包的发布装置,其特征在于,所述声纹提取单元包括:初始样本获取子单元,用于对所述音频信息进行声纹解析,得到初始声纹样本;预加重处理子单元,用于对所述初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本;分帧加窗子单元,用于采用分帧和加窗的方式,对所述加重处理声纹样本进行分帧处理,得到初始语音帧;静默音分离子单元,用于对所述初始语音帧进行静默音分离,得到目标语音帧;声纹特征提取子单元,用于基于所述目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
- 如权利要求7所述的版本更新包的发布装置,其特征在于,所述登录验证单元包括:账号查询子单元,用于从预设的数据库存储的基础账号中,查询是否存在与所述当前账号相同的基础账号,得到查询结果,其中,所述基础账号为所述预设的数据库中存储的 具有更新包发布权限的账号;密码获取子单元,用于若查询结果为存在与所述当前账号相同的基础账号,则将所述与所述当前账号相同的基础账号作为目标账号,并获取所述目标账号对应的基础密码,作为目标密码;一致性校验子单元,用于对所述目标密码和所述当前密码进行一致性校验,得到校验结果;结果确定子单元,用于若所述校验结果为所述目标密码与所述当前密码一致,则确定所述登录信息验证结果为验证通过。
- 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;对所述验证信息进行权限验证,得到验证结果;若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;按照预设的更新包生成方式,根据所述解析内容生成目标更新包;将所述目标更新包上传到应用商店。
- 如权利要求11所述的计算机设备,其特征在于,所述验证信息为包含当前账号和当前密码的音频信息;所述对所述验证信息进行权限验证,得到验证结果包括:对所述音频信息进行声纹提取,得到目标声纹信息;将所述目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,所述预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息;采用预设的语音转换文本的方式,对所述音频信息进行文本转换,得到目标文本;对所述目标文本进行解析,得到所述当前账号和所述当前密码;对所述当前账号和所述当前密码进行合法性验证,得到登录信息验证结果;若所述声纹验证结果和所述登录信息验证结果均为验证通过,则确认所述验证结果为权限验证通过。
- 如权利要求11或12所述的计算机设备,其特征在于,所述解析内容包括项目标识、版本号和构建脚本;所述按照预设的更新包生成方式,根据所述解析内容生成目标更新包包括:根据所述项目标识,从预设的代码库中获取所述项目标识对应的代码,并从所述代码中获取所述版本号对应的分支代码,作为目标代码;使用所述构建脚本,对所述目标代码进行项目构建,得到目标项目;对所述目标项目进行加固处理,并对完成加固处理后的所述目标项目进行重签名处理,得到目标更新包。
- 如权利要求12所述的计算机设备,其特征在于,所述对所述音频信息进行声纹提取,得到目标声纹信息包括:对所述音频信息进行声纹解析,得到初始声纹样本;对所述初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本;采用分帧和加窗的方式,对所述加重处理声纹样本进行分帧处理,得到初始语音帧;对所述初始语音帧进行静默音分离,得到目标语音帧;基于所述目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
- 如权利要求12所述的计算机设备,其特征在于,所述对所述当前账号和所述当前 密码进行合法性验证,得到登录信息验证结果包括:从预设的数据库存储的基础账号中,查询是否存在与所述当前账号相同的基础账号,得到查询结果,其中,所述基础账号为所述预设的数据库中存储的具有更新包发布权限的账号;若查询结果为存在与所述当前账号相同的基础账号,则将所述与所述当前账号相同的基础账号作为目标账号,并获取所述目标账号对应的基础密码,作为目标密码;对所述目标密码和所述当前密码进行一致性校验,得到校验结果;若所述校验结果为所述目标密码与所述当前密码一致,则确定所述登录信息验证结果为验证通过。
- 一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如下步骤:若接收到应用程序的更新包发布请求,则获取所述更新包发布请求中包含的验证信息和版本更新数据;对所述验证信息进行权限验证,得到验证结果;若所述验证结果为权限验证通过,则获取所述验证信息对应的目标权限范围,并按照所述目标权限范围和预设的数据包解析方式,对所述版本更新数据进行解析,得到解析内容;按照预设的更新包生成方式,根据所述解析内容生成目标更新包;将所述目标更新包上传到应用商店。
- 如权利要求16所述的可读存储介质,其特征在于,所述验证信息为包含当前账号和当前密码的音频信息;所述对所述验证信息进行权限验证,得到验证结果包括:对所述音频信息进行声纹提取,得到目标声纹信息;将所述目标声纹信息与每个预设的权限声纹信息进行对比验证,得到声纹验证结果,其中,所述预设的权限声纹信息为具有更新包发布权限的管理用户的声纹信息;采用预设的语音转换文本的方式,对所述音频信息进行文本转换,得到目标文本;对所述目标文本进行解析,得到所述当前账号和所述当前密码;对所述当前账号和所述当前密码进行合法性验证,得到登录信息验证结果;若所述声纹验证结果和所述登录信息验证结果均为验证通过,则确认所述验证结果为权限验证通过。
- 如权利要求16或17所述的可读存储介质,其特征在于,所述解析内容包括项目标识、版本号和构建脚本;所述按照预设的更新包生成方式,根据所述解析内容生成目标更新包包括:根据所述项目标识,从预设的代码库中获取所述项目标识对应的代码,并从所述代码中获取所述版本号对应的分支代码,作为目标代码;使用所述构建脚本,对所述目标代码进行项目构建,得到目标项目;对所述目标项目进行加固处理,并对完成加固处理后的所述目标项目进行重签名处理,得到目标更新包。
- 如权利要求17所述的可读存储介质,其特征在于,所述对所述音频信息进行声纹提取,得到目标声纹信息包括:对所述音频信息进行声纹解析,得到初始声纹样本;对所述初始声纹样本进行预加重处理,生成具有平坦频谱的加重处理声纹样本;采用分帧和加窗的方式,对所述加重处理声纹样本进行分帧处理,得到初始语音帧;对所述初始语音帧进行静默音分离,得到目标语音帧;基于所述目标语音帧,提取声纹特征,将得到的声纹特征作为目标声纹信息。
- 如权利要求17所述的可读存储介质,其特征在于,所述对所述当前账号和所述当 前密码进行合法性验证,得到登录信息验证结果包括:从预设的数据库存储的基础账号中,查询是否存在与所述当前账号相同的基础账号,得到查询结果,其中,所述基础账号为所述预设的数据库中存储的具有更新包发布权限的账号;若查询结果为存在与所述当前账号相同的基础账号,则将所述与所述当前账号相同的基础账号作为目标账号,并获取所述目标账号对应的基础密码,作为目标密码;对所述目标密码和所述当前密码进行一致性校验,得到校验结果;若所述校验结果为所述目标密码与所述当前密码一致,则确定所述登录信息验证结果为验证通过。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910209166.7 | 2019-03-19 | ||
CN201910209166.7A CN110083365A (zh) | 2019-03-19 | 2019-03-19 | 版本更新包的发布方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020186802A1 true WO2020186802A1 (zh) | 2020-09-24 |
Family
ID=67413348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/119957 WO2020186802A1 (zh) | 2019-03-19 | 2019-11-21 | 版本更新包的发布方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110083365A (zh) |
WO (1) | WO2020186802A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083365A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 版本更新包的发布方法、装置、计算机设备及存储介质 |
CN112583766A (zh) * | 2019-09-29 | 2021-03-30 | 富士施乐实业发展(中国)有限公司 | 一种安全信息的远程交互方法、装置及*** |
CN110659053A (zh) * | 2019-10-10 | 2020-01-07 | 珠海格力电器股份有限公司 | 程序更新方法、装置、存储介质及电子设备 |
CN112667996A (zh) * | 2020-12-28 | 2021-04-16 | 南方电网数字电网研究院有限公司 | 变电站可信管理***、方法、装置和计算机设备 |
CN112817623B (zh) * | 2021-01-26 | 2021-10-08 | 北京自如信息科技有限公司 | 应用程序的发版方法、装置、移动终端及可读存储介质 |
CN114466026B (zh) * | 2022-01-05 | 2024-05-14 | 杭州网易云音乐科技有限公司 | 应用程序接口的更新方法、装置、存储介质和计算设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108351771A (zh) * | 2015-11-05 | 2018-07-31 | 微软技术许可有限责任公司 | 维持对于在部署到云计算环境期间的受限数据的控制 |
US20180316508A1 (en) * | 2015-12-01 | 2018-11-01 | Intel Corporation | Methods and apparatus to provide for efficient and secure software updates |
CN108829439A (zh) * | 2018-06-22 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种代码发布方法及装置 |
CN108874409A (zh) * | 2017-05-09 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种信息更新方法、装置、服务器及*** |
CN109117178A (zh) * | 2018-08-20 | 2019-01-01 | 中国平安人寿保险股份有限公司 | 应用程序版本发布方法、装置及存储设备、计算机设备 |
CN109473108A (zh) * | 2018-12-15 | 2019-03-15 | 深圳壹账通智能科技有限公司 | 基于声纹识别的身份验证方法、装置、设备及存储介质 |
CN110083365A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 版本更新包的发布方法、装置、计算机设备及存储介质 |
-
2019
- 2019-03-19 CN CN201910209166.7A patent/CN110083365A/zh active Pending
- 2019-11-21 WO PCT/CN2019/119957 patent/WO2020186802A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108351771A (zh) * | 2015-11-05 | 2018-07-31 | 微软技术许可有限责任公司 | 维持对于在部署到云计算环境期间的受限数据的控制 |
US20180316508A1 (en) * | 2015-12-01 | 2018-11-01 | Intel Corporation | Methods and apparatus to provide for efficient and secure software updates |
CN108874409A (zh) * | 2017-05-09 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种信息更新方法、装置、服务器及*** |
CN108829439A (zh) * | 2018-06-22 | 2018-11-16 | 泰康保险集团股份有限公司 | 一种代码发布方法及装置 |
CN109117178A (zh) * | 2018-08-20 | 2019-01-01 | 中国平安人寿保险股份有限公司 | 应用程序版本发布方法、装置及存储设备、计算机设备 |
CN109473108A (zh) * | 2018-12-15 | 2019-03-15 | 深圳壹账通智能科技有限公司 | 基于声纹识别的身份验证方法、装置、设备及存储介质 |
CN110083365A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 版本更新包的发布方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110083365A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020186802A1 (zh) | 版本更新包的发布方法、装置、计算机设备及存储介质 | |
US10904246B2 (en) | Single channel input multi-factor authentication via separate processing pathways | |
US10546585B2 (en) | Localizing and verifying utterances by audio fingerprinting | |
CN109493872B (zh) | 语音信息验证方法及装置、电子设备、存储介质 | |
AU2008209307B2 (en) | Voice recognition system and methods | |
EP2880834B1 (en) | Using the ability to speak as a human interactive proof | |
US20160292408A1 (en) | Continuously authenticating a user of voice recognition services | |
US11252152B2 (en) | Voiceprint security with messaging services | |
EP3248188B1 (en) | Authentication method | |
CN109729067A (zh) | 语音打卡方法、装置、设备和计算机存储介质 | |
US20220272088A1 (en) | Generating sensor-based identifier | |
Das et al. | Fingerprinting smart devices through embedded acoustic components | |
EP3839777B1 (en) | Acoustic signatures for voice-enabled computer systems | |
Alattar et al. | Privacy‐preserving hands‐free voice authentication leveraging edge technology | |
US20240127825A1 (en) | Authentication method and system | |
CN111600901A (zh) | 一种应用鉴权方法、装置、设备及计算机可读存储介质 | |
RU2723902C1 (ru) | Способ верификации голосовых биометрических данных | |
US20240203428A1 (en) | Authentication method and system | |
US11461452B2 (en) | Generating sensor-based identifier | |
GB2612397A (en) | An authentication method and system | |
CN113808603B (zh) | 一种音频篡改检测方法、装置、服务器和存储介质 | |
US20220262370A1 (en) | Processing Input Data | |
EP4046041A1 (en) | Using multi-factor authentication as a labeler for machine learning- based authentication | |
Petry et al. | Speaker recognition techniques for remote authentication of users in computer networks | |
PATHAK | Network Security Implementation layer through Voice Biometric |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19920301 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.01.2022) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19920301 Country of ref document: EP Kind code of ref document: A1 |