Activeness index determination method and device, electronic equipment and storage medium

By identifying and restoring the atomic active information reported by the terminal, the problem of inaccurate statistics of application activity indicators is solved, and more accurate determination of activity indicators is achieved.

CN120263684APending Publication Date: 2025-07-04TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410015839.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-04
Publication Date
2025-07-04

Smart Images

  • Figure CN120263684A_ABST
    Figure CN120263684A_ABST
Patent Text Reader

Abstract

The invention discloses an activeness index determination method and device, electronic equipment and a storage medium. The embodiment of the invention relates to various scenes such as cloud technology, artificial intelligence, intelligent traffic, auxiliary driving and the like. The method comprises the following steps: determining a plurality of pieces of atomic active information reported by each terminal for a target application, and determining atomic active information belonging to the same session in the plurality of pieces of atomic active information reported by the same terminal for the target application according to an active type in each piece of atomic active information; performing session restoration according to the active time period in the atomic active information belonging to the same session to obtain at least one session of the target application; and determining an activeness index of the target application according to the at least one session of the target application. According to the method and device, it can be ensured that different activeness indexes can be counted according to a unified session, and the problem that the activeness indexes are inaccurate due to the fact that different data are used for counting different activeness indexes can be avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a method, apparatus, electronic device, and storage medium for determining an activity index. Background Art

[0002] The activity index of an application is a key analysis index during the operation of the application. Currently, it is possible to insert data collection points in the application to be counted, so as to report start data collection points when the application starts to obtain start data collection data, report session end data collection points when the application exits to obtain session end data collection data, and perform data statistics based on the start data collection data and the session end data collection data to obtain the activity index of the application.

[0003] However, the accuracy of the data collection points obtained by the existing method is relatively low, resulting in inaccurate activity indexes of the counted applications. Summary of the Invention

[0004] In view of this, embodiments of the present application propose a method, apparatus, electronic device, and storage medium for determining an activity index.

[0005] In a first aspect, an embodiment of the present application provides a method for determining an activity index. The method includes: determining a plurality of atomic activity information reported by each terminal for a target application; the atomic activity information includes the active time period of the target application on the terminal and the corresponding active type; according to the active type in each atomic activity information, determining the atomic activity information belonging to the same session among the plurality of atomic activity information reported by the same terminal for the target application; performing session restoration according to the active time periods in the atomic activity information belonging to the same session to obtain at least one session of the target application; and determining the activity index of the target application according to at least one session of the target application.

[0006] In a second aspect, an embodiment of the present application provides an apparatus for determining an activity index. The apparatus includes: an acquisition module for a first determination module for determining a plurality of atomic activity information reported by each terminal for a target application; the atomic activity information includes the active time period of the target application on the terminal and the corresponding active type; a second determination module for determining, according to the active type in each atomic activity information, the atomic activity information belonging to the same session among the plurality of atomic activity information reported by the same terminal for the target application; a restoration module for performing session restoration according to the active time periods in the atomic activity information belonging to the same session to obtain at least one session of the target application; and a third determination module for determining the activity index of the target application according to at least one session of the target application.

[0007] Optionally, buffers are set for different terminals running the target application. The buffer set for a terminal is used to cache the atomic active information reported by the terminal for the target application. The second determination module is further configured to receive the atomic active information reported in real time by the target terminal for the target application. The target terminal is any one of multiple terminals running the target application. If the active type in the atomic active information reported in real time is the start type, it is determined that the atomic active information reported in real time and the atomic active information in the buffer corresponding to the target terminal belong to different sessions, and the atomic active information in the buffer corresponding to the target terminal belongs to the same session. The restoration module is further configured to perform session restoration according to the active time period in the atomic active information in the buffer corresponding to the target terminal to obtain a session of the target application, and delete the atomic active information in the buffer corresponding to the target terminal.

[0008] Optionally, a timer is also deployed for each buffer. The second determination module is further configured to clear the status of the target timer deployed for the buffer corresponding to the target terminal. The restoration module is further configured to cache the atomic active information reported in real time into the buffer corresponding to the target terminal and start the target timer.

[0009] Optionally, during the running of the target application on the terminal, the reporting time interval between two adjacent reports of atomic active information by the terminal for the target application does not exceed a preset interval duration. The second determination module is further configured to, if the active type of the atomic active information reported in real time is the in-use type, cache the atomic active information reported in real time into the buffer corresponding to the target terminal and update the timing start point of the target timer. If the timing duration of the target timer reaches the preset timing duration, it is determined that the atomic active information in the buffer corresponding to the target terminal belongs to the same session, and the preset timing duration is not less than the preset interval duration. The restoration module is further configured to, when the timing duration of the target timer reaches the preset timing duration, perform session restoration according to the active time period in the atomic active information in the buffer corresponding to the target terminal to obtain a session of the target application, delete the atomic active information in the buffer corresponding to the target terminal, and clear the status of the target timer.

[0010] Optionally, the multiple atomic active information includes the atomic active information reported by the target terminal for the target application within a preset time period, and the duration of the preset time period is greater than the duration of the active time period. The second determination module is further configured to sort the multiple atomic active information reported by the target terminal for the target application within the preset time period in the order of the active time period from the earliest to the latest to obtain the atomic active information sequence corresponding to the target terminal, traverse the atomic active information sequence corresponding to the target terminal, and if the active type in the currently traversed atomic active information is the in-use type, determine that the currently traversed atomic active information and the previous atomic active information in the atomic active information sequence currently traversed belong to the same session.

[0011] Optionally, the active time period includes a start time and an end time; the restoration module is further configured to construct a session with the earliest start time among the active time periods included in the atomic active information belonging to the same session as the session start time and the latest end time as the session end time, so as to obtain at least one session of the target application.

[0012] Optionally, the activity metric includes at least one of the number of active terminals, the number of usage times, and the usage duration within a unit time period; the session includes the terminal identifier running the target application, the session start time, and the session end time; the third determination module is further configured to remove duplicates based on the terminal identifiers in each session of the target application within the statistical time period, so as to obtain multiple sessions with non-repeating terminal identifiers of the target application within the statistical time period; the duration of the statistical time period is equal to the unit time period; perform session accumulation based on the multiple sessions with non-repeating terminal identifiers of the target application within the statistical time period to obtain the number of active terminals of the target application within the unit time period; perform session count accumulation based on the sessions of the target application within the statistical time period to obtain the number of usage times of the target application within the unit time period; perform session duration accumulation based on the session start time and the session end time of the sessions of the target application within the statistical time period to obtain the usage duration of the target application within the unit time period.

[0013] In a third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory; computer-readable instructions are stored on the memory, and when the computer-readable instructions are executed by the processor, the above method is implemented.

[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer-readable instructions are stored, and when the computer-readable instructions are executed by a processor, the above method is implemented.

[0015] In a fifth aspect, an embodiment of the present application provides a computer program product or a computer program including computer instructions, and when the computer instructions are executed by a processor, the above method is implemented.

[0016] The embodiment of the present application provides a method, device, electronic device and storage medium for determining an activity index. In the present application, based on the atomic activity information reported by each terminal for the target application during the operation of the target application, on the basis of determining the multiple atomic activity information reported by each terminal for the target application, according to the activity type in the atomic activity information, multiple atomic activity information belonging to the same session in the multiple atomic activity information reported by the same terminal for the target application is determined, and then the session is restored according to the active time period in the atomic activity information belonging to the same session to obtain the session of the target application, and then the activity index of the target application is determined based on the determined session of the target application. In the related art, the activity index is counted according to the startup event and session event reported by the terminal for the application (the startup time is used to count the number of active terminals in a unit time, and the session event is used to count the number of uses and the length of use), but in practice, there may be a session event that is not reported normally, which may cause the number of uses and the length of use to be too small, or the number of uses is less than the number of active terminals in a unit time. In the present application, session restoration is performed based on atomic activity information, which is generated according to the usage of the target application on the terminal in a short period of time, and then the activity indicators are uniformly counted based on the restored sessions. In this way, on the one hand, the problem of inaccurate activity indicators due to non-reporting of some session events can be avoided. On the other hand, it can ensure that different activity indicators can be counted according to a unified session, which can avoid the problem of inaccurate activity indicators caused by using different data to count different activity indicators. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0018] Figure 1 A schematic diagram showing an application scenario to which the embodiments of the present application are applicable;

[0019] Figure 2 A flow chart of a method for determining an activity index proposed in one embodiment of the present application is shown;

[0020] Figure 3 A schematic diagram showing a process of determining an activity index in an embodiment of the present application is shown;

[0021] Figure 4 A process logic diagram for determining an activity index of a target application in an embodiment of the present application is shown;

[0022] Figure 5 shows Figure 2 the flowcharts of steps S120 and S130 of the corresponding embodiment in one embodiment;

[0023] Figure 6 shows Figure 2 the flowcharts of steps S120 and S130 of the corresponding embodiment in another embodiment;

[0024] Figure 7 shows a schematic diagram of another determination process of the activity index in an embodiment of the present application;

[0025] Figure 8 shows a block diagram of an activity index determination device proposed in an embodiment of the present application;

[0026] Figure 9 shows a block diagram of an electronic device for executing the activity index determination method according to an embodiment of the present application. Detailed implementation manners

[0027] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. According to the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without making creative efforts belong to the scope of protection of the present application.

[0028] In the following description, the terms "first / second" involved are only used to distinguish similar objects and do not represent a specific order for the objects. It can be understood that "first / second" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0029] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0030] It should be noted that: "a plurality" mentioned herein refers to two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.

[0031] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor or multiple processors or memories can be used to implement one or more modules or units. In addition, each module or unit can be a part of the whole module or unit that includes the function of the module or unit.

[0032] The nouns involved in the embodiments of the present application are explained as follows:

[0033] Cold start means starting an app when there is no app (Application) process in the operating system.

[0034] Warm start means restarting an app when the app is switched to the background. During this period, the app process will run in the background. When the app is switched to the background, the app process continues to execute. When the app is restarted again, the app can resume the state of the last use.

[0035] A session refers to a usage process of an app. Different operating systems have different ways of determining a session. When the operating system is the Android system, if the app runs from the foreground to the background and then returns to the foreground within a fixed duration (for example, 30s) (i.e., the app has a warm start), the two parts of the foreground usage are combined into one session; if the app runs from the foreground to the background and then returns to the foreground after a duration exceeding the fixed duration (for example, 30s) (i.e., the app has a warm start), the two parts of the foreground usage are regarded as two separate sessions. When the operating system is the IOS system, as long as the app runs from the foreground to the background, the foreground running process is regarded as one session.

[0036] The statistical sdk (Software Development Kit) is integrated into the app by the app developer to collect the active usage information of the APP.

[0037] The present application discloses a method, device, electronic device and storage medium for determining an activity index, which are involved in various scenarios such as cloud technology, artificial intelligence, intelligent transportation, and assisted driving.

[0038] Such as Figure 1As shown in the figure, the application scenarios applicable to the embodiments of the present application include a terminal 20 and a server 10. The terminal 20 and the server 10 are communicatively connected via a wired network or a wireless network. The terminal 20 refers to any model to be tested. The terminal 20 can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart home appliance, a vehicle-mounted terminal, an aircraft, a wearable device terminal, a virtual reality device, and other terminal devices that can determine atomic active information.

[0039] The server 10 can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0040] Among them, the terminal 20 can determine atomic active information for a target application, and then the terminal 20 reports the atomic active information to the server 10. The server 10 determines the atomic active information belonging to the same session among the multiple atomic active information reported by the terminal 20 for the target application according to the active type in the multiple atomic active information reported by the terminal 20 for the target application; then, the server 10 restores the session according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application; finally, the server 10 determines the activity index of the target application according to at least one session of the target application.

[0041] Please refer to Figure 2 , Figure 2 which shows a flowchart of a method for determining an activity index proposed in an embodiment of the present application. This method can be used for Figure 1 the server 10 in

[0042] S110. Determine multiple atomic active information reported by each terminal for the target application.

[0043] Among them, the atomic active information includes the active time period of the target application on the terminal and the corresponding active type. The active time period in the atomic active information is used to indicate that the target application is in an active state on the terminal during this active time period, that is, during the active time period, the target application is running on the terminal. The active time period can include a start time and an end time, and the active time period is the time period from the start time it includes to the end time; the active type in the atomic active information refers to the specific active type when the target application is in an active state on the terminal. The active type can include a start type and an in-use type, and the start type can further include a cold start and a hot start.

[0044] It should be noted that for different operating systems, the determination of the usage type is different. For example, in the iOS system, when the target application is in the foreground running state, the active type is determined as the usage type. Another example is that in the Android system, when the target application is in the foreground running state, the active type is determined as the usage type. After the target application switches from the foreground running state to the background running state and then switches back to the foreground running state in a hot start manner within a fixed duration (such as 30s), the active type can also be determined as the usage type. Similarly, for different operating systems, the determination of the start type is also different. For example, in the iOS system, a cold start is a cold start and a hot start is a hot start. Another example is that in the Android system, when the target application has a cold start, it is directly considered a cold start. After the target application switches from the foreground running state to the background running state and then switches back to the foreground running state in a hot start manner after a fixed duration (such as 30s) has elapsed, the active type is determined as a hot start. If the target application switches from the foreground running state to the background running state and then switches back to the foreground running state in a hot start manner before the fixed duration (such as 30s) has elapsed, the active type is determined as the usage type and it is not considered a hot start.

[0045] A terminal reports at least one atomic active information for the target application, and all the atomic active information reported by the terminals running the target application is used as the multiple atomic active information reported by each terminal for the target application.

[0046] The target application can refer to an application program that can run on a terminal. The target application can be an independent application program or a mini-program, etc. For example, the target application can refer to a shopping app, or the target application can be a video mini-program in a shopping app.

[0047] During the running process of the target application on the terminal, the activity information of the target application can be collected to obtain atomic active information, and the terminal can report the collected atomic active information to the server in real time. The server can process the atomic active information reported in real time to obtain the activity index of the target application. The server can also cache the atomic active information reported in real time and, after caching a certain number of atomic active information, continue to process the cached atomic active information to obtain the activity index of the target application.

[0048] Among them, the process of the terminal generating atomic active information can include:

[0049] When the terminal starts the target application (i.e., the target application is in the state to be started), the acquisition module of the terminal starts to work, caches the current time as T_start and Type (Type refers to the active type. Here, since the target application is in the started state, Type is the start type, which can include cold start or hot start. If it is a cold start, then Type is cold start; if it is a hot start, then Type is hot start);

[0050] During the process of the terminal running the target application (i.e., the target application is in the in-use state), if the duration since the last reporting of atomic active information reaches the preset interval duration (which can be set according to requirements, for example, 30s), it is determined that the condition for generating atomic active information is met. Obtain the cached T_start and Type, and obtain the current time as T_end. Summarize T_start, Type, and T_end to obtain an atomic active information; at the same time, update the originally cached T_start and Type. The new T_start is the current time, and the new Type is the in-use type (since the target application is in the in-use state at this current moment, it is determined that Type is the in-use type);

[0051] During the process of the terminal running the target application, if the duration since the last reporting of atomic active information does not reach the preset interval duration and the target application exits, it is determined that the condition for generating atomic active information is met. Obtain the cached T_start and Type, and obtain the current time as T_end. Summarize T_start, Type, and T_end to obtain an atomic active information.

[0052] Based on the process of generating atomic active information by the terminal above, during the running process of the target application on the terminal, the reporting time interval between two adjacent reports of atomic active information for the target application by the terminal does not exceed the preset interval duration, and the duration between the end time and the start time in an active time period does not exceed the preset interval duration; the start time of the active time period in the atomic active information reported by the terminal is the time when the terminal starts the target application, or the end time of the active time period in the previous atomic active information reported by the terminal for the target application; the end time of the active time period in the atomic active information reported by the terminal is the time when the running duration of the target application reaches the preset interval duration after the start time of this active time period, or the time when the terminal closes the target application; the active type in the atomic active information reported by the terminal is determined according to the running state of the target application on the terminal at the start time of the active time period in this atomic active information. Among them, if the running state of the target application on the terminal at the start time of the active time period is the started state, it is determined that the active type in the atomic active information corresponding to this active time period is the start type; if the running state of the target application on the terminal at the start time of the active time period is the in-use state, it is determined that the active type in the atomic active information corresponding to this active time period is the in-use type.

[0053] Since during the running process of the target application on the terminal, the last time the generation condition of the atomic active information is met may be: during the running process of the target application on the terminal, if the duration since the last report of the atomic active information has not reached the preset interval duration and the target application exits. Therefore, during the running process of the target application on the terminal, the duration between the start time and the end time in the last reported atomic active information may be less than the preset interval duration, while during the running process of the target application on the terminal, the duration between the start time and the end time in each atomic active information reported before the last reported atomic active information is equal to the preset interval duration.

[0054] S120. Determine the atomic active information belonging to the same session among the multiple atomic active information reported for the target application by the same terminal according to the active types in each atomic active information.

[0055] The atomic active information reported by the terminal can also carry a terminal identifier. The terminal identifiers of different terminals are different. The terminal identifier can be the terminal number, name, IP address, etc.

[0056] After obtaining each atomic active information reported for the target application by each terminal, the atomic active information reported by the same terminal can be determined according to the terminal identifier carried by each atomic active information. For the multiple atomic active information reported by each terminal, the atomic active information belonging to the same session is then determined according to the active types in the multiple atomic active information reported by this terminal.

[0057] As an implementation, the multiple atomic activity information includes the atomic activity information reported by the target terminal for the target application within a preset period. The target terminal is any one of multiple terminals running the target application, and the duration of the preset period is greater than the duration of the active period. Correspondingly, S120 may include: sorting the multiple atomic activity information reported by the target terminal for the target application within the preset period in the order of the active period from the earliest to the latest to obtain an atomic activity information sequence corresponding to the target terminal; traversing the atomic activity information sequence corresponding to the target terminal. If the active type in the currently traversed atomic activity information is the in-use type, determine that the currently traversed atomic activity information and the atomic activity information of the previous atomic activity information in the atomic activity information sequence currently traversed belong to the same session. If the active type in the currently traversed atomic activity information is the start type, determine that the currently traversed atomic activity information and the atomic activity information of the next atomic activity information in the atomic activity information sequence currently traversed belong to the same session.

[0058] Among them, the preset period can be any period. For example, from 12:00 on October 1, 2023 to 14:00 on October 2, 2023. After the target terminal reports the atomic activity information, the server can store the atomic activity information reported by the target terminal. After setting the preset period according to the user's needs, obtain the atomic activity information reported by the target terminal for the target application within the preset period from the stored atomic activity information.

[0059] In this embodiment, in order to avoid confusion of the atomic activity information reported by different terminals, after obtaining all the atomic activity information reported for the target application within the preset period, the atomic activity information can be confused according to the terminal identifier. The atomic activity information reported by the same terminal (that is, the atomic activity information with the same terminal identifier) is confused into the same buffer area, and the atomic activity information reported by the same terminal for the target application is processed through the same task, ensuring that the information of one terminal is processed together, making the data between terminals independent of each other, and avoiding the inaccurate analysis of the activity index caused by data confusion between terminals. Among them, the buffer area allocated for the terminal can be FlinkState.

[0060] After obtaining multiple atomic active information reported by the target terminal for the target application within a preset period, the multiple atomic active information reported by the target terminal for the target application within the preset period can be sorted in the order of the active time periods, and an atomic active information sequence corresponding to the target terminal is obtained. Then, the atomic active information sequence is traversed. When the i-th atomic active information in the atomic active information sequence is traversed, if the active type in the i-th atomic active information is the in-use type, it is determined that the i-th atomic active information and the (i - 1)-th atomic active information in the atomic active information sequence belong to the same session; if the active type in the i-th atomic active information is the start type, it is determined that the i-th atomic active information and the (i + 1)-th atomic active information in the atomic active information sequence belong to the same session; where i is a natural number greater than 1; according to this process, until the last atomic activity information in the atomic active information sequence is traversed, the atomic activity information belonging to the same session in the atomic active information sequence can be correspondingly determined.

[0061] For example, the atomic active information sequence includes 10 atomic active information. The active type of the first atomic active information is the start type, the active types of the second to sixth atomic active information are all in-use types, the active type of the seventh atomic active information is the start type, and the active types of the eighth to tenth atomic active information are all in-use types. At this time, it is determined that the first to sixth atomic active information belong to the same session, and it is determined that the eighth to tenth atomic active information belong to the same session.

[0062] Based on the above process, it is equivalent to determining the atomic activity information belonging to the same session in an offline manner. Correspondingly, the session restoration can also be performed offline in this way later.

[0063] S130. Restore the session according to the active time periods in the atomic active information belonging to the same session, and obtain at least one session of the target application.

[0064] The atomic active information belonging to the same session among the multiple atomic active information reported by each terminal for the target application can be aggregated into a set, obtaining at least one information set. The session is restored according to the active time periods in the multiple atomic active information in each information set, obtaining one session corresponding to each information set. Traverse all the information sets to obtain at least one session of the target application.

[0065] As an implementation manner, when the active time period includes a start time and an end time, S130 may include: constructing a session with the earliest start time among the active time periods included in the atomic active information belonging to the same session as the session start time and the latest end time as the session end time, and obtaining at least one session of the target application.

[0066] Multiple atomic active information reported by each terminal for the target application and belonging to the same session can be aggregated into a set to obtain at least one information set; for each information set, the earliest start time in the active time period of the information set can be used as the session start time, and the latest end time can be used as the session end time to construct a session, obtaining at least one session of the target application. The obtained session includes at least the session start time and the session end time.

[0067] In addition, when constructing a session, the terminal identifier of the terminal from which each atomic active information for constructing the session comes can be added to the session. At this time, the session also includes the terminal identifier.

[0068] S140. Determine the activity index of the target application according to at least one session of the target application.

[0069] Among them, the activity index of the target application can include at least one of the number of active terminals per unit time, the number of usage times, and the usage duration. The unit time can be any unit time, such as one day, one week, one month, etc.

[0070] As can be seen from the foregoing, the obtained session can include the terminal identifier of the terminal running the target application, the session start time, and the session end time. When the activity index of the target application can include at least one of the number of active terminals per unit time, the number of usage times, and the usage duration, the number of active terminals per unit time can be determined according to the following process: Dedup the terminal identifiers in each session of the target application during the statistical period to obtain multiple sessions with non-repeating terminal identifiers of the target application during the statistical period; the duration of the statistical period is equal to the unit time; Perform session accumulation according to multiple sessions with non-repeating terminal identifiers of the target application during the statistical period to obtain the number of active terminals of the target application per unit time.

[0071] If the activity index of the target application includes the number of usage times, the number of usage times can be determined according to the following process: Accumulate the number of sessions of the target application during the statistical period to obtain the number of usage times of the target application per unit time.

[0072] If the activity index of the target application includes the usage duration, the usage duration can be determined according to the following process: Accumulate the session durations according to the session start time and the session end time of the sessions of the target application during the statistical period to obtain the usage duration of the target application per unit time.

[0073] That is to say, for multiple sessions with the same terminal identifier, any one of the sessions can be retained, thereby achieving deduplication of multiple sessions with the same terminal identifier. At this time, the number of deduplicated sessions is the same as the number of terminal identifiers, that is, the total number of deduplicated sessions is the same as the total number of terminal identifiers, and one terminal corresponds to one terminal identifier. Therefore, multiple sessions with non-repeating terminal identifiers of the target application within the statistical period can be cumulatively counted, and the cumulative count obtained is the number of active terminals of the target application per unit time.

[0074] It is also possible to cumulatively count the number of sessions within the statistical period to obtain the total number of times the target application is used, which is used as the number of times the target application is used per unit time. At the same time, it is also possible to determine the session duration of each session based on the session start time and session end time of each session, and then sum up the session durations of all sessions of the target application within the statistical period to achieve cumulative counting of the session duration based on the session start time and session end time of the sessions of the target application within the statistical period, and obtain the usage duration of the target application per unit time.

[0075] In this embodiment, the atomic active information may further include the application identifier of the target application (which may be the name or code of the target application), the terminal identifier of the terminal reporting the atomic active information (which may be the name or code of the terminal, etc.), information such as the operating system of the terminal, etc. This is to facilitate the server to separately analyze the atomic active information reported for the same application based on the application identifier to obtain the respective activity metrics for each application; at the same time, it is also possible to separately process the atomic active information reported by the same terminal based on the terminal identifier in the atomic active information reported for the same application to obtain session information.

[0076] In this embodiment, as Figure 3 shown, each terminal reports the atomic active information of different applications to the server. The server obtains the atomic active information for the target application through the application identifier of the target application (the application identifier of the target application may refer to the application name or application code, etc.), and obfuscates the atomic active information of the target application according to the terminal identifiers of each terminal, and stores the atomic active information reported by the same terminal for the target application in the buffer area corresponding to the target terminal, so as to cache the atomic active information reported by the same terminal through one buffer area, and analyze and process the atomic active information reported by the same terminal through one process, thereby avoiding data confusion between terminals.

[0077] After that, the server aggregates all the atomic active information within the preset time period to obtain an atomic active information table, constructs sessions based on the atomic active information belonging to the same session to obtain at least one session corresponding to the target application. Finally, analyzes based on the sessions of the target application to obtain activity metrics, which may include the number of active terminals, usage times, and usage durations per unit time. After obtaining the activity metrics, the activity metrics can also be stored in the database for subsequent viewing of the activity metrics.

[0078] For any target application for which activity metrics need to be determined, the flowchart of the process for determining its activity metrics can be as Figure 4 shown as follows:

