CN109871215B - Method and device for software release - Google Patents

Method and device for software release Download PDF

Info

Publication number
CN109871215B
CN109871215B CN201711264716.2A CN201711264716A CN109871215B CN 109871215 B CN109871215 B CN 109871215B CN 201711264716 A CN201711264716 A CN 201711264716A CN 109871215 B CN109871215 B CN 109871215B
Authority
CN
China
Prior art keywords
software
user
feature
software feature
features
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711264716.2A
Other languages
Chinese (zh)
Other versions
CN109871215A (en
Inventor
潘亚男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711264716.2A priority Critical patent/CN109871215B/en
Publication of CN109871215A publication Critical patent/CN109871215A/en
Application granted granted Critical
Publication of CN109871215B publication Critical patent/CN109871215B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application provides a method and a device for software release, which can effectively mine potential customers aiming at updated software features, so that an updated software version can be used by more potential users. The method comprises the following steps: acquiring a first software feature updated by the first software version to be released relative to the released second software version. And determining a second software feature associated with the first software feature according to a software feature association relation, wherein the software feature association relation is used for representing an association relation between at least two software features. And determining a first user corresponding to the second software characteristic according to the access information of at least one user to at least one software characteristic. Pushing the first software version to the first user.

Description

Method and device for software release
Technical Field
The present application relates to the field of computers, and more particularly, to a method and apparatus for software distribution in the field of computers.
Background
With the continuous development of internet technology, the application program version is updated more and more frequently, and new functions need to be released frequently. However, the existing new function pushing method cannot push more users to use, cannot obtain verification of more effective users, and cannot obtain use of more potential users only by dividing different user tags or recommending according to the frequency of use of each module and the like. For example, when a software release containing new functionality is released, people (i.e., users) are tagged and then the release is pushed from the population of existing tags. Or when a software version containing new functions is released, module division is carried out on the software functions according to human factors, the use frequency of each module is counted, and updating is carried out aiming at users with more use frequencies.
Therefore, in the prior art, users with high relevance cannot be selected in a targeted manner to be published, updated contents may be used without people or feedback of functional problems is insufficient, and larger-scale potential users cannot be mined.
Disclosure of Invention
The application provides a method and a device for software release, which can effectively mine potential customers aiming at updated software features, so that an updated software version can be used by more potential users.
In a first aspect, a method for software release is provided, including:
acquiring a first software feature updated by the first software version to be released relative to the released second software version.
And determining a second software feature associated with the first software feature according to a software feature association relation, wherein the software feature association relation is used for representing an association relation between at least two software features, and the at least two software features comprise the first software feature and the second software feature.
And determining a first user corresponding to the second software feature according to the access information of at least one user to at least one software feature, wherein the at least one user comprises the first user, and the at least one software feature comprises the second software feature.
Pushing the first software version to the first user.
According to the method and the device, the software features related to the updated software features can be determined according to the association relation of the software features, and the users corresponding to the software features are determined to be new function release users according to the access information of the users to the software features. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, in this embodiment of the present application, access information of at least one user to at least one software feature may be acquired. Specifically, the access information of the user to the software features is, for example, the number of times the user accesses the software features, a code coverage rate, a method access frequency, an error reporting and code ratio, a time and code ratio, and the like. Therefore, by collecting the access information of the user to the software features, a user feature analysis library based on software dimensions can be established, and further the corresponding relation between the user (or the user features) and the software features is established.
In addition, the user characteristics can be described based on the access information of the user to the software characteristics, so that the user characteristics not only include the inherent attributes of the user, but also include the access information of the user to the software characteristics.
Optionally, the method further includes: and determining a second user corresponding to the first software feature according to the access information, wherein the at least one user comprises the second user, and the at least one software feature comprises the first software feature.
And determining a third user associated with the second user according to the user feature association relationship, where the user feature association relationship is used to indicate an association relationship in which at least two users access the same software feature, for example, the user feature association relationship is used to indicate that the inherent attributes of the two users are the same or similar, or that the two users access a certain software feature similarly. Wherein the at least two users include the second user and the third user.
Pushing the first software version to the third user.
According to the method and the device, the user corresponding to the updated software feature can be determined according to the access information of the user to the software feature, and the user associated with the user is determined to be a new function issuing user further according to the user feature association relation. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, the method further includes: and determining a fourth user associated with the first user according to a user characteristic association relation, wherein the user characteristic association relation is used for representing an association relation that at least two users access the same software characteristic, and the at least two users comprise the first user and the fourth user.
Pushing the first software version to the fourth user.
Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, the software feature association relationship includes at least one relationship of invocation, reference, access and implementation of one software feature to another software feature. And when the association similarity of two software features to the same software feature is high, the similarity of the two software features is high.
Optionally, the software feature association relationship includes a relationship that at least two software features are accessed simultaneously in one access of the user. Specifically, at this time, the software feature association relationship may be specifically expressed as an association access value between the software features, and the association access value may express a probability that at least two software features are simultaneously accessed in one access by one user.
Optionally, the software features include at least one of: functions, packages, classes, methods, functions, objects, lines, and interfaces of software.
In a second aspect, an embodiment of the present application provides a device for software release, configured to perform the method in the first aspect or any possible implementation manner of the first aspect, and specifically, the device includes a module for performing the method in the first aspect or any possible implementation manner of the first aspect.
In a third aspect, an embodiment of the present application provides an apparatus for issuing software, including: a memory and a processor. Wherein the memory is configured to store instructions and the processor is configured to execute the instructions stored by the memory, and when the processor executes the instructions stored by the memory, the execution causes the processor to perform the first aspect or the method of any possible implementation manner of the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable medium for storing a computer program comprising instructions for performing the method of the first aspect or any possible implementation manner of the first aspect.
In a fifth aspect, the present application further provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the method of the first aspect or any possible implementation manner of the first aspect.
Drawings
Fig. 1 is a schematic diagram of a system architecture for software distribution according to an embodiment of the present application.
Fig. 2 is a schematic diagram of another system architecture for software distribution according to an embodiment of the present application.
Fig. 3 is a schematic diagram of a specific embodiment of a method for issuing software according to an embodiment of the present application.
Fig. 4 is a schematic block diagram of a software distribution apparatus according to an embodiment of the present application.
Fig. 5 is a schematic block diagram of another software distribution apparatus according to an embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a system architecture for software release according to an embodiment of the present application. The system comprises an acquisition module 11, a user characteristic calculation module 12, a software characteristic calculation module 13, a software update analyzer 14 and a user selector 15.
The collecting module 11 is configured to collect access information of at least one user to at least one software feature. The data collected by the collection module 11 is raw user data. Here, the user may correspond to a unique identifier, such as a session Identifier (ID) or a user identifier (user ID). Specifically, the collection module 11 may first collect an execution record of the software by the user by using an overlay tool, such as jacoco, and then establish a corresponding relationship between the unique identifier of the user and the execution record in the software execution process. As an example, the execution record of the software by the user may be, for example, the frequency of coverage of the code block a by the user 1.
The acquisition module 11 may classify and count the execution records into different software features, where the software features include at least any one of the following: functions, packages, classes, methods, functions, objects, lines, and interfaces of software.
In particular, the source code of a software release may be divided into software features such as software functional modules, packages, classes, methods, functions, objects, lines, and interfaces. Project's source code may be divided into 2 functions, 4 packages, 20 classes, 50 methods, 25 objects, 3000 line code, 10 interfaces, for example. Wherein each functional module, package, class, method, function, object, row, and interface can be a software feature. Alternatively, the functional modules, packages, classes, methods, functions, objects, lines, and interfaces in the source code may be combined into one software feature in one or more combinations, for example, 1, 2, 6 of 10 interfaces is one feature, and 3, 4, 5, 7-10 are one feature. In some possible implementations, the classification of the software features may be performed by machine learning. It is understood that a software feature is a dimension that pertains to the software itself, and a software feature may also be referred to as a software feature dimension.
In this way, by processing the raw user data collected by the collection module 11, access data of multiple users to different software features can be obtained. In the embodiment of the application, the user characteristics can be characterized based on the access condition of the user to the software characteristics. That is, the user feature in the embodiment of the present application may include not only the inherent attribute of the user but also access information of the user to the software feature.
The inherent attributes of the user are, for example, information such as the age, geographical location, occupation, hobby, and label of the user, and in particular, the inherent attributes of the user can be referred to in the description of the prior art and will not be described in detail herein.
The access information of the user to the software features is, for example, the number of times of access of the user to the software features, code coverage, method access frequency, error reporting and code ratio, time and code ratio, and the like. Therefore, by collecting the access information of the user to the software features, a user feature analysis library based on software dimensions can be established, and further the corresponding relation between the user (or the user features) and the software features is established.
It should be noted that the code coverage is the code coverage of the source code of the software feature in one access of the user, where the code coverage may be counted in units of lines. The error reporting and code ratio is the code ratio of error reporting in one access of the user counted by the background. The time to code ratio is the ratio of user access to the code of the source code of the software feature over a period of time.
The user characteristic calculating module 12 is configured to determine a user characteristic association relationship according to the access information (i.e., user characteristics) of the user to the software characteristics, which is acquired by the acquiring module 11, where the user characteristic association relationship is used to indicate an association relationship between different user characteristics, for example, the user characteristic association relationship is used to indicate that the inherent attributes of two users are the same or similar, or the access of two users to a certain software characteristic is similar.
In particular, when a user characteristic includes user access information to a software characteristic, the user characteristics of at least two users may be said to be associated if the at least two users have access to a certain software characteristic. For example, if the access frequency of each of the user 1 and the user 2 to the method a is 10 times and the access frequency of each of the user 1 and the user 2 to the method B is 1 time and 9 times, respectively, the association degree between the user 1 and the user 2 on the method a is high and the association degree on the method B is low.
The software feature calculating module 13 is configured to determine a software feature association relationship, where the software feature association relationship is used to represent an association relationship between at least two software features. In a possible implementation manner, the software feature calculating module 13 may determine the software feature association relationship according to the access information of the user to the software feature, which is acquired by the acquiring module 11.
Here, the software feature association relationship includes at least one relationship of invocation, reference, access and implementation of one software feature to another software feature. In some possible implementations, the software feature calculation module 13 may calculate actions such as invocation, reference, access, method implementation, etc. of one software feature to another software feature through a source code overlay tool (e.g., jacoco). And when the association similarity of two software features to the same software feature is high, the similarity of the two software features is high. For example, if the number of calls of the function a and the function B to the function C is 5 and the number of calls of the function D to the function C is 1, it can be determined that the similarity between the function a and the function B is higher than the similarity between the function a and the function D and the similarity between the function a and the function B is higher than the similarity between the function B and the function D.
Alternatively, the software feature association relationship includes a relationship in which at least two software features are simultaneously accessed in one access by the user. Specifically, at this time, the software feature association relationship may be specifically expressed as an association access value between the software features, and the association access value may express a probability that at least two software features are accessed in one access by one user. For example, the software feature a and the software feature B are in all accesses of the system, after the user accesses the software feature a, 95% of users will continue to access the software feature B, and it can be considered that there is a software feature association relationship between the software feature a and the software feature B, and the associated access value of the software feature a and the software feature B is 95%.
The software update analyzer 14 is configured to determine software features updated for a first software version to be released (release version) relative to a second software version that has been released (user-used version), which may be referred to as first software features. Specifically, when the new software is released at a certain time, the software update analyzer 14 module may obtain a difference point between the first software version and the second software version through a source code scanning or the like, and then may divide the difference point into software features by using the acquisition module 11.
The user selector 15 is configured to determine, according to the user feature association determined by the user feature calculation module 12 and/or the software feature association determined by the software feature calculation module 13, a user associated with the first software feature determined by the software update analyzer 14, so as to enable a new version push release to the user.
In one possible implementation, the user selector 15 may determine a second software feature associated with the first software feature according to a software feature association relationship, where the software feature association relationship is used to represent an association relationship between at least two software features, and the at least two software features include the first software feature and the second software feature. Then, the user selector determines a first user corresponding to the second software feature according to the access information of at least one user to at least one software feature, and pushes the first software version to the first user. Here, the at least one user includes the first user and the at least one software feature includes the second software feature.
For example, according to the similarity associated with the software features, the software feature ranking from high to low in similarity with the updated software features may be determined, then the ranking of the user features corresponding to the software features may be calculated, and the user with the top ranking may be selected for pushing.
For another example, after a user accesses one of the software features, other software features may be pushed to the user according to the association rules of two or more software features. For example, if the access association between the module a and the module B is high, but the user does not access the module B, the module B may be pushed to the user.
According to the method and the device, the software features related to the updated software features can be determined according to the association relation of the software features, and the users corresponding to the software features are determined to be new function release users according to the access information of the users to the software features. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
In another possible implementation, the user selector 15 may determine the second user corresponding to the first software feature according to the above-mentioned access information. Here, the at least one user includes the second user and the at least one software feature includes the first software feature. And then, determining a third user associated with the second user according to a user characteristic association relation, wherein the user characteristic association relation is used for representing an association relation that at least two users access the same software characteristic, and the at least two users comprise the second user and the third user. Then, the first software version is pushed to the second user and/or the third user.
According to the method and the device, the user corresponding to the updated software feature can be determined according to the access information of the user to the software feature, and the user associated with the user is determined to be a new function issuing user further according to the user feature association relation. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
In another possible implementation manner, the user selector 15 may further determine a fourth user associated with the first user according to the user characteristic association relationship. The user feature association relationship is used for representing an association relationship in which at least two users access the same software feature, and the at least two users include the first user and the fourth user. Then, the first software version is pushed to the fourth user. That is to say, in the embodiment of the present application, when the similarity of the user characteristics of two users reaches the threshold, if one of the users selects push, the other users may also push. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Fig. 2 is a schematic block diagram illustrating another system architecture for software distribution according to an embodiment of the present application. It should be understood that fig. 2 shows modules or units of a system architecture for software distribution, but these modules or units are merely examples, and the embodiments of the present application may also have other modules or variations of the individual modules in fig. 2. Furthermore, the connection or arrangement of the various units in fig. 2 may be arranged in a different way than presented in fig. 2, and it is possible not to have all the modules in fig. 2.
Specifically, the user may perform a service action through the terminal. At this time, the front end may give a prompt whether the user allows collecting the user operation and pushing the software version according to the user information. Foreground user feature collector 201 and server user feature collector 202 may collect user operational data on the software if the user so permits. If the user does not allow, foreground user feature collector 201 and server user feature collector 202 do not work.
Specifically, the foreground user characteristic collector 201 and the server user characteristic collector 202 may implement various functions of the acquisition module 11 in fig. 1, which may refer to the description in fig. 1, and are not described herein again to avoid repetition.
In this embodiment, the foreground user characteristic collector 201 and the server user characteristic collector 202 may store the collected data in the user operation process in the database 203. Specifically, the operation data may be stored in the database 203 by using the user ID as the primary key, that is, the database 203 may store the ID of each user and the operation data of the user on the software corresponding to each user ID.
The user characteristic calculator 204 and the software characteristic calculator 205 may perform analysis calculations on the data stored in the database 203. In particular, the raw user data in database 203 may be categorized into software functions, including, classes, methods, functions, objects, rows, interfaces, and other software features. Then, the user characteristic calculator 204 calculates a user characteristic association between the respective user data, and the software characteristic calculator 205 calculates a software characteristic association between the respective software characteristics. Here, the user characteristic association is used to indicate an association between different user characteristics, for example, the user characteristic association is used to indicate that the inherent attributes of two users are the same or similar, or that the accesses of two users to a certain software characteristic are similar. The software feature association comprises at least one of invocation, reference, access and implementation of one software feature to another software feature, or the software feature association comprises a relationship in which at least two software features are accessed simultaneously in one access by a user. Specifically, the user characteristic calculator 204 may implement the functions of the user characteristic calculation module 12 in fig. 1, and the software characteristic calculator 205 may implement the functions of the software characteristic calculation module 13 in fig. 1.
The data determined by the user characteristic calculator 204 and the software characteristic calculator 205 may be stored in a database 206. Specifically, the database 203 and the database 206 may be one database or two databases. Also, when database 203 and database 206 are one database, the databases need to be logically isolated.
The software update analyzer 207 may obtain new software features from a software update. Specifically, the software update analyzer 207 may classify differences into software functions, packages, classes, methods, functions, objects, lines, interfaces based on source code differences between the new version and the user version.
The user selection calculator 208, after obtaining the at least one updated software feature determined by the software update analyzer 207, may determine the users corresponding to the updated software feature in the database 2, i.e. find all users comprising this piece of software feature in the database 2. And, all users associated with the user characteristics of the user can be further found out.
Alternatively, the user selection calculator 208 may locate software features in the database 2 that are associated with software features of the updated features. As an example, the software feature having the highest similarity to the updated software feature may be determined to be the software feature associated with the updated feature. And then according to the access information of the user to the software features, determining the user corresponding to the updated software features and determining the user corresponding to the software features associated with the updated software features. For example, the user selector may determine that a user corresponding to a software feature that has an associated access value for the updated software feature that exceeds a threshold (e.g., 95%) makes a push of the new version.
In addition, when the number of the software features associated with the updated software features is multiple, the multiple software features may be recorded in a software feature list, and the software features may be sorted in the software list according to the similarity between the software features and the updated software features from high to low. When the number of the users corresponding to the software features is multiple, the multiple users can be recorded in a user list mode, and at the moment, the user list is the user recorded in the system and having the most experience in operating the updated software features, so that the updated software version can be pushed to the users in the user list.
Therefore, according to the embodiment of the application, the software feature associated with the updated software feature can be determined according to the association relation of the software feature, and the user corresponding to the software feature is determined to be the new function release user according to the access information of the user to the software feature. Or, the embodiment of the application can determine the user corresponding to the updated software feature according to the access information of the user to the software feature, and further determine the user associated with the user as the new function issuing user according to the user feature association relation. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
A specific embodiment of the software distribution method of the present application will be described in detail below with reference to fig. 3. It should be noted that the following examples are merely intended to assist those skilled in the art in understanding and implementing the embodiments of the present application, and do not limit the scope of the embodiments of the present application. Equivalent alterations and modifications may be made by those skilled in the art based on the examples given herein, and such alterations and modifications are intended to be within the scope of the embodiments of the present application.
First, a user accesses a public cloud system through a terminal. Specifically, the user performs login operation, alarm browsing operation and alarm operation on the terminal in sequence.
Then, the foreground user feature collector (specifically, may be an embedded page) records operations of the user on the page, including checking the alarm content, turning the page, inputting a user name and a password, and the like. The background user characteristic collector records the access of the user to the background module as an authentication method, the access of the alarm object, the sequencing and the writing of the user library. Only the software features recorded by the background user feature collector are shown in fig. 3, and the software features recorded by the foreground user feature collector are not shown.
The user characteristic calculator and the software characteristic calculator respectively count the user data acquired by the user characteristic collector. As an example, it can be obtained that the login operation accesses the authentication method 1 time, the alarm browsing operation accesses the alarm object access method 2 times, the alarm browsing operation accesses the sorting method 20 times, the alarm operation accesses the alarm object access method 2 times, and the alarm operation accesses the data base writing method 2 times.
The user characteristic calculator can obtain that the user accesses the sequencing method 20 times, the alarm object access method 4 times, the authentication method once and the data base writing method 2 times in the browsing process. The user characteristic calculator then stores the calculated data in a database.
The software characteristic calculator can calculate the calling times of the alarm browsing to the sequencing method as 20 times, the calling times of the alarm browsing to the alarm object access method as 2 times, the calling times of the login to the authentication method as 1 time, the calling times of the alarm operation to the alarm object access method as 2 times and the calling times of the alarm operation to the write database method as 2 times. The software feature calculator then stores the calculated data in a database.
Through all the operations of all the users on the terminal, software feature modules associated with each user can be counted, and meanwhile, a user list of users associated with each software feature module can be obtained, wherein each user in the user list is ranked from high to low according to the degree of association with the software feature of each user, namely the first user in the user list is the user who has the most experience on the software feature. For example, through statistics of all users, it can be obtained that User 1(User 1) is most experienced in login operation, User 2(User 2) is most experienced in alarm browsing operation, and User 3(User 3) is most experienced in alarm operation.
In one software update, when the updated content obtained by the software update analyzer includes the newly added log statistical function, since the log analysis function is accessed 20 times to the sorting method and the log object is accessed 2 times, it can be determined that the newly added log statistical function is similar to the alarm browse in sorting, and the log statistical function can be issued to the user 2 who has the most experience corresponding to the alarm browse operation.
Therefore, according to the embodiment of the application, the software feature associated with the updated software feature can be determined according to the association relation of the software feature, and the user corresponding to the software feature is determined to be the new function release user according to the access information of the user to the software feature. Or, the embodiment of the application can determine the user corresponding to the updated software feature according to the access information of the user to the software feature, and further determine the user associated with the user as the new function issuing user according to the user feature association relation. Therefore, the method and the device can effectively mine potential customers according to the updated software features, and further enable the updated software version to be used by more potential users.
The method for software release provided by the embodiment of the present application is described in detail above with reference to fig. 1 to 3, and the apparatus for software release provided by the embodiment of the present application is described in detail below with reference to fig. 4 and 5.
Fig. 4 shows a schematic block diagram of an apparatus 400 for software distribution according to an embodiment of the present application. The apparatus 400 comprises an obtaining unit 410, a determining unit 420 and a pushing unit 430.
The obtaining unit 410 is configured to obtain a first software feature that the first software version to be released is updated with respect to the second software version that has been released.
A determining unit 420, configured to determine a second software feature associated with the first software feature according to a software feature association relationship, where the software feature association relationship is used to represent an association relationship between at least two software features, and the at least two software features include the first software feature and the second software feature.
The determining unit 420 is further configured to determine, according to access information of at least one user to at least one software feature, a first user corresponding to the second software feature, where the at least one user includes the first user, and the at least one software feature includes the second software feature.
A pushing unit 430, configured to push the first software version to the first user.
According to the method and the device, the software features related to the updated software features can be determined according to the association relation of the software features, and the users corresponding to the software features are determined to be new function release users according to the access information of the users to the software features. Therefore, the method and the device can effectively mine potential customers according to the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, the determining unit 420 is further configured to determine, according to the access information, a second user corresponding to the first software feature, where the at least one user includes the second user, and the at least one software feature includes the first software feature.
The determining unit 420 is further configured to determine a third user associated with the second user according to a user feature association relationship, where the user feature association relationship is used to represent an association relationship in which at least two users access the same software feature, and the at least two users include the second user and the third user.
The pushing unit 430 is further configured to push the first software version to the third user.
According to the method and the device, the user corresponding to the updated software feature can be determined according to the access information of the user to the software feature, and the user associated with the user is determined to be a new function issuing user further according to the user feature association relation. Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, the determining unit 420 is further configured to determine a fourth user associated with the first user according to a user feature association relationship, where the user feature association relationship is used to represent an association relationship in which at least two users access the same software feature, and the at least two users include the first user and the fourth user.
The pushing unit 430 is further configured to push the first software version to the fourth user.
Therefore, the method and the device for mining the software version can effectively mine potential customers aiming at the updated software features, and further enable the updated software version to be used by more potential users.
Optionally, the software feature association relationship includes at least one relationship of invocation, reference, access and implementation of one software feature to another software feature.
Optionally, the software feature association relationship includes a relationship that at least two software features are accessed simultaneously in one access of the user.
Optionally, the software features include at least one of: functions, packages, classes, methods, functions, objects, lines, and interfaces of software.
It should be noted that, in the embodiment of the present invention, the obtaining unit 410, the determining unit 420, and the pushing unit 430 may be implemented by a processor. As shown in fig. 5, the apparatus 600 for software distribution may include a processor 610 and a memory 620. Memory 620 may be used to store, among other things, feature profiles and code executed by processor 610.
In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 610. The steps of a method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware processor, or may be implemented by a combination of hardware and software modules in the processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 620, and the processor 610 reads the information in the memory 620 and performs the steps of the above method in combination with the hardware thereof. To avoid repetition, it is not described in detail here.
The apparatus 400 for software release shown in fig. 4 or the apparatus 600 for software release shown in fig. 5 can implement various processes corresponding to the method embodiments shown in fig. 1 to fig. 3, and specifically, the apparatus 400 for software release or the apparatus 600 for software release may refer to the descriptions in fig. 1 to fig. 3, and is not described herein again to avoid repetition.
Embodiments of the present application further provide a computer-readable storage medium, which includes a computer program and when the computer program runs on a computer, the computer is caused to execute the method provided by the above method embodiments.
Embodiments of the present application further provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the method provided by the above method embodiments.
It should be understood that the Processor mentioned in the embodiments of the present invention may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, a discrete hardware component, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
It will also be appreciated that the memory referred to in embodiments of the invention may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash Memory. Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory. By way of example, but not limitation, many forms of RAM are available, such as Static random access memory (Static RAM, SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic random access memory (DDR SDRAM), Enhanced Synchronous SDRAM (ESDRAM), Synchronous link SDRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
It should be noted that when the processor is a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, the memory (memory module) is integrated in the processor.
It should be noted that the memory described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
It should be understood that the descriptions of the first, second, etc. appearing in the embodiments of the present application are only for illustrating and differentiating the objects, and do not represent a particular limitation to the number of devices in the embodiments of the present application, and do not constitute any limitation to the embodiments of the present application.
It should be understood that the term "and/or" herein is merely one type of association relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein indicates that the former and latter associated objects are in an "or" relationship.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (8)

1. A method of software distribution, comprising:
acquiring a first software feature updated by a first software version to be released relative to a released second software version;
determining a second software feature associated with the first software feature according to a software feature association relation, wherein the software feature association relation is used for representing an association relation between at least two software features, and the at least two software features comprise the first software feature and the second software feature;
determining a first user corresponding to the second software feature according to access information of at least one user to at least one software feature, wherein the at least one user comprises the first user, and the at least one software feature comprises the second software feature;
pushing the first software version to the first user;
the software feature association relationship comprises at least one relationship of calling, reference, access and implementation of one software feature to another software feature; or alternatively
The software feature association relationship includes a relationship in which at least two software features are simultaneously accessed in one access by a user.
2. The method of claim 1, further comprising:
determining a second user corresponding to the first software feature according to the access information, wherein the at least one user comprises the second user, and the at least one software feature comprises the first software feature;
determining a third user associated with the second user according to a user feature association relation, wherein the user feature association relation is used for representing an association relation that at least two users access the same software feature, and the at least two users comprise the second user and the third user;
pushing the first software version to the third user.
3. The method of claim 1 or 2, further comprising:
determining a fourth user associated with the first user according to a user feature association relation, wherein the user feature association relation is used for representing an association relation that at least two users access the same software feature, and the at least two users comprise the first user and the fourth user;
pushing the first software version to the fourth user.
4. The method of claim 1 or 2, wherein the software features comprise at least one of: functions, packages, classes, methods, functions, objects, lines, and interfaces of software.
5. An apparatus for software distribution, comprising:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a first software feature updated by a first software version to be released relative to a released second software version;
a determining unit, configured to determine a second software feature associated with the first software feature according to a software feature association relationship, where the software feature association relationship is used to represent an association relationship between at least two software features, and the at least two software features include the first software feature and the second software feature;
the determining unit is further configured to determine, according to access information of at least one user on at least one software feature, a first user corresponding to the second software feature, where the at least one user includes the first user, and the at least one software feature includes the second software feature;
the pushing unit is used for pushing the first software version to the first user;
the software feature association relation comprises at least one relation of calling, reference, access and implementation of one software feature to another software feature; or
The software feature association relationship includes a relationship in which at least two software features are simultaneously accessed in one access by a user.
6. The apparatus of claim 5,
the determining unit is further configured to determine a second user corresponding to the first software feature according to the access information, where the at least one user includes the second user, and the at least one software feature includes the first software feature;
the determining unit is further configured to determine a third user associated with the second user according to a user feature association relationship, where the user feature association relationship is used to indicate an association relationship in which at least two users access the same software feature, and the at least two users include the second user and the third user;
the pushing unit is further used for pushing the first software version to the third user.
7. The apparatus of claim 5 or 6,
the determining unit is further configured to determine a fourth user associated with the first user according to a user feature association relationship, where the user feature association relationship is used to indicate an association relationship in which at least two users access the same software feature, and the at least two users include the first user and the fourth user;
the pushing unit is further configured to push the first software version to the fourth user.
8. The apparatus of claim 5 or 6, wherein the software features comprise at least one of: functions, packages, classes, methods, functions, objects, lines, and interfaces of software.
CN201711264716.2A 2017-12-05 2017-12-05 Method and device for software release Active CN109871215B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711264716.2A CN109871215B (en) 2017-12-05 2017-12-05 Method and device for software release

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711264716.2A CN109871215B (en) 2017-12-05 2017-12-05 Method and device for software release

Publications (2)

Publication Number Publication Date
CN109871215A CN109871215A (en) 2019-06-11
CN109871215B true CN109871215B (en) 2022-06-14

Family

ID=66916115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711264716.2A Active CN109871215B (en) 2017-12-05 2017-12-05 Method and device for software release

Country Status (1)

Country Link
CN (1) CN109871215B (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5358153B2 (en) * 2008-10-10 2013-12-04 株式会社ソニー・コンピュータエンタテインメント GAME DEVICE AND INFORMATION PROCESSING DEVICE
CN102323928A (en) * 2011-08-22 2012-01-18 苏州阔地网络科技有限公司 Automatic component recommending method and device
CN102609533B (en) * 2012-02-15 2015-03-18 中国科学技术大学 Kernel method-based collaborative filtering recommendation system and method
CN103488465B (en) * 2012-06-08 2017-10-17 北京搜狗科技发展有限公司 Functional configuration recommends method and system
CN106933630B (en) * 2017-03-09 2020-07-31 百度在线网络技术(北京)有限公司 Client upgrading method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN109871215A (en) 2019-06-11

Similar Documents

Publication Publication Date Title
US10484413B2 (en) System and a method for detecting anomalous activities in a blockchain network
Jurgens et al. Geolocation prediction in twitter using social networks: A critical analysis and review of current practice
US10504120B2 (en) Determining a temporary transaction limit
CN108509485B (en) Data preprocessing method and device, computer equipment and storage medium
TW202029079A (en) Method and device for identifying irregular group
JP6741216B2 (en) Log analysis system, method and program
Chambers et al. Improved secondary analysis of linked data: a framework and an illustration
CN108399565A (en) Financial product recommendation apparatus, method and computer readable storage medium
WO2019061664A1 (en) Electronic device, user's internet surfing data-based product recommendation method, and storage medium
CN110377576B (en) Method and device for creating log template and log analysis method
US11120143B2 (en) Data analysis server, data analysis system, and data analysis method
WO2019179030A1 (en) Product purchasing prediction method, server and storage medium
CN111967914A (en) User portrait based recommendation method and device, computer equipment and storage medium
CN109445768B (en) Database script generation method and device, computer equipment and storage medium
CN106033574B (en) Method and device for identifying cheating behaviors
US20230161947A1 (en) Mathematical models of graphical user interfaces
US11609897B2 (en) Methods and systems for improved search for data loss prevention
CN105117489B (en) Database management method and device and electronic equipment
CN106910135A (en) User recommends method and device
CN110968802A (en) User characteristic analysis method, analysis device and readable storage medium
CN113065947A (en) Data processing method, device, equipment and storage medium
CN110688995B (en) Map query processing method, computer-readable storage medium and mobile terminal
CN109871215B (en) Method and device for software release
KR101568800B1 (en) Real-time issue search word sorting method and system
CN111488269B (en) Index detection method, device and system for data warehouse

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
TA01 Transfer of patent application right

Effective date of registration: 20200210

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing

Applicant before: Huawei Technologies Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant