CN115437526A - Software use management method and device, computer equipment and storage medium - Google Patents

Software use management method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN115437526A
CN115437526A CN202110620063.7A CN202110620063A CN115437526A CN 115437526 A CN115437526 A CN 115437526A CN 202110620063 A CN202110620063 A CN 202110620063A CN 115437526 A CN115437526 A CN 115437526A
Authority
CN
China
Prior art keywords
software
window
current
content
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110620063.7A
Other languages
Chinese (zh)
Inventor
宋亚非
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110620063.7A priority Critical patent/CN115437526A/en
Publication of CN115437526A publication Critical patent/CN115437526A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The application relates to a software use management method, a software use management device, a computer device and a storage medium. The method comprises the following steps: responding to a software use detection instruction, and acquiring a software use detection strategy set comprising a window detection strategy and a resource occupation detection strategy; determining a current software window concerned by a user from a current display window set based on a window detection strategy; carrying out playing resource occupation detection based on the resource occupation detection strategy to obtain a second execution unit identifier of the playing resource occupied currently; acquiring a first software identifier of a first execution unit identifier corresponding to a current software window, and acquiring a second software identifier corresponding to a second execution unit identifier; combining the first software identification and the second software identification to obtain a current software identification set; and counting the software use duration corresponding to each current software identifier in the current software identifier set to obtain the target use duration corresponding to the current software identifier. By adopting the method, the accuracy of counting the service life of the software can be improved.

Description