[0079] During the development stage of the target application, developers can integrate the statistical SDK into the application to be developed to obtain the target application that can be run on the terminal. Then, the operation staff distributes the installation package of the target application to the app store, and users can download the installation package of the target application from the app store to the terminal and then install it according to the installation package of the target application in the terminal to obtain the target application.

[0080] When the target application runs on the terminal, the statistical SDK collects activity information of the target application to obtain atomic active information, and then the statistical SDK reports the atomic active information to the server.

[0081] The server can continue to analyze the atomic active information reported by each terminal to obtain the activity metrics of the target application, so that the operation staff can perform data analysis based on the activity metrics.

[0082] In this embodiment, based on the atomic activity information reported by each terminal for the target application during the operation of the target application, on the basis of determining multiple atomic activity information reported by each terminal for the target application respectively, according to the activity type in the atomic activity information, determine multiple atomic activity information belonging to the same session among the multiple atomic activity information reported by the same terminal for the target application. Then, perform session restoration according to the active time period in the atomic activity information belonging to the same session to obtain the session of the target application. Furthermore, determine the activity index of the target application based on the determined session of the target application. In the related art, the activity index is statistically calculated according to the start event and session event reported by the terminal for the application (the start time is used to statistically calculate the number of active terminals per unit time, and the session event is used to statistically calculate the usage times and usage duration). However, in practice, there may be abnormal reporting of session events. In this way, it may lead to a smaller statistical usage times and usage duration, or the usage times are less than the number of active terminals per unit time. In this application, session restoration is performed based on the atomic activity information. The atomic activity information is generated according to the usage situation of the target application on the terminal in a short period of time, and then the activity index is statistically calculated uniformly according to the restored session. In this way, on the one hand, it can avoid the problem that the statistically calculated activity index is inaccurate due to the abnormal reporting of some session events. On the other hand, it can ensure that different activity indexes can be statistically calculated according to the same session, and can avoid the problem that the activity index is inaccurate due to the statistical calculation of different activity indexes using different data.

[0083] Meanwhile, the atomic activity information reported by the same terminal is stored in the same buffer area, avoiding data confusion between different terminals and further improving the accuracy of the determined activity index of the target application.

[0084] In some embodiments, buffer areas are set for different terminals running the target application. The buffer area set for the terminal is used to cache the atomic activity information reported by the terminal for the target application; as Figure 5 shown, step S120 may include:

[0085] S210. Receive the atomic activity information reported by the target terminal for the target application in real time.

[0086] Wherein, the target terminal is any one of the multiple terminals running the target application. The process of the terminal reporting the atomic activity information refers to the description of S110 and will not be elaborated here.

[0087] S220. If the activity type in the atomic activity information reported in real time is the start type, determine that the atomic activity information reported in real time and the atomic activity information in the buffer area corresponding to the target terminal belong to different sessions.

[0088] Among them, the atomic active information in the buffer area corresponding to the target terminal belongs to the same session.

[0089] After the terminal determines the atomic active information for the target application, it immediately reports the determined atomic active information to the server in real time. The server caches the atomic active information reported by the terminal in real time into the buffer area corresponding to the terminal in real time. After receiving the atomic active information reported by each terminal for the target application in real time, the server can cache the atomic active information reported by the same terminal into the same buffer area according to the terminal identifier of the terminal, so that the atomic active information reported by different terminals is stored in different buffer areas, avoiding confusion of the atomic active information reported by different terminals.

[0090] For any one of the multiple terminals running the target application as the target terminal, when receiving the atomic active information reported by the target terminal for the target application in real time, the active type in the atomic active information reported in real time can be obtained. If the active type in the atomic active information reported in real time is the start type, it indicates that the target application is restarted when reporting this atomic active information, indicating that the target application in the target terminal has exited before reporting this atomic active information. At this time, it is determined that a session has ended before reporting this atomic active information, and it is determined that the atomic active information reported in real time and the atomic active information already cached in the buffer area corresponding to the target terminal belong to different sessions.

[0091] Correspondingly, S130 may include:

[0092] S230. Restore the session according to the active time period in the atomic active information in the buffer area corresponding to the target terminal to obtain a session of the target application.

[0093] After determining that the atomic active information reported in real time and the atomic active information in the buffer area corresponding to the target terminal belong to different sessions, the active time period in the atomic active information in the buffer area corresponding to the target terminal can be used for session restoration to obtain a session of the target application. Among them, the process of session restoration refers to the description of S130 above and will not be elaborated here.

[0094] S240. Delete the atomic active information in the buffer area corresponding to the target terminal.

[0095] After restoring the session according to the active time period in the atomic active information in the buffer area corresponding to the target terminal to obtain the session, it means that the atomic active information in the buffer area corresponding to the target terminal has been used to construct the session, so there is no need to retain it, and the atomic active information in the buffer area corresponding to the target terminal can be deleted to release the buffer area corresponding to the target terminal.

[0096] In another embodiment, a timer is also deployed for the buffer area corresponding to each terminal; after S230, the method may further include: clearing the status of the target timer deployed for the buffer area corresponding to the target terminal. Correspondingly, after S240, the method may further include: caching the atom active information reported in real time into the buffer area corresponding to the target terminal, and starting the target timer.

[0097] That is to say, when the active type in the atom activity information reported in real time is the start type, it is determined that the atom activity information reported in real time belongs to a new session, and the atom active information in the buffer area corresponding to the target terminal belongs to another session. Therefore, after restoring a session of the target application according to the active time period in the atom active information in the buffer area corresponding to the target terminal, the atom active information in the buffer area corresponding to the target terminal can be deleted, and the status of the target timer deployed for the buffer area corresponding to the target terminal can be cleared. Then, the atom activity information reported in real time is cached into the buffer area corresponding to the target terminal, and the target timer is started to re-time the session to which the atom activity information reported in real time belongs.

[0098] Before the timing duration of the timer in the buffer area reaches the preset timing duration, if the buffer area receives atom active information, the timer in the buffer area updates the timing start point and re-times. When the timing duration of the timer in the buffer area reaches the preset timing duration, it indicates that the buffer area has not received atom active information before the timing duration of the timer in the buffer area reaches the preset timing duration. At this time, it is determined that the atom active information in the buffer area belongs to a complete session.