Software use management method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a software usage management method and apparatus, a computer device, and a storage medium.
Background
With the development of computer technology, applications (apps) running in electronic devices are becoming more diversified, for example, the types of software installed in computers are increasing, for example, reading software, office software or game software can be installed, the reading software can help users to know the recent hot topics, and the office software can assist users to work.
At present, the time for a user to use a computer is more and more, and the long-time use of software may cause physical fatigue or cause wastefulness to the academic industry, so the use duration of the software needs to be managed. The current way of counting the use duration is mainly to count the time interval from the startup to the shutdown of various software to obtain the software use duration, however, this statistical way has the problem that the time duration of the software use cannot be counted accurately, resulting in lower accuracy of software management.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a software usage management method, apparatus, computer device, and storage medium capable of improving management accuracy.
A software usage management method, the method comprising: responding to a software use detection instruction, and acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy; determining a current software window concerned by a user from a current display window set based on the window detection strategy, and acquiring a first execution unit identifier corresponding to the current software window; performing play resource occupation detection based on the resource occupation detection strategy to obtain a second execution unit identifier of the currently occupied play resource; acquiring a first software identifier corresponding to the first execution unit identifier and acquiring a second software identifier corresponding to the second execution unit identifier; combining the first software identification and the second software identification to obtain a current software identification set; and counting the software service durations corresponding to the current software identifiers in the current software identifier set to obtain the target service durations corresponding to the current software identifiers.
A software usage management apparatus, the apparatus comprising: the software use detection strategy set acquisition module is used for responding to a software use detection instruction and acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy; a first execution unit identifier obtaining module, configured to determine, based on the window detection policy, a current software window concerned by a user from a current display window set, and obtain a first execution unit identifier corresponding to the current software window; a second execution unit identifier obtaining module, configured to perform playing resource occupation detection based on the resource occupation detection policy, so as to obtain a second execution unit identifier of a currently occupied playing resource; a software identifier obtaining module, configured to obtain a first software identifier corresponding to the first execution unit identifier, and obtain a second software identifier corresponding to the second execution unit identifier; a current software identifier set obtaining module, configured to obtain a current software identifier set by combining the first software identifier and the second software identifier; and the target use duration obtaining module is used for counting the software use durations corresponding to all the current software identifiers in the current software identifier set to obtain the target use durations corresponding to the current software identifiers.
In some embodiments, the first execution unit identification obtaining module includes: the window display position acquisition unit is used for acquiring the window display position of each current display window in the current display window set displayed in the screen; a current software window obtaining unit, configured to determine, based on the window display position, a display degree corresponding to each current display window; and screening software windows meeting user attention conditions from the current display window set based on the display degree corresponding to the current display window, wherein the software windows serve as the current software windows concerned by the user, and the user attention conditions comprise at least one of the display degree being greater than a degree threshold value or the display degree being sorted before a sorting threshold value.
In some embodiments, the current software window obtaining unit is further configured to determine, based on the window display position, a display size of a display area corresponding to the current display window; acquiring the window size corresponding to the current display window; and determining the display degree corresponding to the current display window based on the display size and the window size.
In some embodiments, the first execution unit identification obtaining module includes: the target content information sequence acquisition unit is used for acquiring a target content information sequence displayed by each current display window in a current display window set displayed in a screen; the content change degree determining unit is used for determining the content change degree corresponding to the current display window based on the content information difference in the target content information sequence; the content variation degree and the content information difference are in positive correlation; and the current software window obtaining unit is used for taking at least one of the current display windows with the content change degrees larger than the change degree threshold value as the current software window concerned by the user.
In some embodiments, the content change degree determining unit is further configured to obtain target content information and adjacent content information corresponding to the target content information from the target content information sequence; obtaining the information change degree of the target content information relative to the adjacent content information according to the difference between the target content information and the adjacent content information; and carrying out statistical operation on the information change degrees corresponding to the target content information to obtain the content change degree corresponding to the current display window.
In some embodiments, the target usage duration obtaining module includes: a content comparison result obtaining unit, configured to compare target content information in the target content information sequence with corresponding adjacent content information to obtain a content comparison result; a comparison content information obtaining unit, configured to obtain, from the target content information sequence, each target content information whose content comparison result is inconsistent in comparison as comparison content information; a comparison content information sequence obtaining unit, configured to segment the target content information sequence to obtain a comparison content information sequence corresponding to the comparison content information; and the first target use duration obtaining unit is used for increasing the content display duration corresponding to the comparison content information sequence on the software use duration corresponding to the current software identifier to obtain the target use duration corresponding to the current software identifier.
In some embodiments, the current software window obtaining unit is further configured to obtain a current display window with a content variation degree greater than a variation degree threshold as a content variation window; determining a content change area corresponding to the content change window; and when the shielding degree of the content change area is smaller than the shielding threshold value, taking the content change window as the current software window concerned by the user.
In some embodiments, the current software window obtaining unit is further configured to determine, as the content change window, a current presentation window whose content change degree is greater than a change degree threshold; determining the content repetition degree corresponding to the content change window; and when the content repetition degree corresponding to the content change window is smaller than a repetition degree threshold value, taking the content change window as a current software window concerned by the user.
In some embodiments, the current software window obtaining unit is further configured to determine a first content information sequence corresponding to the content change window and a second content information sequence adjacent to the first content information sequence; extracting the content information of the first content information sequence according to a content extraction strategy, and arranging the extracted first content information to obtain a first comparison information sequence; extracting the content information of the second content information sequence according to the content extraction strategy, and arranging the second content information obtained by extraction to obtain a second comparison information sequence; and acquiring the sequence correlation degree between the first comparative information sequence and the second comparative information sequence, and determining the content repetition degree corresponding to the content change window based on the sequence correlation degree, wherein the sequence correlation degree and the content repetition degree form a positive correlation relationship.
In some embodiments, the target usage duration obtaining module includes: a forward software identifier set obtaining unit, configured to obtain a forward software identifier set corresponding to the current software identifier set; a target software identification obtaining unit, configured to compare software identifications in the forward software identification set with software identifications in the current software identification set, and use software identifications that are consistent in comparison as target software identifications; a second target use duration obtaining unit, configured to add a target use duration to the software use duration corresponding to the target software identifier, so as to obtain a target use duration corresponding to the target software identifier; the target duration is a time interval between forward detection time and current detection time, the forward detection time is detection time corresponding to the forward software identifier set, and the current detection time is detection time corresponding to the current software identifier set.
In some embodiments, the apparatus further comprises: the object task acquisition module is used for acquiring an object task corresponding to a target object and acquiring target service duration corresponding to task related software related to the object task; and the task prompt information output module is used for outputting the task prompt information of the object task when the target use time corresponding to the task related software is less than the task completion time threshold of the object task.
A computer device comprising a memory storing a computer program and a processor implementing the steps of the software usage management method described above when executing the computer program.
A computer-readable storage medium, on which a computer program is stored which, when executed by a processor, carries out the steps of the above-mentioned software usage management method.
In some embodiments, a computer program product or computer program is provided that includes computer instructions stored in a computer readable storage medium. The computer instructions are read by a processor of a computer device from a computer-readable storage medium, and the computer instructions are executed by the processor to cause the computer device to perform the steps in the above-mentioned method embodiments.
According to the software use management method, the software use management device, the computer equipment and the storage medium, the software use detection strategy set comprises the window detection strategy and the resource occupation detection strategy, the window which is concerned by the user can be detected from the window display angle based on the window detection strategy, and the window which occupies the playing resource can be detected based on the resource occupation detection strategy, so that the software which is concerned by the user can be detected from different angles, the current software identification set is obtained by acquiring the first software identification corresponding to the first execution unit identification and the second software identification corresponding to the second execution unit identification and combining the software identifications obtained by the various strategies, so that a plurality of pieces of software used in the same time period can be detected, the software use duration of the plurality of pieces of software used in the same time period is counted, the accuracy of counting the software use duration is improved, and the accuracy of managing the software can be further improved.
Drawings
FIG. 1 is a diagram of an application environment of a software usage management method according to an embodiment of the present application;
FIG. 2 is a flowchart illustrating a software usage management method according to an embodiment of the present application;
FIG. 3 is an interface diagram of a presentation window in an embodiment of the present application;
FIG. 4 is an interface diagram of a presentation window in an embodiment of the present application;
FIG. 5 is an interface diagram showing software attribute information in an embodiment of the present application;
FIG. 6 is an interface diagram showing software installation information in an embodiment of the present application;
FIG. 7 is an interface diagram showing software attribute information in an embodiment of the present application;
FIG. 8 is a schematic diagram of determining software names and software types in an embodiment of the present application;
FIG. 9 is a schematic diagram illustrating a type duration ratio respectively corresponding to each software type in the embodiment of the present application;
FIG. 10 is an interface diagram showing software usage duration according to software identification in the embodiment of the present application;
FIG. 11 is an interface diagram showing statistics of usage duration according to software type in an embodiment of the present application;
FIG. 12 is an interface diagram of a presentation window in an embodiment of the present application;
FIG. 13 is a schematic diagram of determining a current software window in an embodiment of the present application;
FIG. 14A is a flowchart illustrating a software usage management method according to an embodiment of the present application;
FIG. 14B is a schematic diagram of determining a software name in an embodiment of the present application;
FIG. 15 is a schematic diagram of determining a software name in an embodiment of the present application;
FIG. 16 is a schematic diagram illustrating software management based on target usage duration in an embodiment of the present application;
FIG. 17 is a block diagram showing the structure of a software usage management apparatus according to an embodiment of the present application;
FIG. 18 is an internal structural view of a computer device according to an embodiment of the present application;
fig. 19 is an internal structural view of a computer device in the embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of and not restrictive on the broad application.
The software use management method provided by the application can be applied to the application environment shown in FIG. 1. Wherein the terminal 102 communicates with the server 104 via a network. The terminal 102 may be installed with one or more screens, a plurality means at least two, for example, 2 screens may be installed. The terminal 102 may have an operating system installed therein, for example, a windows operating system may be installed therein, but other operating systems may also be installed therein. One or more pieces of software may be installed in the terminal 102, for example, a plurality of pieces of software may be installed in the environment of a windows operating system.
The terminal 102 may obtain a software usage detection policy set in response to a software usage detection instruction, where the software usage detection policy set includes a window detection policy and a resource occupation detection policy, the terminal 102 may determine, based on the window detection policy, a current software window concerned by a user from a current display window set, obtain a first execution unit identifier corresponding to the current software window, perform play resource occupation detection based on the resource occupation detection policy, obtain a second execution unit identifier of a currently occupied play resource, obtain a first software identifier corresponding to the first execution unit identifier, obtain a second software identifier corresponding to the second execution unit identifier, obtain a current software identifier set by combining the first software identifier and the second software identifier, and count software usage durations corresponding to current software identifiers in the current software identifier set to obtain a target usage duration corresponding to the current software identifier. The terminal may send the target usage duration to the server 104.
The terminal 102 may be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, and the server 104 may be implemented by an independent server or a server cluster formed by a plurality of servers.
In some embodiments, as shown in fig. 2, a software usage management method is provided, which is described by taking the terminal 102 in fig. 1 as an example, and includes the following steps:
s202, responding to the software use detection instruction, acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy.
The software use detection instruction is used for indicating the detection of the use duration of the software, the software use detection instruction can be triggered automatically or triggered when a software use detection confirmation operation is received, and the software use detection determination operation is used for indicating the detection of the use duration of the software. The terminal can display a software use detection page, a software use detection confirmation button is displayed in the software use detection page, and when the terminal acquires clicking operation on the software use detection confirmation button, a software use detection instruction can be triggered. The software may also be referred to as an Application program (App).
The software use detection strategy set comprises a plurality of software use detection strategies, and the number of the software use detection strategies is at least two. The software usage detection policy may be any one of a window detection policy or a resource occupancy detection policy. A window refers to an interface of software. One window corresponds to one piece of software, and one piece of software may correspond to a plurality of windows. The window detection policy refers to a policy of determining software focused on by a user based on a window size or a window content. The window size may include at least one of a window area, a window length, or a window width. The window content refers to content displayed in the window, such as images or characters displayed in the window. The resource refers to a computer resource, the resource may include a playback resource, and the playback resource refers to a computer resource having a playback function, and may be, for example, a channel having a function of playing back sound. The resource occupation detection strategy is a strategy for determining software concerned by a user based on resource occupation information. The resource occupation information may include at least one of a resource identification, which may be, for example, an identification of a channel, or an identification of an execution unit occupying the resource, which may be, for example, a process occupying the channel, or the like. The resource identification may be, for example, the name of the resource.
Specifically, the terminal may store a software usage detection policy set, and when the terminal acquires the software usage detection instruction, the terminal may acquire the software usage detection policy set in response to the software usage detection instruction, and detect, based on each software usage detection policy in the software usage detection policy set, software that is focused by the user.
S204, determining a current software window concerned by the user from the current display window set based on the window detection strategy, and acquiring a first execution unit identifier corresponding to the current software window.
The current presentation window set may include one or more current presentation windows, where a plurality means at least two. The current presentation window refers to a window presented at the current time. The terminal may have one or more screens, and the current presentation window set may include windows presented on at least one of the respective screens of the terminal at the current time. For example, the terminal may obtain windows displayed on each screen at the current time to form a current display window set, or the terminal may obtain a latest user screen operation, where the user screen operation refers to an operation performed by a user on a screen, and the user screen operation may include at least one of a mouse operation and a keyboard operation, determine a screen corresponding to the latest user screen operation, use the screen as a target screen, obtain each window displayed in the target screen at the current time, and form the current display window set.
The current software window refers to a window of software which is focused by the user at the current time, and can be a window of software in which the user is watching videos, an interface of a game played by the user, and an interface of office software in which the user is editing texts, for example.
An execution unit refers to the smallest unit of execution of software, and may be, for example, at least one of a process or a thread of software. The execution unit identifier is used to uniquely identify the execution unit, and may be an identifier of software or an identifier of execution, for example, a path of a process. One piece of software can correspond to one or more execution units, and a plurality means at least two. The first execution unit identifier is used for uniquely identifying the first execution unit, and the first execution unit refers to an execution unit corresponding to the current software window, and may be, for example, a process corresponding to the current software window.
Specifically, the terminal may obtain a window screen area of the current display window, where the window screen area refers to an area occupied by the current display window in the screen, determine, based on the window screen area, a window screen area corresponding to each current display window in the current display window set, and the terminal may determine, according to the window screen area, the current software window from the current display window set.
In some embodiments, the terminal may obtain the window displayed at the topmost screen from the current displayed window set, and when each region in the window is in a visible state, that is, can be observed by a user, the window displayed at the topmost screen is used as the current software window. The window presented at the top of the screen may also be referred to as the focus window. As shown in fig. 3, window 1 and window 2 are shown in the screen, and since window 2 is located at the topmost layer of the screen, window 2 is the focus window.
In some embodiments, the terminal may obtain the current presentation windows in the full presentation state from the current presentation window set, and use each current presentation window in the full presentation state as the current software window. The fully exposed state means that the entire window is visible to the user. As shown in fig. 4, 2 windows tiled side by side are shown in the screen, which are window 3 and window 4, respectively, and it can be seen from the figure that both window 3 and window 4 are in a fully-shown state, so that window 3 and window 4 can be used as current software windows.
In some embodiments, the terminal may store a corresponding relationship between each window identifier and the execution unit identifier, and the terminal may obtain the window identifier of the current display window, and obtain the execution unit identifier having a corresponding relationship with the window identifier, as the first execution unit identifier corresponding to the current software window.
In some embodiments, the terminal may obtain a window identifier of the current software window, and obtain execution description information of the current software window according to the window identifier, where the execution description information is information describing an execution unit, and may include at least one of an execution unit identifier, a unit user identifier, a unit current state, or a unit priority. The unit user identifier is an identifier of a user to which the execution unit belongs. The current state of the unit refers to a state of the execution unit at the current time, and when the execution unit is a process, the current state of the unit may include at least one of a ready state, an execution state, or a waiting state. The unit priority is used to reflect the execution order of the execution units, and the higher the unit priority, the earlier the execution order, and the unit priority may be, for example, the priority of the process. The execution description information may be, for example, process description information. The window identification is used to uniquely identify the window, and may be, for example, a handle to the window. The terminal may obtain the execution unit identifier from the execution description information of the current software window, as the first execution unit identifier corresponding to the current software window.
S206, playing resource occupation detection is carried out based on the resource occupation detection strategy, and a second execution unit identifier of the playing resource occupied currently is obtained.
The second execution unit identifier is used for uniquely identifying the second execution unit. The second execution unit is an execution unit that occupies the playing resource at the current time, and may be, for example, a process that occupies the channel at the current time.
Specifically, the terminal may obtain resource occupation information corresponding to the playing resource, and obtain an identifier of an execution unit occupying the playing resource from the resource occupation information, as the second execution unit identifier. For example, the channel occupation information of the channel at the current time may be used to obtain the identifier of the process occupying the channel from the channel occupation information as the identifier of the second execution unit.
S208, a first software identifier corresponding to the first execution unit identifier is obtained, and a second software identifier corresponding to the second execution unit identifier is obtained.
The software identifier is used to uniquely identify the software, and may be, for example, the name of the software. The first software refers to software to which the first execution unit belongs. For example, when the first execution unit is a process of software 1, the first software is software 1. The first software identification is used to uniquely identify the first software. The first software refers to the software to which the second execution unit belongs. The second software identification is used to uniquely identify the second software.
Specifically, the method of acquiring the first software identifier may be the same as the method of acquiring the second software identifier. The following description is provided to obtain the first software identification. The terminal may obtain software related information of the first software according to the first execution unit identifier, and determine the first software identifier based on the software related information. For example, the terminal may obtain the first software identifier from the software association information.
In some embodiments, the software associated information of the first software may include software attribute information, and the software attribute information is attribute information corresponding to the first software. The software attribute information may include at least one of a software name or software description information. The terminal may use any one of the software name or the software description information as the first software identifier. For example, the terminal may determine whether a software name exists in the software attribute information, and when the software name exists in the software attribute information, the terminal may use the software name in the software attribute information as the first software identifier, and when the software name does not exist in the software attribute information, the terminal may determine whether software description information exists in the software attribute information, and when the software description information exists, the terminal may use the software description information as the first software identifier. As shown in fig. 5, an "abc attribute" interface is shown, software attribute information of the first software "abc" is shown in the "abc attribute", the "abc" is a software name, the software name may be, for example, a "product name" in fig. 5, software description information may be, for example, a "file description (FileDescription)" in fig. 5, and it can be seen from the figure that the "product name (product name)" is "abc", that is, the product name exists, so the product name "abc" can be used as the first software identifier.
In some embodiments, the software associated information of the first software may include a software path identifier corresponding to the first execution unit. The software path identifier is used for uniquely identifying a software path, and the software path refers to the installation position of software in the terminal. The terminal may store a software installation information set, where the software installation information set includes software installation information corresponding to a plurality of software path identifiers, respectively. At least one of software identification, software path identification, or software version information, etc. may be included in the software installation information. The software identification in the software installation information may be, for example, a software name. The terminal may obtain the software installation information corresponding to the software path identifier of the first execution unit from the software installation information set, for example, the terminal may compare the software path identifier corresponding to the first execution unit with the software installation information included in each piece of software installation information in the software installation information set, use the software installation information that is consistent in comparison in the software installation information set as target software installation information, obtain the software identifier from the target software installation information, and use the obtained software name as the first software identifier. As shown in FIG. 6, the software installation information corresponding to the software path identifier of software "abc" is shown, wherein the software path identifier is "C: \ Program Files (x 86) \\ abc", and the software installation information includes the software name "abc". For example, the terminal may obtain a path where the first execution unit is located, then traverse the windows to uninstall the installation path information of all the software in the registry, and if the path where the first execution unit is located is matched, read the DisplayName (product name of the software) in the registry as the first software identifier.
In some embodiments, the software related information of the first software may include object information corresponding to the software startup object, and the object information may include any one of an object identifier and a software path identifier, where the object identifier may be, for example, an object name, and the object name refers to a name of the software startup object. The terminal can store software starting objects corresponding to a plurality of pieces of software respectively, can obtain object information corresponding to each software starting object respectively, obtains a software path identifier from the object information as a comparison path identifier, obtains a software path identifier corresponding to the first execution unit as a first software path identifier, compares the first software path identifier with the comparison path identifier, uses object information corresponding to the comparison path identifier which is consistent in comparison as target object information, obtains the object identifier from the target object information, and uses the obtained object identifier as the first software identifier. The software starting object refers to an object for starting software, and different software starting objects point to different software. The terminal can display the software starting object, and when the terminal acquires the trigger operation of the software starting object, the software pointed by the software starting object can be started. The software startup object may be, for example, a shortcut created for software. The object information may be included in the software attribute information. As shown in fig. 7, a display interface is displayed, in which the interface of the "abc attribute" is the software attribute information of the software "abc", the object information may be, for example, the information included in the "shortcut" included in the software attribute information of the software "abc", the five-pointed star in the figure is the icon of the shortcut, "abc" on the right side of the five-pointed star is the name of the shortcut, the object identifier may be, for example, "abc" on the right side of the five-pointed star, and the contrast path identifier may be, for example, "C: \ Program Files (x 86) \\ abc" in fig. 7. For example, a software installation may create a shortcut on a desktop or start menu, the name of which is often the product name of the software. At this time, all shortcuts of the starting menu and the desktop can be traversed, the software path pointed by the inner side of the shortcut is read, and the path of the detected process is matched. If so, the name of the shortcut can be used as the software identification.
In some embodiments, the terminal may obtain software tag information corresponding to the first execution unit identifier, the software tag information may include a tag software identifier, and the terminal may obtain the software tag information corresponding to the first execution unit identifier as the first software tag information, obtain the tag software identifier from the first software tag information, and use the obtained tag software identifier as the first software identifier corresponding to the first execution unit identifier. The marked software identifier may be a software identifier obtained by marking the execution unit. For example, the terminal may automatically obtain a first execution unit identifier of the to-be-marked execution unit identifier as the to-be-marked execution unit identifier, the terminal may display the to-be-marked execution unit identifier in a software marking interface, may obtain a marking operation of the to-be-marked execution unit identifier through the software marking interface, obtain a software identifier marked by the marking operation, determine a marked software identifier corresponding to the to-be-marked execution unit identifier based on the marked software identifier, and for example, may use the marked software identifier as a marked software identifier corresponding to the to-be-marked execution unit identifier, or use the marked software identifier as a candidate software identifier, generate first reporting information based on the to-be-marked execution unit identifier and the candidate software identifier, and determine the marked software identifier based on the first reporting information. The first reporting information may include a candidate software identifier and an identifier of an execution unit to be marked.
In some embodiments, the identification of the execution unit to be marked may also be input or selected by the user. For example, the terminal may present a software tagging interface. The software tagging interface refers to an interface for tagging software, and for example, at least one of an identification, a name, or a type of software may be tagged by the software tagging interface. When the software to which the execution unit belongs is unknown, the execution unit can be marked through a software marking interface. The terminal can show an execution unit editing area and a software identification marking area in a software marking interface, wherein the execution unit editing area is used for receiving an execution unit identification input or selected by a user, namely receiving an execution unit identification to be marked, and the software identification marking area is used for receiving a software identification input or selected by the user. The software marking interface can also display a marking confirmation control, when the terminal acquires the trigger operation on the marking confirmation control, the terminal can take the execution unit identifier received by the execution unit editing area as an execution unit identifier to be marked, take the software identifier received by the software identifier marking area as a candidate software identifier, generate second reporting information based on the execution unit identifier to be marked and the candidate software identifier, and determine the marking software identifier based on the second reporting information. The second reporting information may include an identifier of the execution unit to be marked and an identifier of the candidate software. The terminal can also display a software type marking area in the software marking interface, and the software type marking area is used for receiving the software type input or selected by the user. The second reporting information and the second reporting information may further include a software type received by the software type flag region. The software type may include at least one of a social class, a video class, a music class, a game class, an office class or a learning class, for example, software capable of playing video files may be classified into software of a video class, and software capable of performing text editing may be classified into software of an office class.
In some embodiments, the terminal may send the target report information to the server, and the server may obtain, from the target report information, each candidate software identifier corresponding to the same to-be-marked execution unit identifier, to form a candidate software identifier set corresponding to the to-be-marked execution unit identifier, perform clustering on the candidate software identifiers in the candidate software identifier set, and determine, according to a clustering result, the to-be-marked execution unit identifier corresponding to the candidate software identifier, for example, a center of the clustering may be used as the marking software identifier. Of course, the server may further divide the candidate software identifier sets to obtain sub-candidate software identifier sets, where each candidate software identifier included in the same sub-candidate software identifier set is the same, and the candidate software identifiers included in different sub-candidate software identifier sets are different, the server may respectively count the number of candidate software identifiers included in each sub-candidate software identifier set to obtain the number of software identifiers respectively corresponding to each different candidate software identifier in the candidate software identifier set, and use the largest number of software identifiers in each number of software identifiers as the number of target software identifiers, and use the candidate software identifiers corresponding to the number of target software identifiers as the marker software identifiers. The server can send the marking software identification to each terminal, so that the terminal can establish a corresponding relation between the marking software identification and the corresponding execution unit identification. The target reporting information may include at least one of the first reporting information or the second reporting information. The target reporting information may include a plurality of first reporting information, and may also include a plurality of second reporting information. In this embodiment, when the software to which the process belongs is unknown or cannot be determined, the software to which the process belongs may be determined according to the reported information, so as to determine the software identifier corresponding to the process, and provide an entry for error correction for the user. As shown in fig. 8, "unknown process path information" in fig. 8 refers to process path information corresponding to a process for which a software identifier or a software type is not determined, the terminal reports the "unknown process path information", the user may also mark a process for which a software name or a software type is unknown and report a marking result, and the server may determine a software name and a software type corresponding to the process according to the marking data and issue the determined software name and the determined software type to more users.
And S210, combining the first software identifier and the second software identifier to obtain a current software identifier set.
Specifically, the terminal may combine each first software identifier into a first software identifier set, combine each second software identifier into a second software identifier set, perform union operation on the first software identifier set and the second software identifier set, and use a set obtained by the union operation as the current software identifier set. Therefore, the situation that the same software is repeatedly timed can be reduced.
S212, software use duration corresponding to each current software identifier in the current software identifier set is counted to obtain target use duration corresponding to the current software identifier.
The software use duration refers to the duration of using software by a user, that is, the duration of paying attention to the software by the user, and may also be referred to as software use duration or screen duration. The target usage duration may be a duration obtained by counting the software usage duration of the current software identifier according to a time dimension. The time dimension may include at least one of a day, week, month, year, or the like. The target usage duration refers to software usage duration in a statistical period, the statistical period may be set as required or preset, and the statistical period may be at least one of day, week, month, year, or the like. For example, when the software use duration corresponding to the target software identifier in 1 week needs to be counted, that is, the counting period is 1 week, the target use duration is the duration in which the user uses the target software in 1 week, and the target software is the software corresponding to the target software identifier.
Specifically, the terminal may count the software service durations of the current software identifier according to different time dimensions, so as to obtain target service durations corresponding to the different time dimensions. The terminal can obtain the target use duration corresponding to each software in a specific time period, and display the target use duration corresponding to each software, for example, the target use durations can be displayed in a descending order, that is, a larger target use duration is preferentially displayed.
In some embodiments, the terminal may obtain the target use duration corresponding to each software in a specific time period, obtain the duration of the specific time period as the specific duration, calculate a ratio of the target use duration to the specific duration, obtain a software duration ratio, and display the software duration ratios corresponding to each software. The specific time period may be set as desired, and may be, for example, 1 day or 1 week.
In some embodiments, the terminal may classify each piece of software, perform summation operation on target use durations of each piece of software of the same software type, use the sum as type use duration corresponding to the software type, calculate a ratio of the type use duration to a specific duration, use the ratio as a type duration proportion corresponding to the software type, and display the type duration proportion corresponding to each software type. As shown in fig. 9, the type duration ratio corresponding to each software type is shown in a pie chart manner, in which video accounts for 40%, music accounts for 16%, games accounts for 20%, office accounts for 8%, learning accounts for 4%, and social contact accounts for 12%.
In some embodiments, the terminal may obtain a usage duration threshold corresponding to the software type, compare the type usage duration with the usage duration threshold, where the type usage duration and the usage duration threshold correspond to the same time dimension, and when the type usage duration reaches the usage duration threshold, trigger a usage duration alarm or force the software to be turned off, so as to control the frequency and duration of software usage. For example, when the terminal is a computer of a student, when the terminal determines that the type of the game software has the use time reaching the use time threshold, the time warning information can be displayed at regular time, or the terminal can send the time warning information to parents of the student, so that the time for the student to use the computer can be reasonably distributed, and the learning efficiency of the student is improved. Aiming at learning software, the terminal can remind students of using the learning software at regular time. The time length alarm information is displayed at regular time aiming at the video software, so that the eye fatigue caused by long-time screen watching can be reduced.
The different time dimensions may respectively correspond to different use duration thresholds, for example, when the time dimension is 1 day, the use duration threshold may be 2 hours, and when the time dimension is 1 week, the use duration threshold may be 14 hours. The use duration threshold may be automatically set by the terminal, or the terminal may display a duration threshold setting interface, the duration threshold setting interface may receive a duration input or selected by a user, the terminal may obtain a duration for a specific software type in the duration threshold setting interface, and the set duration may be used as the use duration threshold of the specific software type. The particular software type may be set as desired.
In some embodiments, the terminal can display the software use duration according to the software identification. Specifically, the terminal may obtain software use durations corresponding to each piece of software, display the software use durations corresponding to each piece of software according to a descending order, and preferentially display the software use durations corresponding to the pieces of software with longer software use durations. Wherein the software identification is used to uniquely identify the software. The software identification may be, for example, the name of the software. As shown in fig. 10, an interface diagram showing the software usage duration according to the software identification is shown, and it can be seen from the diagram that the larger software usage duration is shown in front of the smaller software usage duration.
In some embodiments, the terminal can display the software use duration according to the software type. Specifically, the terminal may determine the software types corresponding to the respective software, obtain the software use durations corresponding to the respective software of the same software type, perform the summation operation on the obtained software use durations, use the result of the summation operation as the statistical use duration, and correspondingly display the software types and the corresponding statistical use durations. For example, the terminal may display the statistical use durations corresponding to the software types respectively in a descending order, and preferentially display the statistical use durations corresponding to the software types with longer statistical use durations. As shown in fig. 11, an interface diagram showing the statistical usage periods according to software types is shown, and it can be seen from the diagram that a larger statistical usage period is shown in front of a smaller statistical usage period.
In some embodiments, the terminal may further send the software use duration to the server, the server may obtain the software use duration sent by the terminal corresponding to the group user in the user group, may obtain the software use duration of each group user for the same software, perform a sum operation on each software use duration of the same software, take a result of the sum operation as the user group use duration of the software, determine the software acceptance of the software in the user group based on the user group use duration, and the user group use duration and the software acceptance have a positive correlation. The user group is a group consisting of a plurality of users, and the plurality refers to at least three users, for example, one team can be used as one user group. The group user refers to a user included in the user group. The user terminal corresponding to the user in the user group can obtain the software use duration corresponding to each piece of software from the server.
Wherein, the positive correlation relationship means that: under the condition that other conditions are not changed, the changing directions of the two variables are the same, and when one variable changes from large to small, the other variable also changes from large to small. It is understood that a positive correlation herein means that the direction of change is consistent, but does not require that when one variable changes at all, another variable must also change. For example, it may be set that the variable b is 100 when the variable a is 10 to 20, and the variable b is 120 when the variable a is 20 to 30. Thus, the changing directions of a and b are that when a is larger, b is also larger. But b may be unchanged in the range of 10 to 20 a.
In the software use management method, the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy, a window which is concerned by a user can be detected from the window display angle based on the window detection strategy, and a window which occupies a playing resource can be detected based on the resource occupation detection strategy, so that the software which is concerned by the user can be detected from different angles, a first software identifier corresponding to a first execution unit identifier and a second software identifier corresponding to a second execution unit identifier are obtained, and a current software identifier set is obtained by combining the software identifiers obtained by various strategies, so that a plurality of pieces of software used in the same time period can be detected, the software use time lengths of the plurality of pieces of software used in the same time period are counted, the accuracy of counting the software use time lengths is improved, and the accuracy of managing the software is further improved.
In some embodiments, determining the current software window of interest to the user from the current set of presentation windows based on the window detection policy comprises: acquiring window display positions of all current display windows in a current display window set displayed in a screen; determining the display degree corresponding to each current display window based on the window display position; and screening software windows meeting the user attention condition from the current display window set based on the display degree corresponding to the current display window, wherein the software windows are used as the current software windows concerned by the user, and the user attention condition comprises at least one of the display degree being greater than a degree threshold value or the display degree being sorted before a sorting threshold value.
The window display position refers to the position occupied by the window in the screen. The terminal can determine the window screen area according to the window display position. The window screen area refers to the area occupied by the currently displayed window in the screen. The display degree is used for reflecting the proportion of the visible area in the window in the whole window, and the larger the display degree is, the larger the proportion of the visible area in the whole window is. When the display degree is 100%, it means that the entire window is visible. The visible region refers to a region in the window that can be seen by the user. The degree threshold may be preset, and may be 90%, for example. The specific degree of presentation may be preset, and may be 100%, for example.
The user attention condition may further include at least one of a presentation degree rank before a ranking threshold. The display degree sequence is a sequence obtained by arranging the display degrees of the current display windows in descending order, and the sequence threshold may be set as required or preset, for example, may be the third.
Specifically, the terminal may determine, based on the window screen area, a visible area corresponding to the current display window, and obtain, based on the size of the display area, a display degree corresponding to the current display window, where the display degree and the size of the display area form a positive correlation. The terminal can obtain a current display window with the display degree larger than the degree threshold value from the current display window set as a current software window, and can also obtain a current display window with the display degree of a specific display degree from the current display window set as a current software window.
In some embodiments, the terminal may obtain a first current presentation window from the current presentation window set, and obtain a reference presentation window corresponding to the first current presentation window from the current presentation window set, where the reference presentation window may include at least one of current presentation windows in the current presentation window set that are different from the first current presentation window, for example, all current presentation windows in the current presentation window set that are different from the first current presentation window may be used as the reference presentation window corresponding to the first current presentation window. The terminal can obtain a window screen area corresponding to a first current display window as a first window screen area, obtain a window screen area corresponding to a reference display window as a reference window screen area, obtain an overlap area between the first window screen area and the reference window screen area, use the overlap area as a screen overlap area, and determine a display area corresponding to the first current display window based on the screen overlap area. For example, the terminal may obtain the display priority corresponding to each current display window, and determine the display area based on the screen overlapping area and the display priority. When the window screen areas respectively corresponding to the two current display windows have overlapping areas, the window with higher display priority in the overlapping area shields the window with lower display priority.
In some embodiments, the terminal may determine an occlusion region corresponding to the screen region of the first window based on the screen overlap region and the display priority, and take a region outside the occlusion region in the first current display window as the display region corresponding to the first current display window. For example, the terminal may obtain a presentation priority corresponding to a first current presentation window, as a first presentation priority, obtain a presentation priority corresponding to a reference presentation window, as a reference presentation priority, compare the first presentation priority with the reference presentation priority, when it is determined that the first presentation priority is less than the reference presentation priority, take the screen overlap area as an occlusion area corresponding to the first window screen area, and take an area other than each occlusion area in the first window screen area as a presentation area corresponding to the first current presentation window.
In the embodiment, the window display position of each current display window in the current display window set displayed in the screen is obtained, and the display degree corresponding to each current display window is determined based on the window display position; and screening software windows meeting the user attention condition from the current display window set based on the display degree corresponding to the current display window, wherein the software windows are used as the current software windows concerned by the user, and the user attention condition comprises at least one of the display degree being greater than a degree threshold value or the display degree being sorted before a sorting threshold value. Because the larger the display degree is, the higher the possibility of representing the window concerned by the user is, the window meeting the user concerning condition is taken as the current software window, and the accuracy of the current software window is improved.
In some embodiments, determining the display degree corresponding to each current display window based on the window display position includes: determining the display size of a display area corresponding to the current display window based on the window display position; acquiring a window size corresponding to a current display window; and determining the display degree corresponding to the current display window based on the display size and the window size.
Wherein, the display area refers to the visible area in the window. The visible area is the area in the window that can be viewed by the user. The display degree and the display size form a positive correlation relationship, and the display degree and the window size form a negative correlation relationship. The size of the display area is smaller than or equal to the window screen area. The negative correlation relationship refers to: under the condition that other conditions are not changed, the changing directions of the two variables are opposite, and when one variable is changed from large to small, the other variable is changed from small to large. It is understood that the negative correlation herein means that the direction of change is reversed, but does not require that when one variable changes a little, the other variable must also change.
Specifically, the terminal may determine, according to the window screen region, a blocking region corresponding to the window screen region, and use a region other than the blocking region in the window screen region as a display region. As shown in fig. 12, a window 5, a window 6, and a window 7 are displayed in the screen, only a part of the area of the window 5 and the window 7 is displayed in the screen, and all the area of the window 6 is displayed on the screen. The window 6 is overlapped with the window 5 and the window 7 on the screen, the window 7 shields the window 6, and the region which is not shielded in the window 6 is a display region of the window 6, namely a visible region of the window 6.
In some embodiments, the terminal may perform a ratio operation on the display size and the window size, for example, dividing the display size by the window size, and using a result of the ratio operation as a display degree corresponding to the current display window.
In some embodiments, the display size is the area of the display area, the window size is the window area, the terminal may perform a ratio operation on the area of the display area and the window area, and a result of the ratio operation is used as the display degree corresponding to the current display window.
In the embodiment, the display size of the display area corresponding to the current display window is determined based on the window display position, the window size corresponding to the current display window is obtained, and the display degree corresponding to the current display window is determined based on the display size and the window size, so that the proportion of the visible area in the window in the whole window can be accurately reflected, and the accuracy of the display degree is improved.
In some embodiments, determining the current software window of interest to the user from the current set of presentation windows based on the window detection policy comprises: acquiring a target content information sequence displayed by each current display window in a current display window set displayed in a screen; determining the content variation degree corresponding to the current display window based on the content information difference in the target content information sequence; the content variation degree and the content information difference form a positive correlation; and taking at least one of the current display windows with the content change degree larger than the change degree threshold value as a current software window concerned by the user.
The content information refers to content displayed in a window, and may be content in any form, for example, may include at least one of an image or text. The target content information refers to the content collected from the current presentation window within a target time period, which may be, for example, 50 seconds. The target content information sequence is a sequence obtained by arranging each target content information according to the acquisition time, and the more the acquisition time is, the more the target content information is ranked in the target content information sequence. The capture time refers to the time at which the content is captured from the current presentation window.
The content information difference refers to a difference between the target content information and adjacent content information of the target content information, and the adjacent content information may be target content information adjacent to the target content information in the target content information sequence, and may include at least one of the target content information adjacent to the target content information in a forward direction or the target content information adjacent to the target content information in a backward direction.
The content change degree is used for reflecting the change degree of the content in the current software window in the target time period. The greater the degree of change of the content, the greater the degree of change of the content in the current software window within the target time period. The change degree threshold may be preset or may be set as needed.
Specifically, the terminal may capture a current software window, and use the captured image as target content information corresponding to the current software window.
In some embodiments, the terminal may obtain, from the current presentation window set, a current presentation window whose content variation degree is greater than the variation degree threshold, as a content variation window, form each content variation window into a content variation window set, and use at least one window in the content variation window set as a current software window, for example, all content variation windows in the content variation window may be used as a current software window, or further filter the content variation window set, so as to obtain the current software window.
In this embodiment, a target content information sequence displayed by each current display window in a current display window set displayed in a screen is acquired, a content variation degree corresponding to the current display window is determined based on a content information difference in the target content information sequence, the content variation degree and the content information difference form a positive correlation, at least one of the current display windows with the content variation degree greater than a variation degree threshold is used as a current software window concerned by a user, and accuracy of the acquired window concerned by the user is improved.
In some embodiments, determining the content variation degree corresponding to the current presentation window based on the content information difference in the target content information sequence includes: acquiring target content information and adjacent content information corresponding to the target content information from the target content information sequence; obtaining the information change degree of the target content information relative to the adjacent content information according to the difference between the target content information and the adjacent content information; and carrying out statistical operation on the information change degrees corresponding to the target content information to obtain the content change degree corresponding to the current display window.
The adjacent content information refers to target content information adjacent to the target content information in the target content information sequence, and may include at least one of the target content information adjacent to the target content information in the forward direction or the target content information adjacent to the target content information in the backward direction.
Specifically, the terminal may calculate an information difference value between the target content information and the adjacent content information, and obtain an information change degree of the target content information relative to the adjacent content information based on the information difference value, where the information change degree and the information difference value have a positive correlation.
In some embodiments, the terminal may obtain the information change degrees corresponding to each piece of target content information, perform statistical operation on each information change degree, and use the result of the statistical operation as the content change degree corresponding to the current display window. For example, the terminal may perform a mean operation on each information change degree, and use a result of the mean operation as a content change degree corresponding to the current display window.
In some embodiments, the content information is a window image, and the window image is an image obtained by image-capturing the window. The target content information may be a target window image, the adjacent content information may be an adjacent window image, and the information difference value may be a difference between the target window image and the adjacent window image. For example, the terminal may calculate a difference between a pixel value of a pixel in the target window image and a pixel value of a pixel in the adjacent window image to obtain a pixel difference value corresponding to each pixel, perform a statistical operation, such as a sum operation, on each pixel difference value, and use a result of the operation as the information difference value.
In this embodiment, the target content information and the adjacent content information corresponding to the target content information are acquired from the target content information sequence, the information change degree of the target content information relative to the adjacent content information is acquired according to the difference between the target content information and the adjacent content information, the information change degree corresponding to each target content information is subjected to statistical operation, the content change degree corresponding to the current display window is acquired, and the accuracy of the calculated content change degree is improved through the statistical operation.
In some embodiments, the counting the software use duration corresponding to each current software identifier in the current software identifier set, and obtaining the target use duration corresponding to the current software identifier includes: comparing the target content information in the target content information sequence with the corresponding adjacent content information to obtain a content comparison result; acquiring each target content information with inconsistent content comparison results from the target content information sequence as comparison content information; segmenting the target content information sequence to obtain a contrast content information sequence corresponding to the contrast content information; and adding the content display duration corresponding to the comparison content information sequence to the software use duration corresponding to the current software identifier to obtain the target use duration corresponding to the current software identifier.
The content comparison result may be either consistent or inconsistent in comparison. The comparison content information refers to the target content information with inconsistent comparison results in the target content information sequence. The comparison content information sequence comprises a plurality of pieces of comparison content information, and the plurality means at least two pieces of comparison content information. The comparison content information sequence is a subsequence in the target content information sequence, and there may be a plurality of comparison content information sequences. The content display duration refers to the time length corresponding to the comparison content information sequence. The content information adjacent to each other in the target content information sequence is also adjacent to each other in the comparison content information sequence. And arranging each piece of comparison content information in the comparison content information sequence according to the sequence of the comparison content information in the target content information sequence.
Specifically, the terminal may calculate a difference between the target content information and the corresponding adjacent content information to obtain a content information difference, compare the content information difference with an information difference threshold, determine that the content comparison result is consistent when the content information difference is smaller than the information difference threshold, and determine that the content comparison result is inconsistent when the content information difference is greater than the information difference threshold. The information difference threshold may be set as needed or may be preset.
In some embodiments, the terminal may segment the target content information sequence according to the position of the comparison content information in the target content information sequence to obtain each comparison content information sequence, segment adjacent comparison content information into the same comparison content information sequence during segmentation, and arrange the comparison content information in the comparison content information sequence according to the ordering of the comparison content information in the target content information sequence. For example, the target content information sequence is (S1, S2, S3, S4, S5, S6, S7, S8, S9, S10), and if the content comparison results of S5, S6, and S7 are all the same, the comparison content information sequence may include two sequences of (S1, S2, S3, S4) and (S8, S9, S10).
In some embodiments, the terminal may obtain the initial comparison content information and the termination comparison content information from the comparison content information sequence, obtain the acquisition time corresponding to the initial comparison content information as the initial time, obtain the acquisition time corresponding to the termination comparison content information as the termination time, and use the time interval between the initial time and the termination time as the content display duration corresponding to the comparison content information sequence. The initial contrast content information refers to the contrast content information ordered at the head in the contrast content information sequence, and the termination contrast content information refers to the contrast content information ordered at the tail in the contrast content information sequence.
In this embodiment, target content information in a target content information sequence is compared with corresponding adjacent content information to obtain a content comparison result, the content comparison result is obtained from the target content information sequence and is each piece of target content information with inconsistent comparison as comparison content information, a comparison content information sequence corresponding to the comparison content information is obtained by segmenting from the target content information sequence, content display duration corresponding to the comparison content information sequence is increased on software use duration corresponding to a current software identifier to obtain target use duration corresponding to the current software identifier, and since the content comparison result is inconsistent, it is indicated that adjacent content information changes, when the content changes, it is highly possible that a user pays attention to the content, for example, when the content is a video, when the video is played, it is highly possible that the duration when the content information changes is counted into the use duration of the software, a situation that the duration when the content does not change is counted into the use duration of the software is reduced, and accuracy of counting the use duration of the software is improved.
In some embodiments, the step of taking at least one of the currently presented windows having a content variation degree greater than the variation degree threshold as the current software window concerned by the user comprises: acquiring a current display window with the content change degree larger than a change degree threshold value as a content change window; determining a content change area corresponding to the content change window; and when the shielding degree of the content change area is smaller than the shielding threshold value, taking the content change window as the current software window concerned by the user.
The content change area refers to an area in the content change window where the content changes with time. The occlusion degree is used for reflecting the proportion of the visible area in the content change area in the whole content change area, and the proportion of the visible area in the content change area in the whole content change area is smaller when the occlusion degree is larger. The occlusion threshold may be set as needed or may be preset, for example, 10%.
Specifically, the terminal may obtain a visible area in the content change area as the visible change area, obtain an area of the visible change area as the first area, obtain an area of the content change area as the second area, perform a ratio operation on the first area and the second area, use a result of the operation as a visible degree corresponding to the content change area, determine the occlusion degree based on the visible degree, where the visible degree and the occlusion degree have a negative correlation relationship, and a sum of the visible degree and the occlusion degree is 100%. For example, when the visibility is 80%, the blocking degree is 20%.
In some embodiments, the terminal may obtain a visibility threshold, compare the visibility of the content change area with the visibility threshold, and when the visibility is greater than the visibility threshold, take the content change window as the current software window concerned by the user. The visible threshold may be preset, for example, 90%, or may be set as needed.
In some embodiments, when the content change area is in a visible state, that is, when the occlusion degree of the content change area is 0%, the terminal may use the content change window as the current software window focused by the user.
In this embodiment, a current display window with a content change degree greater than a change degree threshold is obtained and used as a content change window, a content change area corresponding to the content change window is determined, when the shielding degree of the content change area is smaller than a shielding threshold, the content change window is used as a current software window concerned by a user, since a video may be played in the changed area, when a window where the area where the video is played is not a window located at the topmost end of a screen, and is not a completely displayed window, if the changed area is visible, that is, is not shielded, the user may watch the video, and thus when the shielding degree of the content change area is smaller than the shielding threshold, the content change window is used as the current software window concerned by the user, and the detection accuracy of the window concerned by the user is improved.
In some embodiments, taking at least one of the currently presented windows having a degree of content change greater than a degree of change threshold as the current software window of interest to the user comprises: determining a current display window with the content change degree larger than a change degree threshold value as a content change window; determining the content repetition degree corresponding to the content change window; and when the content repetition degree corresponding to the content change window is smaller than the repetition degree threshold value, taking the content change window as the current software window concerned by the user.
Wherein the content repetition degree is used for reflecting the proportion of repeated contents included in the changed contents in the content change window. The threshold of the repetition degree may be set as needed or may be set in advance. The content duplication degree may be represented by a number, for example, a screenshot of the content change window may be performed in a specific time period to obtain a plurality of images, and the number of images that are repeatedly appeared may be counted from the plurality of images, and the number may be used as the content duplication degree.
Specifically, the terminal may perform content acquisition on the content change window in a first time period, arrange the acquired content information according to acquisition time to obtain a first content information sequence, perform content acquisition on the content change window in a second time period, and arrange the acquired content information according to acquisition time to obtain a second content information sequence. The duration of the first time period and the second time period may be the same, for example, may be 50 seconds each. The first time period and the second time period may be adjacent time periods, for example, the first time period is the first 30 seconds of 1 minute, and the second time period is the last 30 seconds of the 1 minute. The terminal may determine the content repetition degree corresponding to the content change window based on the first content information sequence and the second content information sequence, for example, the content repetition degree corresponding to the content change window may be determined based on a difference or a correlation between the first content information sequence and the second content information sequence. The total period of time made up of the first period of time and the second period of time includes the target period of time.
In some embodiments, the terminal may obtain a current presentation window with a content change degree greater than a change degree threshold as a content change window, determine a content change area corresponding to the content change window, determine an occlusion degree corresponding to the content change area, use the content change window with the occlusion degree less than the occlusion threshold as a candidate software window, obtain a content repetition degree corresponding to the candidate software window, and use the content change window as a current software window concerned by the user when the content repetition degree corresponding to the content change window is less than the repetition degree threshold.
In this embodiment, because the advertisement has the characteristic of repeated playing, the current display window with the content change degree greater than the change degree threshold is determined and used as the content change window, the content repetition degree corresponding to the content change window is determined, and when the content repetition degree corresponding to the content change window is less than the repetition degree threshold, the content change window is used as the current software window concerned by the user, so that the situation that the window where the advertisement is located is determined as the window concerned by the user can be reduced, and the detection accuracy of the window concerned by the user is improved.
In some embodiments, determining the content repetition degree corresponding to the content change window comprises: determining a first content information sequence corresponding to the content change window and a second content information sequence adjacent to the first content information sequence; extracting the content information of the first content information sequence according to a content extraction strategy, and arranging the extracted first content information to obtain a first comparison information sequence;
the time of acquiring each content information in the first content information sequence and the time of acquiring each content information in the second content information sequence may be adjacent.
The content extraction policy is a policy for extracting content information from the content information sequence, and may include at least one of an extraction time interval and an extraction frequency, and the extraction time interval and the extraction frequency may be set as needed or may be set in advance. The way in which the first content information sequence is extracted corresponds to the way in which the second content information sequence is extracted. The first content information refers to content information in a first sequence of content information. The second content information refers to content information in the second content information sequence.
The first comparison information sequence is a sequence in which the first content information extracted from the first content information sequence is arranged according to the acquisition time. The second comparison information sequence is a sequence in which the second content information extracted from the second content information sequence is arranged according to the acquisition time.
The sequence correlation is used to reflect the correlation between the first comparison information sequence and the second comparison information sequence, and the greater the sequence correlation, the greater the correlation between the first comparison information sequence and the second comparison information sequence. The sequence correlation degree and the content repetition degree are in positive correlation. For example, the terminal may use the sequence correlation as the content repetition degree corresponding to the content change window.
Specifically, the terminal may perform content acquisition on the content change window in a first time period, arrange the acquired content information according to acquisition time to obtain a first content information sequence, perform content acquisition on the content change window in a second time period, and arrange the acquired content information according to acquisition time to obtain a second content information sequence. The duration of the first time period and the second time period may be the same, for example, may be 50 seconds each. The first time period and the second time period may be adjacent time periods, for example, the first time period is the first 30 seconds of 1 minute, and the second time period is the last 30 seconds of the 1 minute.
In some embodiments, the number of first content information included in the first sequence of content information is the same as the number of second content information included in the second sequence of content information, and the number of first comparison information included in the first sequence of comparison information is the same as the number of second comparison information included in the second sequence of comparison information, since the strategy of extracting the first sequence of content information is the same as the strategy of extracting the second sequence of content information. The first comparison information refers to content information included in the first comparison information sequence, and the second comparison information refers to content information included in the second comparison information sequence. For example, the terminal may obtain first comparison information sorted into a first order from the first comparison information sequence, obtain second comparison information sorted into the first order from the second comparison information sequence, and combine the first comparison information sorted into the first order and the second comparison information sorted into the first order into a comparison information pair corresponding to the first order. The first ordering may be any ordering in the comparison information sequences. The information comparison result can be any one of consistent comparison or inconsistent comparison. The terminal may count the number of comparison information pairs whose comparison results are consistent in comparison, take the number as the consistent number of information pairs, count the total number of comparison information pairs, take the number as the total number of information pairs, perform a ratio operation on the consistent number of information pairs and the total number of information pairs, and take the result of the ratio operation as the sequence correlation between the first comparison information sequence and the second comparison information sequence.
In this embodiment, a first content information sequence corresponding to a content change window and a second content information sequence adjacent to the first content information sequence are determined, content information extraction is performed on the first content information sequence according to a content extraction policy, the extracted first content information is arranged to obtain a first comparison information sequence, content information extraction is performed on the second content information sequence according to the content extraction policy, the extracted second content information is arranged to obtain a second comparison information sequence, a sequence correlation between the first comparison information sequence and the second comparison information sequence is obtained, content repetition corresponding to the content change window is determined based on the sequence correlation, and since the sequence correlation and the content repetition are in a positive correlation, the content repetition becomes higher when the sequence correlation is larger, and the accuracy of the content repetition is improved.
In some embodiments, the counting the software use duration corresponding to each current software identifier in the current software identifier set, and obtaining the target use duration corresponding to the current software identifier includes: acquiring a forward software identification set corresponding to a current software identification set; comparing the software identification in the forward software identification set with the software identification in the current software identification set, and taking the software identification which is consistent in comparison as a target software identification; adding a target duration to the software use duration corresponding to the target software identification to obtain a target use duration corresponding to the target software identification; the target duration is the time interval between the forward detection time and the current detection time, the forward detection time is the detection time corresponding to the forward software identifier set, and the current detection time is the detection time corresponding to the current software identifier set.
Wherein, the terminal can periodically trigger the software to use the detection instruction. The detection period may be set as needed or may be preset, for example, 1 minute. The current detection time may be a current detection period, and the forward detection time may be a previous detection period corresponding to the current detection period. The current software identification set is the set obtained at the current detection time, and the forward software identification set is the set obtained in the forward detection time. The method for obtaining the forward software identification set in the forward detection time is the same as the method for obtaining the current software identification set in the current detection time.
Specifically, the terminal may obtain the software use duration of the target software identifier stored at the current time, where 1 day is taken as an example, the current time is 12 o 'clock in 1 day, and when 12 o' clock, the software use duration corresponding to the software a is 1 hour. The terminal can perform summation operation on the stored software use duration and the target duration, the result of the summation operation is used as the summation duration, and the stored software use duration is updated by using the summation duration. The target usage duration refers to a software usage duration in a statistical period, which may be at least one of a day, a week, a month, or a year, for example. For example, when the software usage duration corresponding to the target software identifier in 1 week needs to be counted, that is, the counting period is 1 week, the target usage duration is the duration of the target software used by the user in 1 week, and the target software is the software corresponding to the target software identifier.
In this embodiment, a forward software identifier set corresponding to a current software identifier set is obtained, software identifiers in the forward software identifier set are compared with software identifiers in the current software identifier set, the software identifiers which are consistent in comparison are used as target software identifiers, a target use duration corresponding to the target software identifiers is obtained by adding the target use duration to the software use duration corresponding to the target software identifiers, so that the duration is added to software which is concerned by a user in two adjacent detection times, the condition that the time for switching windows of the user is used as the time for the user to pay attention to the windows is reduced, and the accuracy for counting the software use durations is improved.
In some embodiments, the method further comprises: acquiring an object task corresponding to a target object, and acquiring target use duration corresponding to task related software related to the object task; and when the target use time corresponding to the task related software is less than the task completion time threshold of the object task, outputting the task prompt information of the object task.
The target object may be a user corresponding to the terminal. The object task refers to a task to be completed by the target object, for example, when the target object is a student, the object task may be a homework, for example, a homework arranged by a teacher. The object task may be a task that is actively made by the user, or may be a task that is specified by an object related to the target object for the target object, for example, when the target object is a student, the object task may be a task that is made by a parent for the student, or may be a task that is made by a teacher for the student.
Task related software refers to software that is needed to complete a subject task, such as when a subject task teacher or parent creates a homework on student learning software, the task related software learns the software for the student.
The task completion time length threshold may be set according to an operation of a user, may be determined according to difficulty of the target task, or may be a time length threshold extracted from task information of the target task, for example, if the task information includes 20 minutes of viewing the video a, 20 minutes may be used as the task completion time length threshold.
The task prompt information may include at least one of an object task identifier or a software identifier, and the object task identifier is used to uniquely identify the object task. The task prompt message may also include a task completion degree or an incomplete task degree, for example, the task prompt message may be "job B in software S is completed by 80%, or 20% is not completed, please complete as soon as possible".
Specifically, the terminal may obtain an object task corresponding to the target object and task information corresponding to the object task from the task related software, obtain a task completion time threshold from the task information, and output task prompt information of the object task when the target usage time corresponding to the task related software is less than the task completion time threshold of the object task.
In this embodiment, when the target use duration corresponding to the task related software is less than the task completion duration threshold of the target task, the task prompt information of the target task is output, so that the user can be timely reminded of completing the task, and the task completion efficiency is improved.
In some embodiments, the terminal may obtain a usage duration threshold corresponding to the current software identifier, compare the target usage duration corresponding to the current software identifier with the usage duration threshold, generate timeout indication information corresponding to the current software identifier when the target usage duration reaches the usage duration threshold, and display the timeout indication information.
The usage duration threshold may be preset or set as needed. The timeout indication information may include a software identifier, and the timeout indication information may be, for example, "the duration of using the game software R has reached 2 hours today".
In the embodiment, when the target use duration reaches the use duration threshold, the overtime prompt information is displayed, so that the situation that the user is addicted in software and forgets to use the software can be reduced, and the user is assisted in reasonably using the software.
In some embodiments, as shown in fig. 14A, there is provided a software usage management method including the steps of:
step S1402, responding to the software use detection instruction, acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy; the window detection strategy comprises window focus detection, window area proportion detection and image rendering frequency detection; the resource occupation detection strategy comprises channel occupation detection;
as shown in fig. 14B, software for detecting the use duration of the software may be installed in the terminal, and the running software (detection service running) refers to running the software for detecting the use duration of the software. The software for detecting the software use duration is recorded as duration detection software, and the duration detection software can utilize window focus detection, window area ratio detection, image rendering frequency detection and sound channel occupation detection to detect in response to a software use detection instruction, so as to determine process path information corresponding to a process needing duration statistics. When detecting by using window focus detection, window area ratio detection, image rendering frequency detection and channel occupation detection, the 4 detection methods can be used for detection at the same time, or the 4 detection methods can be used for detection in sequence, and the detection sequence of the 4 detection methods is not limited in the application.
Wherein the window focus detection is used to determine a focus window from a plurality of windows. The focus window refers to a window that is presented at the top of the screen and in a fully presented state, i.e., the entire window can be used for viewing.
Step S1404A, acquiring a current display window set, and performing focus window detection on the current display window set by using a window focus detection strategy;
step S1404C, determining whether a focus window exists in the current presentation window set, if so, executing step S1404E, and if not, executing step S1404D;
step S1404E, taking a focus window in the current display window set as a current software window concerned by the user;
the current display window set comprises a plurality of current display windows, the terminal can correspond to one or more screens, and the terminal can acquire the windows displayed in at least one screen of the screens to form the current display window set. For example, when the user computer has multiple screens and each screen has a window that is completely displayed, the terminal may determine on which screen the user's last action falls, e.g., the user's last mouse operation, the last keyboard input operation, etc., and group the windows in the screen on which the user's last action falls into the current set of displayed windows.
Step S1404B, performing sound channel occupation detection by using a sound channel occupation detection strategy to obtain a current sound channel occupation process, and acquiring an identifier corresponding to the process as a second execution unit identifier;
there is a scene in which although the window is completely blocked, there is sound playing, such as a music player, a small-sized book, a talking book, etc. In this case the user's attention may be to these sounds even though the window is at the forefront, and the user is not paying attention to the forefront software. At this time, the terminal can acquire the software playing the sound currently by acquiring the using process of the sound driver, and count the duration.
Of course, if the user has an action on the front-most software, such as mouse scrolling, keyboard entry, microphone entry, etc. At this time, the usage statistics of foreground software should not be ignored, and the window statistics with operations have the highest priority. The software occupied by the background sound channel and the software operated by the background sound channel can be subjected to duration statistics at the same time.
Step S1404D, utilizing window area proportion detection to carry out shielding detection on the current display window set;
and step S1404F, determining whether each current display window in the current display window set is in a complete display state, if so, executing step S1404G, and if not, executing step S1404H.
Step S1404G, taking each current display window in the current display window set as a current software window concerned by the user;
wherein, that all the areas of the current presentation window are in a visible state means that all the areas of the current presentation window can be observed by the user. In view of the fact that the screen size used by the user is becoming larger and larger, and even in the case where the user uses a plurality of screens, the use of window area proportion detection makes it possible to detect software that the user is focusing on, which cannot be detected by the window focus detection method.
Step S1404H, obtaining window display positions of all current display windows in the current display window set, determining display degrees corresponding to all current display windows based on the window display positions, and obtaining the current display window with the maximum display degree from the current display window set to serve as a current software window concerned by a user;
specifically, the terminal may determine a display size of a display area corresponding to the current display window based on the window display position, obtain a window size corresponding to the current display window, and determine a display degree corresponding to the current display window based on the display size and the window size.
Step S1404I, based on image rendering frequency detection, acquiring a target content information sequence displayed by each current display window except the current display window with the maximum display degree in a current display window set, determining a content variation degree corresponding to the current display window based on content information difference in the target content information sequence, and taking the current display window with the content variation degree larger than a variation degree threshold value as a content variation window;
the terminal can acquire target content information and adjacent content information corresponding to the target content information from the target content information sequence, obtain information change degrees of the target content information relative to the adjacent content information according to the difference between the target content information and the adjacent content information, and perform statistical operation on the information change degrees corresponding to the target content information to obtain the content change degree corresponding to the current display window.
For a window of a video playing or window mode game, the terminal can comprehensively judge whether the attention of the user is on the window by detecting the frequency of the picture change rendered by the window and combining the displayed window duty ratio. For example, the terminal can perform timed screenshot on the window, judge the difference between the current frame and the previous frame, judge the frequency of the change of the picture in a short time, and count the duration of the software for the window with higher change frequency and the changed part which is not blocked by other windows.
Of course, for some tile advertisements present on a web page, the detection method may also be hit. At this time, the terminal can judge whether repeated images appear for a plurality of times in a short time, if so, the terminal can determine that the image rendering change is probably the patch advertisement of the webpage and ignore the image rendering change.
Step S1404J, determining a content change area corresponding to the content change window, acquiring the shielding degree of the content change area, and taking the content change window with the shielding degree smaller than the shielding threshold value as a candidate display window;
and step S1404K, determining the content repetition degree corresponding to the candidate display window, and taking the candidate display window with the content repetition degree smaller than the repetition degree threshold value as the current software window concerned by the user.
The terminal can determine a first content information sequence corresponding to the content change window and a second content information sequence adjacent to the first content information sequence; extracting the content information of the first content information sequence according to a content extraction strategy, and arranging the extracted first content information to obtain a first comparison information sequence; extracting the content information of the second content information sequence according to a content extraction strategy, and arranging the second content information obtained by extraction to obtain a second comparison information sequence; and obtaining the sequence correlation degree between the first comparison information sequence and the second comparison information sequence, determining the content repetition degree corresponding to the content change window based on the sequence correlation degree, wherein the sequence correlation degree and the content repetition degree form a positive correlation relationship.
When the content repetition degree is less than the repetition degree threshold, the terminal may determine that a video is being played or a game is being played, and when the content repetition degree is greater than the repetition degree threshold, the terminal may determine the content change area as an area where an advertisement is located, that is, the changed content is an advertisement. As shown in fig. 13, the terminal captures the images in the window, compares the difference between the images, and when it is determined that the number of changes of the images in a short time is greater than the number threshold, the number threshold may be set as needed, for example, 5 times, the number of changes may reflect the degree of change of the content, the number of changes and the degree of change of the content have a positive correlation, when the number of changes is greater than the number threshold, the terminal determines whether there is a loop image, the loop image is an image that appears in a loop, when there is, it is determined that the changed content is a welt advertisement or gif, and when there is no loop image, it is determined that the changed content is a played video or game.
Step S1406, obtaining a first execution unit identifier corresponding to the current software window, obtaining a first software identifier corresponding to the first execution unit identifier, and obtaining a second software identifier corresponding to the second execution unit identifier;
as shown in fig. 14B, the execution unit identifier may be, for example, process path information, and when the terminal acquires the process path information, the software name corresponding to the process path information may be determined, and as shown in fig. 14B, the software name corresponding to the process path information may be determined by using at least one of four methods, namely "file attribute", "registry", "shortcut", and "manual operation". The software identification may be, for example, a software name. As shown in fig. 15, "file attribute" refers to obtaining a file description or a product name, "registry" refers to obtaining a Uninstall registry entry, "shortcut" refers to obtaining an installation path according to the shortcut, and performing matching of the installation path, "manual operation" corresponds to "user mark or manual operation" in fig. 15.
Step S1408, determining a current software identification set by combining the first software identification and the second software identification;
step 1410, counting the software service time length corresponding to each current software identifier in the current software identifier set to obtain the target service time length corresponding to the current software identifier.
The terminal can compare target content information in the target content information sequence with corresponding adjacent content information to obtain a content comparison result, obtain each piece of target content information with inconsistent comparison as comparison content information from the target content information sequence, segment the target content information sequence to obtain a comparison content information sequence corresponding to the comparison content information, and increase content display duration corresponding to the comparison content information sequence on software use duration corresponding to the current software identification to obtain target use duration corresponding to the current software identification.
In some embodiments, the terminal may obtain a forward software identifier set corresponding to a current software identifier set, compare software identifiers in the forward software identifier set with software identifiers in the current software identifier set, regard software identifiers in accordance with the comparison as target software identifiers, and add a target duration to a software usage duration corresponding to the target software identifiers to obtain a target usage duration corresponding to the target software identifiers; the target duration is the time interval between the forward detection time and the current detection time, the forward detection time is the detection time corresponding to the forward software identifier set, and the current detection time is the detection time corresponding to the current software identifier set.
And step S1412, displaying the target use duration.
The terminal can display the target use duration according to the software name or the software type. The user can view the ranking, the occupation ratio and the like of the software duration in a certain period of time on a certain day. The terminal can also carry out statistics on the time length ratio of the dimensionalities of office, games, videos, social contact, learning and the like according to software classification. Therefore, the user can clearly master the proportion of time in the process of using the computer, thereby controlling the frequency and the time length of using certain software.
And S1414, performing software management based on the target use duration.
As shown in fig. 16, software management based on the usage duration of the software may be performed in a "family scene", a "fatigue control scene", and a "team management scene", and of course, software may also be performed in other scenes, where the type of the scene is not limited. In a family scene, the using time of entertainment software can be controlled, students can be reminded of using learning software at regular time, and parents can be warned when the using time of the entertainment software exceeds the specified time. In the fatigue control scene, the alarm can be given when the use time of the video software exceeds the set time, and the alarm can be given when the use time is once started. For example, parents may want to control the game of children and the duration of the video, provide alarms and restrictions on the duration of the video and game type software, and parents may know the software usage of children by using mobile phones APP (Application), applets or web pages, etc., to reduce eye fatigue caused by watching the screen for a long time. The time of using the computer is reasonably distributed, the efficiency is improved, the addiction is prevented, the reminding with the overlong use time length can be popped out at regular time, the terminal can provide a more reasonable time threshold value, and the user can also define the time.
The software use management method can realize a software screen use duration management scheme for a Windows system, and comprehensively judges the use condition of software of the Windows system in a multi-dimensional way through technologies such as focus capture, software window visual area detection (namely window area ratio detection), sound channel, image rendering change and the like, so that the use duration of each software is counted better, the use condition of each software is analyzed, and a more personalized software use suggestion is output to assist a user to perform time management more efficiently, and the method can be applied to scenes of family and team management. The software duration of the user on the windows computer can be accurately counted and displayed in a chart mode, the user can conveniently check the duration distribution of the software used by the user through dimensions such as software, classification and the like, the user can conveniently backtrack, manage and control the time of the user, and therefore the use efficiency is improved. The software using duration of the user can be counted in a third-party software mode, and the charted data is finally presented, so that the software using duration is controlled. The method comprehensively covers the software use scene of the windows system through the four schemes of software window focus capture, software window visual area detection, software detection of the currently occupied sound channel and window image rendering detection, so that an accurate user computer use time scene is obtained. In the software use management method provided by the application, in order to process error data, a window switched out within 5s is not counted, a system process is not counted, and software under a windows catalog of a system disk is mainly excluded. Therefore, the use data of the software concerned by the user can be counted more accurately.
It should be understood that although the various steps in the flow diagrams of fig. 2-16 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not limited to being performed in the exact order illustrated and, unless explicitly stated herein, may be performed in other orders. Moreover, at least some of the steps in fig. 2-16 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
In some embodiments, as shown in fig. 17, there is provided a software usage management apparatus, which may be a part of a computer device using a software module or a hardware module, or a combination of the two, and specifically includes: a software usage detection policy set obtaining module 1702, a first execution unit identifier obtaining module 1704, a second execution unit identifier obtaining module 1706, a software identifier obtaining module 1708, a current software identifier set obtaining module 1710, and a target usage duration obtaining module 1712, where:
a software usage detection policy set obtaining module 1702, configured to obtain a software usage detection policy set in response to a software usage detection instruction, where the software usage detection policy set includes a window detection policy and a resource occupation detection policy;
a first execution unit identifier obtaining module 1704, configured to determine, based on a window detection policy, a current software window concerned by a user from a current display window set, and obtain a first execution unit identifier corresponding to the current software window;
a second execution unit identifier obtaining module 1706, configured to perform playing resource occupation detection based on the resource occupation detection policy, to obtain a second execution unit identifier of the currently occupied playing resource;
a software identifier obtaining module 1708, configured to obtain a first software identifier corresponding to the first execution unit identifier, and obtain a second software identifier corresponding to the second execution unit identifier;
a current software identifier set obtaining module 1710, configured to obtain a current software identifier set by combining the first software identifier and the second software identifier;
a target duration obtaining module 1712, configured to count software durations corresponding to each current software identifier in the current software identifier set, so as to obtain a target duration corresponding to the current software identifier.
In some embodiments, the first execution unit identification acquisition module 1704 includes:
the window display position acquisition unit is used for acquiring the window display position of each current display window in the current display window set displayed in the screen;
the current software window obtaining unit is used for determining the display degree corresponding to each current display window based on the window display position; and screening software windows meeting the user attention condition from the current display window set based on the display degree corresponding to the current display window, wherein the software windows are used as the current software windows concerned by the user, and the user attention condition comprises at least one of the display degree being greater than a degree threshold value or the display degree being sorted before a sorting threshold value.
In some embodiments, the current software window obtaining unit is further configured to determine, based on the window display position, a display size of a display area corresponding to the current display window; acquiring a window size corresponding to a current display window; and determining the display degree corresponding to the current display window based on the display size and the window size.
In some embodiments, the first execution unit identification acquisition module 1704 includes:
the target content information sequence acquisition unit is used for acquiring a target content information sequence displayed by each current display window in a current display window set displayed in a screen;
the content change degree determining unit is used for determining the content change degree corresponding to the current display window based on the content information difference in the target content information sequence; the content variation degree and the content information difference form a positive correlation;
and the current software window obtaining unit is used for taking at least one of the current display windows with the content change degrees larger than the change degree threshold value as the current software window concerned by the user.
In some embodiments, the content change degree determining unit is further configured to obtain the target content information and the adjacent content information corresponding to the target content information from the target content information sequence; obtaining the information change degree of the target content information relative to the adjacent content information according to the difference between the target content information and the adjacent content information; and carrying out statistical operation on the information change degrees corresponding to the target content information to obtain the content change degree corresponding to the current display window.
In some embodiments, the target usage duration derivation module 1712 includes:
a content comparison result obtaining unit, configured to compare target content information in the target content information sequence with corresponding adjacent content information to obtain a content comparison result;
a comparison content information obtaining unit, configured to obtain, from the target content information sequence, each target content information whose content comparison result is inconsistent in comparison as comparison content information;
the comparison content information sequence obtaining unit is used for segmenting the target content information sequence to obtain a comparison content information sequence corresponding to the comparison content information;
and the first target use duration obtaining unit is used for increasing the content display duration corresponding to the comparison content information sequence on the software use duration corresponding to the current software identifier to obtain the target use duration corresponding to the current software identifier.
In some embodiments, the current software window obtaining unit is further configured to obtain a current display window with a content variation degree greater than a variation degree threshold as the content variation window; determining a content change area corresponding to the content change window; and when the shielding degree of the content change area is smaller than the shielding threshold value, taking the content change window as the current software window concerned by the user.
In some embodiments, the current software window obtaining unit is further configured to determine, as the content change window, a current presentation window whose content change degree is greater than the change degree threshold; determining the content repetition degree corresponding to the content change window; and when the content repetition degree corresponding to the content change window is smaller than the repetition degree threshold value, taking the content change window as the current software window concerned by the user.
In some embodiments, the current software window obtaining unit is further configured to determine a first content information sequence corresponding to the content change window and a second content information sequence adjacent to the first content information sequence; extracting the content information of the first content information sequence according to a content extraction strategy, and arranging the extracted first content information to obtain a first comparison information sequence; extracting the content information of the second content information sequence according to a content extraction strategy, and arranging the second content information obtained by extraction to obtain a second comparison information sequence; and acquiring the sequence correlation degree between the first comparative information sequence and the second comparative information sequence, and determining the content repetition degree corresponding to the content change window based on the sequence correlation degree, wherein the sequence correlation degree and the content repetition degree form a positive correlation relationship.
In some embodiments, the target usage duration derivation module 1712 includes:
a forward software identifier set obtaining unit, configured to obtain a forward software identifier set corresponding to a current software identifier set;
a target software identification obtaining unit, configured to compare software identifications in the forward software identification set with software identifications in a current software identification set, and use software identifications that are consistent in comparison as target software identifications;
a second target use duration obtaining unit, configured to add a target use duration to the software use duration corresponding to the target software identifier, so as to obtain a target use duration corresponding to the target software identifier; the target duration is the time interval between the forward detection time and the current detection time, the forward detection time is the detection time corresponding to the forward software identifier set, and the current detection time is the detection time corresponding to the current software identifier set.
In some embodiments, the apparatus further comprises:
the object task acquisition module is used for acquiring an object task corresponding to a target object and acquiring target service duration corresponding to task related software related to the object task;
and the task prompt information output module is used for outputting the task prompt information of the object task when the target use time corresponding to the task related software is less than the task completion time threshold of the object task.
For specific limitations of the software usage management apparatus, reference may be made to the above limitations of the software usage management method, which will not be described herein again. The above-described respective modules in the software usage management apparatus may be wholly or partially implemented by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In some embodiments, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 18. The computer device comprises a processor, a memory, a communication interface, a display screen and an input device which are connected through a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The communication interface of the computer device is used for communicating with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a software usage management method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
In some embodiments, a computer device is provided, which may be a server, and its internal structure diagram may be as shown in fig. 19. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program to run on the non-volatile storage medium. The database of the computer device is used for storing data involved in the software usage management method. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a software usage management method.
It will be appreciated by those skilled in the art that the configurations shown in fig. 18 and 19 are block diagrams of only some of the configurations relevant to the present disclosure, and do not constitute a limitation on the computing devices to which the present disclosure may be applied, and that a particular computing device may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In some embodiments, there is further provided a computer device comprising a memory and a processor, the memory having stored therein a computer program, the processor implementing the steps of the above method embodiments when executing the computer program.
In some embodiments, a computer-readable storage medium is provided, in which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
In some embodiments, a computer program product or computer program is provided that includes computer instructions stored in a computer-readable storage medium. The computer instructions are read by a processor of a computer device from a computer-readable storage medium, and the computer instructions are executed by the processor to cause the computer device to perform the steps in the above-mentioned method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), for example.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is specific and detailed, but not to be understood as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (15)

1. A method for managing software usage, the method comprising:
responding to a software use detection instruction, and acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy;
determining a current software window concerned by a user from a current display window set based on the window detection strategy, and acquiring a first execution unit identifier corresponding to the current software window;
performing play resource occupation detection based on the resource occupation detection strategy to obtain a second execution unit identifier of the currently occupied play resource;
acquiring a first software identifier corresponding to the first execution unit identifier and acquiring a second software identifier corresponding to the second execution unit identifier;
combining the first software identification and the second software identification to obtain a current software identification set;
and counting the software service durations corresponding to the current software identifiers in the current software identifier set to obtain the target service durations corresponding to the current software identifiers.
2. The method of claim 1, wherein determining a current software window of interest to a user from a set of current presentation windows based on the window detection policy comprises:
acquiring window display positions of all current display windows in a current display window set displayed in a screen;
determining the display degree corresponding to each current display window based on the window display position; and screening software windows meeting user attention conditions from the current display window set based on the display degree corresponding to the current display window, wherein the software windows serve as the current software windows concerned by the user, and the user attention conditions comprise at least one of the display degree being greater than a degree threshold value or the display degree being sorted before a sorting threshold value.
3. The method of claim 2, wherein the determining the display degree corresponding to each of the current display windows based on the window display position comprises:
determining the display size of a display area corresponding to the current display window based on the window display position;
acquiring the window size corresponding to the current display window;
and determining the display degree corresponding to the current display window based on the display size and the window size.
4. The method of claim 1, wherein determining a current software window of interest to a user from a set of current presentation windows based on the window detection policy comprises:
acquiring a target content information sequence displayed by each current display window in a current display window set displayed in a screen;
determining the content variation degree corresponding to the current display window based on the content information difference in the target content information sequence; the content change degree and the content information difference are in positive correlation;
and taking at least one of the current display windows with the content change degree larger than the change degree threshold value as a current software window concerned by the user.
5. The method according to claim 4, wherein the determining the content variation degree corresponding to the current presentation window based on the content information difference in the target content information sequence comprises:
acquiring target content information and adjacent content information corresponding to the target content information from the target content information sequence;
obtaining the information change degree of the target content information relative to the adjacent content information according to the difference between the target content information and the adjacent content information;
and carrying out statistical operation on the information change degrees corresponding to the target content information to obtain the content change degree corresponding to the current display window.
6. The method according to claim 5, wherein the counting the software use duration corresponding to each current software identifier in the current software identifier set to obtain the target use duration corresponding to the current software identifier includes:
comparing the target content information in the target content information sequence with the corresponding adjacent content information to obtain a content comparison result;
acquiring each target content information with inconsistent content comparison results from the target content information sequence as comparison content information;
segmenting the target content information sequence to obtain a contrast content information sequence corresponding to the contrast content information;
and increasing the content display duration corresponding to the comparison content information sequence on the software use duration corresponding to the current software identifier to obtain the target use duration corresponding to the current software identifier.
7. The method according to claim 4, wherein the step of using at least one of the currently displayed windows with the content variation degree larger than the variation degree threshold as the current software window concerned by the user comprises the steps of:
acquiring a current display window with the content change degree larger than a change degree threshold value as a content change window;
determining a content change area corresponding to the content change window;
and when the shielding degree of the content change area is smaller than the shielding threshold value, taking the content change window as the current software window concerned by the user.
8. The method according to claim 4, wherein the step of using at least one of the currently displayed windows with the content variation degree larger than the variation degree threshold value as the current software window concerned by the user comprises the following steps:
determining a current display window with the content change degree larger than a change degree threshold value as a content change window;
determining the content repetition degree corresponding to the content change window;
and when the content repetition degree corresponding to the content change window is smaller than a repetition degree threshold value, taking the content change window as a current software window concerned by the user.
9. The method of claim 8, wherein the determining the content repetition degree corresponding to the content change window comprises:
determining a first content information sequence corresponding to the content change window and a second content information sequence adjacent to the first content information sequence;
extracting content information of the first content information sequence according to a content extraction strategy, and arranging the extracted first content information to obtain a first comparison information sequence;
extracting the content information of the second content information sequence according to the content extraction strategy, and arranging the second content information obtained by extraction to obtain a second comparison information sequence;
and acquiring the sequence correlation degree between the first comparison information sequence and the second comparison information sequence, and determining the content repetition degree corresponding to the content change window based on the sequence correlation degree, wherein the sequence correlation degree and the content repetition degree form a positive correlation relationship.
10. The method according to claim 1, wherein the step of counting the software service durations corresponding to the current software identifiers in the current software identifier set to obtain the target service duration corresponding to the current software identifier includes:
acquiring a forward software identification set corresponding to the current software identification set;
comparing the software identification in the forward software identification set with the software identification in the current software identification set, and taking the software identification with consistent comparison as a target software identification;
adding a target duration to the software use duration corresponding to the target software identification to obtain a target use duration corresponding to the target software identification; the target duration is a time interval between forward detection time and current detection time, the forward detection time is detection time corresponding to the forward software identifier set, and the current detection time is detection time corresponding to the current software identifier set.
11. The method of claim 1, further comprising:
acquiring an object task corresponding to a target object, and acquiring target use duration corresponding to task related software related to the object task;
and when the target use time corresponding to the task related software is less than the task completion time threshold of the object task, outputting the task prompt information of the object task.
12. A software usage management apparatus, characterized in that the apparatus comprises:
the software use detection strategy set acquisition module is used for responding to a software use detection instruction and acquiring a software use detection strategy set, wherein the software use detection strategy set comprises a window detection strategy and a resource occupation detection strategy;
a first execution unit identifier obtaining module, configured to determine, based on the window detection policy, a current software window concerned by a user from a current display window set, and obtain a first execution unit identifier corresponding to the current software window;
a second execution unit identifier obtaining module, configured to perform playing resource occupation detection based on the resource occupation detection policy, so as to obtain a second execution unit identifier of a currently occupied playing resource;
a software identifier obtaining module, configured to obtain a first software identifier corresponding to the first execution unit identifier, and obtain a second software identifier corresponding to the second execution unit identifier;
a current software identifier set obtaining module, configured to obtain a current software identifier set by combining the first software identifier and the second software identifier;
and the target use duration obtaining module is used for counting the software use durations corresponding to all the current software identifiers in the current software identifier set to obtain the target use durations corresponding to the current software identifiers.
13. The apparatus of claim 12, wherein the first execution unit identification obtaining module comprises:
the window display position acquisition unit is used for acquiring the window display position of each current display window in the current display window set displayed in the screen;
a current software window obtaining unit, configured to determine, based on the window display position, a display degree corresponding to each current display window; and screening software windows meeting user attention conditions from the current display window set based on the display degrees corresponding to the current display windows to serve as the current software windows concerned by the user, wherein the user attention conditions comprise at least one of the display degree being greater than a degree threshold value or the display degree being sequenced before a sequencing threshold value.
14. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor realizes the steps of the method of any one of claims 1 to 11 when executing the computer program.
15. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 11.
CN202110620063.7A 2021-06-03 2021-06-03 Software use management method and device, computer equipment and storage medium Pending CN115437526A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110620063.7A CN115437526A (en) 2021-06-03 2021-06-03 Software use management method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110620063.7A CN115437526A (en) 2021-06-03 2021-06-03 Software use management method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115437526A true CN115437526A (en) 2022-12-06