[0099] As can be seen from the foregoing, during the process of the terminal running the target application, the time interval of the atom active information reported by the terminal does not exceed the preset interval duration, and the preset timing duration is not less than the preset interval duration. If the server receives the atom active information reported in real time by the terminal for the target application before the timing duration of the timer in the buffer area corresponding to the terminal reaches the preset timing duration, it indicates that the target terminal is still running the target application, that is, a session has not ended. At this time, the timing start point of the timer in the buffer area corresponding to the terminal is updated and continues to time; if the timing duration of the timer in the buffer area of the terminal reaches the preset timing duration, it indicates that the buffer area corresponding to the terminal has not received the atom active information reported by the terminal before the timing duration of the timer in the buffer area corresponding to the terminal reaches the preset timing duration. And the time interval of the atom active information reported by the terminal during the process of the terminal running the target application does not exceed the preset interval duration. At this time, the duration of the terminal since the last reported atom active information exceeds the preset interval duration, indicating that the terminal has stopped running the target application. Therefore, it can be determined that a session has ended, and it is determined that the atom active information in the buffer area corresponding to the terminal belongs to the same session.

[0100] For the target terminal, after restarting the target timer corresponding to the target terminal, if new atomic active information is received from the target terminal for the target application in real time before the timing duration of the target timer reaches the preset timing duration, the newly reported atomic active information in real time is cached in the buffer area corresponding to the target terminal, and the timing start point of the target timer is updated to restart timing until the timing duration of the target timer reaches the preset timing duration, it is determined that the atomic active information in the buffer area corresponding to the target terminal belongs to the same session, and the active time period of the atomic active information in the buffer area corresponding to the target terminal is used for session restoration to obtain a session of the target application.

[0101] In this embodiment, the terminal can report atomic active information in real time, and the server can analyze the atomic active information reported by the terminal in real time, and real-time session restoration has good applicability.

[0102] In addition, in this embodiment, a timer is introduced. The server determines whether the session of the terminal ends through the timing of the timer, avoiding the situation that it is difficult for the server to determine whether the session of the terminal ends because the terminal cannot send atomic active information, and improving the accuracy of the session determined by the server.

[0103] In another embodiment, as Figure 6 shown, step S120 may include:

[0104] S310. Receive the atomic active information reported by the target terminal for the target application in real time.

[0105] Among them, the target terminal is any one of multiple terminals running the target application. The process of the terminal reporting atomic active information refers to the description of S110 and will not be elaborated here.

[0106] S320. If the active type of the atomic active information reported in real time is the in-use type, cache the atomic active information reported in real time in the buffer area corresponding to the target terminal, and update the timing start point of the target timer.

[0107] S330. If the timing duration of the target timer reaches the preset timing duration, determine that the atomic active information in the buffer area corresponding to the target terminal belongs to the same session, and the preset timing duration is not less than the preset interval duration.

[0108] Correspondingly, S130 may include:

[0109] S340. When the timing duration of the target timer reaches the preset timing duration, perform session restoration according to the active time period of the atomic active information in the buffer area corresponding to the target terminal to obtain a session of the target application.

[0110] S350. Delete the atomic active information in the buffer corresponding to the target terminal, and clear the status of the target timer.

[0111] If the active type of the atomic active information reported in real time is the in-use type, it is determined that the target application is in the foreground running state on the target terminal. At this time, it is determined that the atomic active information reported in real time and the atomic active information in the buffer corresponding to the target terminal belong to the same session. Cache the atomic active information reported in real time into the buffer corresponding to the target terminal, and update the starting point of the target timer to restart the timing.

[0112] When the timing duration of the target timer reaches the preset timing duration, it indicates that within the preset timing duration of the target timer, no atomic active information reported by the target terminal for the target application has been received. During the process of running the target application on the target terminal, the reporting time interval between any two adjacent reports of the atomic active information reported by the target terminal for the target application does not exceed the preset interval duration, and the preset timing duration is not less than the preset interval duration. Therefore, when the timing duration of the target timer reaches the preset timing duration, it is determined that the duration since the target terminal last reported atomic active information has exceeded the preset interval duration, and the target terminal no longer runs the target application. At this time, it is determined that a session ends. The atomic active information in the buffer corresponding to the target terminal belongs to the same session. Then, perform session restoration according to the active time period of the atomic active information in the buffer corresponding to the target terminal to obtain a session of the target application; finally, delete the atomic active information in the buffer corresponding to the target terminal, and clear the status of the target timer to release the storage space of the buffer corresponding to the target terminal and stop the timing until atomic active information reported by the target terminal for the target application and belonging to a new session is received. Cache the atomic active information belonging to the new session into the buffer corresponding to the target terminal, and start the target timer.

[0113] It is worth mentioning that in this embodiment, the activity index is determined according to the atomic activity reported by the terminal in real time. Therefore, the unit duration in the determined activity index can be a relatively short duration, such as one minute or one hour.

[0114] In this embodiment, as Figure 7As shown in the figure, each terminal reports the atomic active information of different applications to the server. The server obtains the atomic active information for the target application through the application identifier of the target application (the application identifier of the target application can refer to the application name or application code, etc.), and obfuscates the atomic active information of the target application according to the terminal identifiers of each terminal. The atomic active information reported by the same terminal for the target application is stored in the buffer area corresponding to the target terminal, so as to cache the atomic active information reported by the same terminal through one buffer area, and analyze and process the atomic active information reported by the same terminal through one process, thereby avoiding data confusion between terminals.

[0115] After that, the server determines whether the cached atomic activity information belongs to the same session according to the timer and activity type in the buffer area, and thus constructs a session according to the atomic active information belonging to the same session cached, obtaining at least one session corresponding to the target application. Finally, according to the analysis of the session of the target application, an activity index is obtained. The activity index may include the number of active terminals, the number of usage times, and the usage duration within a unit time. After obtaining the activity index, the activity index can also be stored in the database for subsequent viewing of the activity index.

[0116] In this embodiment, the terminal can report atomic active information in real time, and the server can analyze the atomic active information reported by the terminal in real time and perform session restoration in real time, which has good applicability.

[0117] Furthermore, in this embodiment, a timer is introduced. The server determines whether the session of the terminal ends through the timing of the timer, avoiding the situation that the server is difficult to determine whether the terminal session ends due to the terminal's inability to send atomic active information, and improving the accuracy of the session determined by the server.

[0118] Please refer to Figure 8 , Figure 8 which shows the block diagram of an activity index determination device proposed in an embodiment of the present application. The device 700 includes:

[0119] A first determination module 710, configured to determine multiple atomic active information reported by each terminal for the target application; the atomic active information includes the active time period and the corresponding active type of the target application on the terminal;

[0120] A second determination module 720, configured to determine, according to the active type in each atomic active information, the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application;

[0121] A restoration module 730, configured to perform session restoration according to the active time period in the atomic active information belonging to the same session, to obtain at least one session of the target application;

[0122] A third determination module 740, configured to determine an activity metric of the target application according to at least one session of the target application.

[0123] Optionally, buffer areas are set for different terminals running the target application, and the buffer area set for a terminal is used to buffer the atomic activity information reported by the terminal for the target application; the second determination module 720 is further configured to receive the atomic activity information reported in real time by the target terminal for the target application; the target terminal is any one of multiple terminals running the target application; if the activity type in the atomic activity information reported in real time is a startup type, it is determined that the atomic activity information reported in real time and the atomic activity information in the buffer area corresponding to the target terminal belong to different sessions, and the atomic activity information in the buffer area corresponding to the target terminal belongs to the same session; the restoration module 730 is further configured to perform session restoration according to the active time period in the atomic activity information in the buffer area corresponding to the target terminal to obtain a session of the target application; and delete the atomic activity information in the buffer area corresponding to the target terminal.

[0124] Optionally, a timer is also deployed for each buffer area; the second determination module 720 is further configured to clear the status of the target timer deployed for the buffer area corresponding to the target terminal; the restoration module 730 is further configured to cache the atomic activity information reported in real time into the buffer area corresponding to the target terminal and start the target timer.

[0125] Optionally, during the running process of the terminal running the target application, the reporting time interval between two adjacent reports of atomic activity information by the terminal for the target application does not exceed a preset interval duration; the second determination module 720 is further configured to, if the activity type of the atomic activity information reported in real time is an in-use type, cache the atomic activity information reported in real time into the buffer area corresponding to the target terminal and update the timing start point of the target timer; if the timing duration of the target timer reaches a preset timing duration, it is determined that the atomic activity information in the buffer area corresponding to the target terminal belongs to the same session, and the preset timing duration is not less than the preset interval duration; the restoration module 730 is further configured to, when the timing duration of the target timer reaches the preset timing duration, perform session restoration according to the active time period in the atomic activity information in the buffer area corresponding to the target terminal to obtain a session of the target application; delete the atomic activity information in the buffer area corresponding to the target terminal, and clear the status of the target timer.

[0126] Optionally, the multiple atomic active information includes the atomic active information reported by the target terminal for the target application within a preset period, and the duration of the preset period is greater than the duration of the active period; the second determination module 720 is further configured to sort the multiple atomic active information reported by the target terminal for the target application within the preset period in the order from the earliest to the latest active period, so as to obtain an atomic active information sequence corresponding to the target terminal; traverse the atomic active information sequence corresponding to the target terminal, and if the active type in the currently traversed atomic active information is the in-use type, determine that the currently traversed atomic active information and the previous atomic active information in the atomic active information sequence currently traversed belong to the same session.

[0127] Optionally, the active period includes a start time and an end time; the restoration module 730 is further configured to construct a session with the earliest start time in the active periods included in the atomic active information belonging to the same session as the session start time and the latest end time as the session end time, so as to obtain at least one session of the target application.

[0128] Optionally, the activity metric includes at least one of the number of active terminals, the number of usage times, and the usage duration per unit time; the session includes the terminal identifier running the target application, the session start time, and the session end time; the third determination module 740 is further configured to remove duplicates according to the terminal identifiers in each session of the target application within the statistical period, so as to obtain multiple sessions with non-duplicate terminal identifiers of the target application within the statistical period; the duration of the statistical period is equal to the unit time; perform session accumulation according to the multiple sessions with non-duplicate terminal identifiers of the target application within the statistical period, so as to obtain the number of active terminals of the target application per unit time; perform session count accumulation according to the sessions of the target application within the statistical period, so as to obtain the number of usage times of the target application per unit time; perform session duration accumulation according to the session start time and the session end time of the sessions of the target application within the statistical period, so as to obtain the usage time of the target application per unit time.

[0129] It should be noted that the device embodiments in this application correspond to the foregoing method embodiments. The specific principles in the device embodiments can be referred to the content in the foregoing method embodiments, and will not be elaborated here.

[0130] Figure 9 The block diagram of the electronic device for executing the activity metric determination method according to the embodiment of the present application is shown. The electronic device may be Figure 1 such as the server 10, etc. It should be noted that Figure 9 The computer system 1200 of the electronic device shown is only an example, and should not bring any limitation to the functions and usage scope of the embodiments of the present application.

[0131] Such as Figure 9As shown, computer system 1200 includes a Central Processing Unit (CPU) 1201, which can perform various appropriate actions and processes according to the program stored in the Read-Only Memory (ROM) 1202 or the program loaded from the storage section 1208 into the Random Access Memory (RAM) 1203, such as executing the methods in the above embodiments. In the RAM 1203, various programs and data required for system operation are also stored. The CPU 1201, ROM 1202, and RAM 1203 are connected to each other via a bus 1204. An Input / Output (I / O) interface 1205 is also connected to the bus 1204.

[0132] The following components are connected to the I / O interface 1205: an input section 1206 including a keyboard, a mouse, etc.; an output section 1207 including, for example, a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), etc., and a speaker, etc.; a storage section 1208 including a hard disk, etc.; and a communication section 1209 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as needed. A removable medium 1211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1210 as needed so that a computer program read from it can be installed into the storage section 1208 as needed.

[0133] Specifically, according to the embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments of the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from the network via the communication section 1209, and / or installed from the removable medium 1211. When the computer program is executed by the Central Processing Unit (CPU) 1201, various functions defined in the system of the present application are executed.

[0134] It should be noted that the computer-readable medium shown in the embodiments of the present application can be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of a computer-readable storage medium can include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium can be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present application, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, and this computer-readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on a computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0135] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. Among them, each block in the flowchart or block diagram can represent a module, a program segment, or a part of code, and the above module, program segment, or part of code contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0136] The units involved in the embodiments described in this application can be implemented in software or in hardware, and the described units can also be provided in a processor. Among them, the names of these units do not constitute a limitation to the unit itself in some cases.

[0137] As another aspect, the present application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments; or may exist alone without being assembled into the electronic device. The above computer-readable storage medium carries computer-readable instructions, and when the computer-readable storage instructions are executed by a processor, the method in any of the above embodiments is implemented.

[0138] According to one aspect of the embodiments of the present application, there is provided a computer program product or a computer program, the computer program product or the computer program including computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the method in any of the above embodiments.