Family

ID=84240370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110620063.7A Pending CN115437526A (en) 2021-06-03 2021-06-03 Software use management method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115437526A (en)

Similar Documents

Publication Publication Date Title
EP3125135B1 (en) Picture processing method and device
TWI498843B (en) Portable electronic device, content recommendation method and computer-readable medium
CN105528392B (en) Classification label ordering method and device
US10991054B2 (en) Method and device for acquiring transaction record, and computer readable storage medium
CN107229604B (en) Transaction record information display method and device and computer readable storage medium
US11924485B2 (en) Method and system of displaying a video
US9953221B2 (en) Multimedia presentation method and apparatus
US11894021B2 (en) Data processing method and system, storage medium, and computing device
CN113014476B (en) Group creation method and device
US11062122B2 (en) Image candidate determination apparatus, image candidate determination method, program for controlling image candidate determination apparatus, and recording medium storing program
CN111654749A (en) Video data production method and device, electronic equipment and computer readable medium
CN109587328B (en) Message management method and device, storage medium and electronic equipment
CN103348315A (en) Content storage management in cameras
US11244186B2 (en) Information processing apparatus, method and storage medium
CN110580319A (en) Webpage label display method and device, electronic equipment and storage medium
CN110688009A (en) Application program access method and device of folding screen terminal
CN111625309A (en) Card management method, terminal equipment and computer readable storage medium
CN116320141A (en) Method for recommending card punching, electronic equipment and computer readable storage medium
CN111930281B (en) Reminding message creating method and device and electronic equipment
CN109086157A (en) Log method for tracing, device, electronic equipment and storage medium
CN112698775A (en) Image display method and device and electronic equipment
CN115437526A (en) Software use management method and device, computer equipment and storage medium
CN113271378B (en) Image processing method and device and electronic equipment
CN111444064B (en) Component exposure statistical method and device and mobile terminal
CN107256486B (en) Transaction record information acquisition method and device and computer readable storage medium

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