[0139] It should be noted that although several modules or units of the devices for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of the two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0140] Through the description of the above embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software or by a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable an electronic device (such as a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.

[0141] Other embodiments of the present application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. The present application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include known common general knowledge or conventional technical means in the technical field not disclosed in the present application. It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present application is only limited by the appended claims.

[0142] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or equivalently replace some of the technical features. These modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of the present application.

Claims

1. A method for determining an activity index, characterized in that, The method includes: Determining multiple atomic active information reported by each terminal for the target application; the atomic active information includes the active time period and the corresponding active type of the target application on the terminal; Determining, according to the active types in each of the atomic active information, the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application; Restoring the session according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application; Determining the activity index of the target application according to at least one session of the target application.

2. The method according to claim 1, wherein A buffer is set for different terminals running the target application, and the buffer set for the terminal is used to cache the atomic active information reported by the terminal for the target application; The determining, according to the active types in each of the atomic active information, the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application includes: Receiving the atomic active information reported in real time by the target terminal for the target application; the target terminal is any one of the multiple terminals running the target application; If the active type in the real-time reported atomic active information is the start type, determining that the real-time reported atomic active information and the atomic active information in the buffer corresponding to the target terminal belong to different sessions, and the atomic active information in the buffer corresponding to the target terminal belongs to the same session; The restoring the session according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application includes: Restoring the session according to the active time periods in the atomic active information in the buffer corresponding to the target terminal to obtain one session of the target application; Deleting the atomic active information in the buffer corresponding to the target terminal.

3. The method according to claim 2, wherein A timer is also deployed for each of the buffers; After the restoring the session according to the active time periods in the atomic active information in the buffer corresponding to the target terminal to obtain one session of the target application, it further includes: Clearing the status of the target timer deployed for the buffer corresponding to the target terminal; After the deleting the atomic active information in the buffer corresponding to the target terminal, it further includes: Caching the real-time reported atomic active information into the buffer corresponding to the target terminal and starting the target timer.

4. The method according to claim 3, characterized in that, During the running process of the terminal running the target application, the reporting time interval between two adjacent reports of atomic active information by the terminal for the target application does not exceed a preset interval duration; The determining, according to the active types in each of the atomic active information, the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application further includes: If the active type of the real-time reported atomic active information is the in-use type, caching the real-time reported atomic active information into the buffer corresponding to the target terminal and updating the timing start point of the target timer; If the timing duration of the target timer reaches the preset timing duration, and it is determined that the atomic active information in the buffer area corresponding to the target terminal belongs to the same session, where the preset timing duration is not less than the preset interval duration; The restoring the session according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application includes: When the timing duration of the target timer reaches the preset timing duration, restoring the session according to the active time periods of the atomic active information in the buffer area corresponding to the target terminal to obtain one session of the target application; Deleting the atomic active information in the buffer area corresponding to the target terminal and clearing the status of the target timer.

5. The method according to claim 1, wherein The multiple atomic active information includes the atomic active information reported by the target terminal for the target application within a preset time period, and the duration of the preset time period is greater than the duration of the active time period; The determining the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application according to the active types in each atomic active information includes: Sorting the multiple atomic active information reported by the target terminal for the target application within the preset time period in the order of the active time periods from the earliest to the latest to obtain the atomic active information sequence corresponding to the target terminal; Traversing the atomic active information sequence corresponding to the target terminal, and if the active type in the currently traversed atomic active information is the in-use type, determining that the currently traversed atomic active information and the previous atomic active information in the atomic active information sequence are of the same session.

6. The method according to claim 1, characterized in that, The active time period includes a start time and an end time; The restoring the session according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application includes: Constructing a session with the earliest start time among the active time periods included in the atomic active information belonging to the same session as the session start time and the latest end time as the session end time to obtain at least one session of the target application.

7. The method according to claim 1, characterized in that, The activity index includes at least one of the number of active terminals, the number of usage times, and the usage duration per unit time; the session includes the terminal identifier running the target application, the session start time, and the session end time; The determining the activity index of the target application according to at least one session of the target application includes: Removing duplicates according to the terminal identifiers in each session of the target application within the statistical time period to obtain multiple sessions with non-repeating terminal identifiers of the target application within the statistical time period; the duration of the statistical time period is equal to the unit time; Accumulating the sessions according to the multiple sessions with non-repeating terminal identifiers of the target application within the statistical time period to obtain the number of active terminals of the target application per unit time; Accumulating the session times according to the sessions of the target application within the statistical time period to obtain the number of usage times of the target application within the unit time; Accumulate the session duration based on the session start time and session end time of the sessions of the target application within the statistical period to obtain the usage duration of the target application within the unit duration.

8. The method according to claim 1, wherein The active time period includes a start time and an end time; During the running process of the target application on the terminal, the reporting time interval between two adjacent reports of atomic active information for the target application by the terminal does not exceed the preset interval duration, and the duration between the end time and the start time in an active time period does not exceed the preset interval duration; The start time of the active time period in the atomic active information reported by the terminal is the time when the terminal starts the target application, or the end time of the active time period in the previous atomic active information reported by the terminal for the target application; The end time of the active time period in the atomic active information reported by the terminal is the time when the running duration of the target application reaches the preset interval duration after the start time of the active time period, or the time when the terminal closes the target application; The active type in the atomic active information reported by the terminal is determined according to the running state of the target application on the terminal at the start time of the active time period in the atomic active information.

9. The method according to claim 8, wherein If the running state of the target application on the terminal at the start time of the active time period is the started state, determine that the active type in the atomic active information corresponding to the active time period is the start type; If the running state of the target application on the terminal at the start time of the active time period is the in-use state, determine that the active type in the atomic active information corresponding to the active time period is the in-use type.

10. An activity index determination device, characterized in that, The device includes: A first determination module, configured to determine multiple atomic active information reported by each terminal for the target application; the atomic active information includes the active time period of the target application on the terminal and the corresponding active type; A second determination module, configured to determine the atomic active information belonging to the same session among the multiple atomic active information reported by the same terminal for the target application according to the active type in each atomic active information; A restoration module, configured to perform session restoration according to the active time periods in the atomic active information belonging to the same session to obtain at least one session of the target application; A third determination module, configured to determine the activity index of the target application according to at least one session of the target application.

11. An electronic device, characterized in that, Includes: A processor; A memory, on which computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method described in any one of claims 1-10 is implemented.

12. A computer-readable storage medium, characterized in that, On which computer-readable instructions are stored, and when the computer-readable instructions are executed by the processor, the method described in any one of claims 1-10 is implemented.

13. A computer program product or a computer program, characterized in that, Includes computer instructions, characterized in that when the computer instructions are executed by the processor, the method described in any one of claims 1-10 is implemented.