Application push methods, devices, equipment, and storage media

CN118013119BActive Publication Date: 2026-08-14JOMOO KITCHEN & BATHROOM
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-02-02
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0003]一个办公平台上可能集成了较多的应用程序,而员工在某个时刻只会用到其中几个应用程序,此时需要员工从大量的应用程序找到所需的应用程序,会花费一定的时间

Benefits of technology

[0021] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer instructions, which are used to cause a processor to execute and implement the application push method described in the embodiments of the present invention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118013119B_ABST
    Figure CN118013119B_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, device, and storage medium for pushing applications. The method includes: dividing operation logs within a set historical time period into different period lengths to obtain operation log sets corresponding to each period length, as a first operation log set; for each period length of the first operation log set, clustering is performed using a set clustering algorithm with different numbers of clusters to obtain multiple operation log clusters corresponding to each period length; based on at least one of time features, job features, and application features of the operation, a cluster matching the current time is determined from the multiple operation log clusters corresponding to each period length, as a target operation log cluster; based on the job information of the target user, a target application is determined from the target operation log cluster; and the target application is pushed to the target user. The application push method provided by this invention can improve the accuracy of application push.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a method, apparatus, device and storage medium for pushing applications. Background Technology

[0002] The office platform serves as an entry point for employees' daily work, providing a unified and convenient gateway to various functional applications. By integrating various applications and services onto a single page, the platform allows users to quickly and easily access the applications they need with minimal clicks and the shortest path, effectively improving work efficiency.

[0003] An office platform may integrate many applications, but employees may only use a few of them at any given time. Finding the required application from a large pool of options can be time-consuming. Therefore, accurately pushing the applications an employee currently needs to that employee is crucial. Summary of the Invention

[0004] This invention provides a method, apparatus, device, and storage medium for pushing applications, which can improve the accuracy of application push notifications.

[0005] In a first aspect, embodiments of the present invention provide a method for pushing applications, comprising:

[0006] The operation logs within a set historical period are divided according to different period lengths to obtain operation log sets corresponding to each period length, which are used as the first operation log set; wherein, the operation logs include at least one of time characteristics, job characteristics, and application characteristics of the operation;

[0007] For the first operation log set of each cycle duration, a set clustering algorithm is used to cluster the logs according to different numbers of clusters to obtain multiple operation log clusters corresponding to each cycle duration.

[0008] Based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, a cluster matching the current time is determined from the multiple operation log clusters corresponding to each cycle duration, and this cluster is used as the target operation log cluster.

[0009] The target application is determined from the target operation log cluster based on the target user's job information;

[0010] The target application is pushed to the target user.

[0011] Secondly, embodiments of the present invention also provide an application push device, comprising:

[0012] The operation log segmentation module is used to segment operation logs within a set historical time period according to different period durations, and obtain operation log sets corresponding to each period duration as the first operation log set; wherein, the operation log includes at least one of time characteristics, job characteristics, and application characteristics of the operation;

[0013] The operation log cluster acquisition module is used to cluster the first operation log set for each period duration using a set clustering algorithm according to different numbers of clusters, and obtain multiple operation log clusters corresponding to each period duration.

[0014] The target operation log cluster determination module is used to determine, from the multiple operation log clusters corresponding to each period duration, a cluster that matches the current time as the target operation log cluster, based on at least one of the time characteristics, job characteristics, and application characteristics of the operation.

[0015] The target application determination module is used to determine the target application from the target operation log cluster based on the job information of the target user;

[0016] The target application push module is used to push the target application to the target user.

[0017] Thirdly, embodiments of the present invention also provide an electronic device, the electronic device comprising:

[0018] At least one processor; and

[0019] A memory communicatively connected to the at least one processor; wherein,

[0020] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to execute the application push method described in the embodiments of the present invention.

[0021] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing computer instructions, which are used to cause a processor to execute and implement the application push method described in the embodiments of the present invention.

[0022] This invention discloses a method, apparatus, device, and storage medium for pushing applications. Operation logs within a set historical time period are divided into different period lengths to obtain operation log sets corresponding to each period length, serving as a first operation log set. The operation logs include at least one of time characteristics, job characteristics, and application characteristics of the operation. For each period length of the first operation log set, a set clustering algorithm is used to cluster the logs according to different numbers of clusters, obtaining multiple operation log clusters corresponding to each period length. Based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, a cluster matching the current time is determined from the multiple operation log clusters corresponding to each period length, serving as a target operation log cluster. Based on the job information of the target user, a target application is determined from the target operation log cluster. The target application is then pushed to the target user. The application push method provided in this embodiment of the invention, after clustering the first operation log set, determines the application that matches the current time and the job information of the target user from the clustered operation log based on at least one of time features, job features and application features of the operation, and pushes the target application to the target user from multiple dimensions of time features and job features, which can improve the accuracy of application push. Attached Figure Description

[0023] Figure 1 This is a flowchart of an application push method according to Embodiment 1 of the present invention;

[0024] Figure 2 This is a schematic diagram of the structure of an electronic device according to Embodiment 2 of the present invention;

[0025] Figure 3 This is a schematic diagram of the structure of an application push device according to Embodiment 2 of the present invention. Detailed Implementation

[0026] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.

[0027] Example 1

[0028] Figure 1This is a flowchart of an application push method provided in Embodiment 1 of the present invention. This embodiment is applicable to situations where applications are pushed to users. The method can be executed by an application push device, which can be implemented in software and / or hardware, optionally through an electronic device, such as a mobile terminal, PC, or server. Specifically, it includes the following steps:

[0029] S110, the operation logs within the set historical time period are divided according to different period durations to obtain the operation log sets corresponding to each period duration, which are used as the first operation log set.

[0030] Operation logs can be generated by the system either actively or passively. Active user-triggered logs refer to users proactively operating the system according to their business needs, thus generating logs; for example, actively applying for leave through the system. Passive user-triggered logs refer to the system activating certain functions and reminding users to perform corresponding operations during a set period; for example, the system activates the "Confirm Last Month's Attendance" function on the first 5 days of each month, allowing users to passively confirm their attendance. Operation logs can include at least one of the following: time characteristics, job characteristics, and application characteristics of the operation. The historical time period can be a pre-set recent period, such as the last N years, where N can be a positive integer greater than or equal to 1. Different period lengths can be pre-set, for example, including annual (365 days), monthly (30 days), weekly (7 days), and daily periods.

[0031] Each operation log contains the system time information (e.g., a specific date, time, and minute), the user's job position, and the application information (e.g., application function). In this embodiment, after dividing the operation logs according to different period lengths, the system time information of each operation log is replaced with the period time sequence number corresponding to the period length, which is used as the time feature of the operation log; the job position information is used as the job position feature; and the application information is used as the application feature; thus obtaining the three-dimensional features of each operation log.

[0032] Specifically, the process of dividing the operation logs within a set historical period into different cycle durations can be as follows: obtain the time mapping relationship of different cycle durations; divide the operation logs within the set historical period into different cycle durations according to the time mapping relationship, and obtain the operation log set corresponding to each cycle duration.

[0033] The time mapping relationship refers to the relationship between system time information and periodic time sequence information. The time characteristics in the operation log are represented by the periodic time sequence information. The periodic time sequence information can be understood as the Mth time within a period. For example, assuming the period is year, the periodic time sequence number is the Mth day of the year; assuming the period is month, the periodic time sequence number is the Mth day of the month; assuming the period is week, the periodic time sequence number is the Mth day of the week; assuming the period is day, the periodic time sequence number is the Mth hour of the day.

[0034] The time mapping relationships for different cycle lengths are generated based on the company's work calendar and statutory holidays, and non-working days throughout the year need to be removed. The time mapping relationship can be represented in key-value form, where the key is the system time information, and the value is the cycle time sequence number or the difference between the system time and the cycle time sequence number. For example, assuming the cycle length is one year, the key is the m1th day of the year, and the value is the n1th working day corresponding to that day, i.e., m1-n1; assuming the cycle length is one month, the key is the m2th day of a certain month, and the value is the n2th working day of that month, i.e., m2-n2; assuming the cycle length is one week, the key is the m3th day of a certain week, and the value is the n3th working day of that week, i.e., m3-n3; assuming the cycle length is one day, the key is the m4th hour of a certain day, and the value is the n4th hour of that day, i.e., m4-n4.

[0035] In this embodiment, for each cycle duration, the cycle time sequence information corresponding to the system time information of each operation log is determined according to its time mapping relationship, and the cycle time sequence information is determined as the time feature of the operation log within that cycle duration, thereby obtaining the operation log set corresponding to each cycle duration. For example, taking a cycle of "month" as an example, one operation log has system time information of March 4th, and another operation log has system time information of May 7th; March 4th and May 7th are both the 4th working day of a month, so the cycle time sequence information of these two operation logs is the same, that is, the time feature is the same. Similarly, taking a cycle of "week" as an example, one operation log has system time information of January 1st, 2024, and another operation log has system time information of January 8th, 2024; these two days are both the 1st working day of a week, so the cycle time sequence information of these two operation logs is the same, that is, the time feature is the same.

[0036] S120, for the first operation log set of each cycle duration, a set clustering algorithm is used to cluster according to different numbers of clusters to obtain multiple operation log clusters corresponding to each cycle duration.

[0037] The clustering algorithm used is K-means clustering, and the number of clusters is K. In this embodiment, the range of values ​​for the number of clusters corresponding to each period duration is pre-configured, i.e., the range of values ​​for K. For example, if the period duration is one year, the K value range can be set to 2-24, that is, the operation log set with a period duration of one year is divided into 2-24 clusters. If the period duration is one month, the K value range can be set to 2-15, that is, the operation log set with a period duration of one month is divided into 2-15 clusters. If the period duration is one week, the K value range can be set to 2-14, that is, the operation log set with a period duration of one week is divided into 2-14 clusters. If the period duration is one day, the K value range can be set to 10, that is, the operation log set with a period duration of one day is divided into 10 clusters.

[0038] Specifically, the method of clustering according to different numbers of clusters using a set clustering algorithm can be as follows: for each number of clusters K under each period duration, determine the similarity between operation logs based on at least one of time features, job features, and application features of the operation; and use the K-means clustering algorithm to cluster based on the similarity to obtain K operation log clusters.

[0039] In this embodiment, time features, job features, and application features of the operation can be quantified separately. That is, time features, job features, and application features of the operation all have numerical representations. Therefore, the operation log can be represented by an N-dimensional vector, where the value of N is determined by the number of selected features. The method for determining the similarity between operation logs based on at least one of the time features, job features, and application features of the operation can be as follows: First, obtain an N-dimensional vector composed of the N-dimensional features of each operation log after quantization. Then, determine the distance between the N-dimensional vectors of each pair of operation logs. Finally, use this distance as the similarity between the operation logs. For example, assuming that three features—time features, job features, and application features of the operation—are selected, the operation log can be represented by a three-dimensional vector.

[0040] Specifically, for each cluster number K under each period duration, the process of clustering K operation log clusters based on similarity using the K-means clustering algorithm to obtain K operation log clusters can be as follows: First, initialize K cluster centers, then assign each operation log to the cluster containing the nearest cluster center, then recalculate the cluster centers of each cluster, and return to execute the operation of assigning each operation log to the nearest cluster center, until the cluster centers of each cluster no longer change, thus obtaining the final K operation log clusters.

[0041] Assigning each operation log to the nearest cluster center can be understood as follows: For each operation log, first determine the similarity between the operation log and each cluster center, and then assign the operation log to the cluster containing the cluster center with the highest similarity. The method for recalculating the cluster centers of each cluster can be: calculate the average N-dimensional vector of the operation logs in each cluster, and use the position of this average N-dimensional vector as the new cluster center.

[0042] In this embodiment, for each cluster size K under each cycle duration, clustering is performed in the manner described above to obtain clusters corresponding to different K values. Taking a cycle duration of one year as an example, the range of K values ​​can be set to 2-24, thus obtaining 2+3+4+...+24 clusters.

[0043] S130, based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, determine the class cluster that matches the current time from multiple operation log class clusters corresponding to each cycle duration, and use it as the target operation log class cluster.

[0044] In this embodiment, the cluster matching the current time is determined from multiple operation log clusters corresponding to each cycle duration based on at least one of time features, job features, and application features of the operation, and the method of selecting the target operation log cluster can be as follows: determining the evaluation information of multiple operation log clusters corresponding to each cycle duration based on at least one of time features, job features, and application features of the operation; filtering out valid operation log clusters from multiple operation log clusters corresponding to each cycle duration based on the evaluation information; and determining the cluster matching the current time from the valid operation log clusters as the target operation log cluster.

[0045] The evaluation information can represent the cohesion and / or separation of operation log clusters. For example, the profile coefficient can be used to represent the evaluation information, allowing operation logs to be filtered based on the profile coefficient.

[0046] Specifically, the evaluation information of multiple operation log clusters corresponding to each period duration is determined based on at least one of the time characteristics, job characteristics, and application characteristics of the operation: For each operation log cluster, the sub-evaluation information of each operation log in the operation log cluster is first determined based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, and then the average value of the sub-evaluation information of each operation log is calculated, and the average value is used as the evaluation information of the operation log cluster.

[0047] The sub-evaluation information of each operation log can be calculated according to the following formula: SC=(ba) / MAX(a,b), where a represents the average similarity between the operation log and all other operation logs in the same cluster, and b represents the average similarity between the operation log and all operation logs in the nearest cluster.

[0048] Specifically, the method for selecting effective operation log clusters from multiple operation log clusters corresponding to each cycle duration based on evaluation information can be as follows: First, select operation log clusters whose evaluation information is between (-1, 1) as candidate operation log clusters; then, select clusters in the candidate operation log clusters whose difference between the evaluation information and 1 is less than a set threshold (i.e., the evaluation information is close to 1) and determine them as effective operation log clusters.

[0049] In this embodiment, the cluster that matches the current time can be understood as: the cluster that matches the operation log set corresponding to the current time in all N dimensions of features.

[0050] Specifically, the method for identifying the target operation log cluster from the valid operation log clusters that matches the current time can be as follows: For each valid operation log cluster, determine the time distance based on the time characteristics of each operation log in the valid operation log cluster; obtain the set of operation logs that fall within the time period that is a time distance from the current time, as the second operation log set; determine the similarity between the second operation log set and the valid operation log cluster; if the similarity meets the set conditions, then the valid operation log cluster is determined as the target operation log cluster.

[0051] Here, time distance can be understood as the time span. The method for determining the time distance based on the time characteristics of each operation log in a valid operation log cluster can be: subtract the minimum time characteristic from the maximum time characteristic in the valid operation log cluster to obtain the time distance of that valid operation log cluster. For example, assuming the maximum time characteristic in a certain valid operation log cluster is day 40 and the maximum time characteristic is day 25, then the time distance of that valid operation log is 15 days. The time period within a time distance from the current time can be understood as the period within that time distance closest to the current time. For example, assuming the time distance is 10 days, then the second operation log set is the set consisting of operation logs falling within the 10 days closest to the current time.

[0052] Specifically, the method for determining the similarity between the second operation log set and the effective operation log cluster can be as follows: For each operation log in the second operation log set, determine the first average similarity between the operation log and other operation logs in the second operation log set, and the second average similarity with each operation log in the effective operation log cluster, based on at least one of time features, job features, and application features of the operation; determine the sub-similarity between the operation log and the effective operation log cluster based on the first average similarity and the second average similarity; and determine the similarity between the second operation log set and the effective operation log cluster based on the sub-similarity of each operation log in the second operation log set.

[0053] The similarity between operation logs can be represented by the distance between three-dimensional vectors composed of three-dimensional features. The sub-similarity between operation logs and effective operation log clusters, based on the first average similarity and the second average similarity, can be calculated using the following formula: S = (L2 - L1) / MAX(L1, L2), where L1 is the first average similarity, L2 is the second average similarity, and S is the sub-similarity between operation logs and effective operation log clusters in the second operation log set.

[0054] In this embodiment, for each operation log in the second operation log set, the average similarity between the operation log and other operation logs in the second operation log set is first determined as the first average similarity; then, the average similarity between the operation log and each operation log in the effective operation log cluster is determined as the second similarity; finally, the sub-similarity between the operation log and the effective operation log cluster is determined based on the first and second average similarities; finally, the average of the sub-similarity of each operation log in the second operation log set is calculated to obtain the similarity between the second operation log set and the effective operation log cluster.

[0055] The setting condition can be that the similarity between the second operation log set and the effective operation log cluster falls within the range of (-1, 1). Specifically, if the similarity between the second operation log set and the effective operation log cluster falls within the range of (-1, 1), then the effective operation log cluster is determined as the target operation log cluster that matches the current time.

[0056] S150, determine the target application from the target operation log cluster based on the target user's job information.

[0057] The number of target operation log clusters can be one or more. Each operation log cluster contains one or more operation logs, and each operation log carries at least one of the following characteristics: time, job, and application.

[0058] Specifically, the method for determining the target application from the target operation log cluster based on the target user's job information can be as follows: obtain the application that matches the job information from the target operation log cluster as the target application; and push the target application to the target user.

[0059] Matching job information with an application can be understood as meaning that the job information and the application belong to the same operation log cluster within the target operation log category. After obtaining the target application, the target application is pushed to the target user.

[0060] S150 pushes the target application to the target user.

[0061] In this embodiment, the target application can be pushed to the target user by: determining the weight of the target application based on the similarity between the second operation log set and the effective operation log cluster; and pushing the target application to the target user based on the weight.

[0062] Since the target operation log clusters include one or more, the applications matching the job information can also include at least one, and each target application can appear once or more. The method for determining the weight of the target application based on the similarity between the second operation log set and the effective operation log clusters can be: multiplying the similarity between the second operation log set and the effective operation log clusters by the number of times the target application appears to obtain the weight of the target application. The method for pushing the target applications to the target users based on their weights can be: sorting the target applications in descending order of weight, and then pushing the sorted target applications to the target users.

[0063] Optionally, the target application can be pushed to the target user by pushing the target application to the display device corresponding to the target user and displaying the target application in a designated area of ​​the display device.

[0064] The designated area can be pre-defined in the system interface as a push notification area. This area displays applications pushed to the user, allowing them to quickly find the applications and improving the user experience.

[0065] This embodiment can be applied to the scenario of pushing office-related applications in an enterprise office portal. This solution effectively uncovers the inherent logical connections between individuals and groups. Users are categorized by attributes such as job title to uncover inherent operational relationships; applications are categorized to uncover common operational patterns among personnel in different business segments; functions involved in various systems and task sequences are analyzed; and the task node sequence at the current time is predicted based on the behavior records of all personnel, thereby predicting the functions required for the tasks that an individual will be involved in at the current node. This solution fully explores the inherent connections between groups and individuals, as well as the inherent logic of the periodicity of past operations on the future. This invention is applicable to predictive recommendation of usage functions in employee portals. In situations with a large number of employees, a high degree of digitalization, numerous application functions, and a small display area, the inherent logic is mined based on personal information dimensions such as individual job level, real-time strategic tasks of the group, personal favorites, personal and group historical operation records, and the most frequently used functions of the day, and personalized predictive recommendations are achieved. This reduces the time employees spend searching for applications and improves employee work efficiency.

[0066] The technical solution of this embodiment divides the operation logs within a set historical time period into different period lengths to obtain operation log sets corresponding to each period length, which are used as the first operation log set. The operation logs include at least one of time features, job features, and application features of the operation. For each period length of the first operation log set, a set clustering algorithm is used to cluster the logs according to different numbers of clusters, obtaining multiple operation log clusters corresponding to each period length. Based on at least one of the time features, job features, and application features of the operation, a cluster matching the current time is determined from the multiple operation log clusters corresponding to each period length, which is used as the target operation log cluster. Based on the job information of the target user, the target application is determined from the target operation log cluster. The target application is then pushed to the target user. The application push method provided by this embodiment, after clustering the first operation log set, determines the application matching the current time and the target user's job information from the clustered operation logs based on at least one of the time features, job features, and application features of the operation, and pushes the target application to the target user from multiple dimensions of time features and job features, which can improve the accuracy of application push.

[0067] Example 2

[0068] Figure 2A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0069] like Figure 2 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0070] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0071] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as application push methods.

[0072] In some embodiments, the application push method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the application push method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to execute the application push method by any other suitable means (e.g., by means of firmware).

[0073] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0074] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0075] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0076] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0077] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0078] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0079] The electronic device in this embodiment includes an application push device, which is divided into an operation log segmentation module, an operation log cluster acquisition module, a target operation log cluster determination module, a target application determination module, and a target application push module. When the processor executes the above modules, it implements each step in the above application push method. Figure 3 This is a schematic diagram of the structure of an application push device provided in Embodiment 2 of the present invention, as shown below. Figure 3 As shown, the device includes:

[0080] The operation log segmentation module 310 is used to segment the operation logs within a set historical period according to different cycle durations, and obtain the operation log sets corresponding to each cycle duration as the first operation log set; wherein, the operation logs include at least one of time characteristics, job characteristics and application characteristics of the operation;

[0081] The operation log cluster acquisition module 320 is used to cluster the first operation log set for each period duration using a set clustering algorithm according to different numbers of clusters, and obtain multiple operation log clusters corresponding to each period duration.

[0082] The target operation log cluster determination module 330 is used to determine the cluster that matches the current time from multiple operation log clusters corresponding to each cycle duration based on at least one of time characteristics, job characteristics, and application characteristics of the operation, and to use it as the target operation log cluster.

[0083] The target application determination module 340 is used to determine the target application from the target operation log cluster based on the job information of the target user;

[0084] The target application push module 350 is used to push the target application to the target user.

[0085] Optionally, the operation log partitioning module 310 is also used for:

[0086] Obtain the time mapping relationship for different cycle durations; where the time mapping relationship is the relationship between system time information and cycle time sequence information; where the time characteristics in the operation log are represented by the cycle time sequence information;

[0087] The operation logs within a set historical period are divided according to the time mapping relationship to obtain the operation log set corresponding to each period duration.

[0088] Optionally, the operation log cluster acquisition module 320 is also used for:

[0089] For each cluster size K under each cycle duration, the similarity between operation logs is determined based on at least one of the time characteristics, job characteristics, and application characteristics of the operation; K-means clustering algorithm is used to cluster based on the similarity to obtain K operation log clusters.

[0090] Optionally, the target operation log cluster determination module 330 is also used for:

[0091] Evaluation information for multiple operation log clusters corresponding to each period duration is determined based on at least one of the following: time characteristics, job characteristics, and application characteristics of the operation.

[0092] Based on the evaluation information, effective operation log clusters are selected from multiple operation log clusters corresponding to each cycle duration.

[0093] The cluster that matches the current time is determined from the valid operation log clusters and used as the target operation log cluster.

[0094] Optionally, the target operation log cluster determination module 330 is also used for:

[0095] For each valid operation log cluster, the time distance is determined based on the time characteristics of each operation log in the valid operation log cluster.

[0096] Obtain the operation log set within the time period that is a time distance from the current time, and use it as the second operation log set;

[0097] Determine the similarity between the second set of operation logs and the effective cluster of operation logs;

[0098] If the similarity meets the set conditions, the effective operation log cluster will be determined as the target operation log cluster.

[0099] Optionally, the target operation log cluster determination module 330 is also used for:

[0100] For each operation log in the second operation log set, a first average similarity between the operation log and other operation logs in the second operation log set, and a second average similarity between the operation log and each operation log in the effective operation log cluster are determined based on at least one of time features, job features, and application features of the operation.

[0101] The sub-similarity between operation logs and effective operation log clusters is determined based on the first average similarity and the second average similarity.

[0102] The similarity between the second operation log set and the effective operation log cluster is determined based on the sub-similarity of each operation log in the second operation log set.

[0103] Optionally, the target application determination module 340 is also used for:

[0104] Obtain the application that matches the job information from the target operation log cluster, and use it as the target application;

[0105] Push the target application to the target user.

[0106] Optionally, the target application push module 350 is also used for:

[0107] The weight of the target application is determined based on the similarity between the second operation log set and the effective operation log clusters;

[0108] Push the target application to the target user based on weight.

[0109] Optionally, the target application push module 350 is also used for:

[0110] Push the target application to the display device corresponding to the target user;

[0111] The target application will then be displayed in the settings area of ​​the display device.

[0112] The above-described apparatus can execute the methods provided in all the foregoing embodiments of the present invention, and has the corresponding functional modules and beneficial effects for executing the above methods. Technical details not described in detail in this embodiment can be found in the methods provided in all the foregoing embodiments of the present invention.

[0113] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0114] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A push notification method for an application, characterized in that, include: The operation logs within a set historical period are divided according to different period lengths to obtain operation log sets corresponding to each period length, which are used as the first operation log set; wherein, the operation logs include at least one of time characteristics, job characteristics, and application characteristics of the operation; For the first operation log set of each cycle duration, a set clustering algorithm is used to cluster the logs according to different numbers of clusters to obtain multiple operation log clusters corresponding to each cycle duration. Based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, a cluster matching the current time is determined from the multiple operation log clusters corresponding to each cycle duration, and this cluster is used as the target operation log cluster. The target application is determined from the target operation log cluster based on the target user's job information; The target application is pushed to the target user.

2. The method according to claim 1, characterized in that, The operation logs within a defined historical period are divided according to different period lengths, including: Obtain time mapping relationships for different cycle durations; wherein, the time mapping relationship is the relationship between system time information and cycle time sequence information; wherein, the time characteristics in the operation log are characterized by the cycle time sequence information; The operation logs within the set historical time period are divided according to the time mapping relationship to obtain the operation log sets corresponding to each period duration.

3. The method according to claim 1, characterized in that, The clustering algorithm is set to K-means clustering, and the number of clusters is K. Clustering is performed using the set clustering algorithm according to different numbers of clusters, including: For each cluster size K under each cycle duration, the similarity between operation logs is determined based on at least one of the time characteristics, job characteristics, and application characteristics of the operation; K-means clustering algorithm is used to cluster based on the similarity to obtain K operation log clusters.

4. The method according to claim 1, characterized in that, Based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, a target operation log cluster is determined from multiple operation log clusters corresponding to each cycle duration to match the current time, including: Evaluation information for multiple operation log clusters corresponding to each cycle duration is determined based on at least one of the time characteristics, job characteristics, and application characteristics of the operation. Based on the evaluation information, effective operation log clusters are selected from multiple operation log clusters corresponding to each cycle duration. The cluster that matches the current time is determined from the valid operation log clusters and used as the target operation log cluster.

5. The method according to claim 4, characterized in that, The target operation log cluster is determined from the valid operation log clusters that matches the current time. This includes: For each valid operation log cluster, the time distance is determined based on the time characteristics of each operation log in the valid operation log cluster. Obtain the set of operation logs that fall within the time period that is a time distance from the current time, and use it as the second set of operation logs; Determine the similarity between the second operation log set and the effective operation log cluster; If the similarity meets the set conditions, the effective operation log cluster is determined as the target operation log cluster.

6. The method according to claim 5, characterized in that, Determining the similarity between the second operation log set and the effective operation log cluster includes: For each operation log in the second operation log set, a first average similarity between the operation log and other operation logs in the second operation log set, and a second average similarity between the operation log and each operation log in the effective operation log cluster are determined based on at least one of the time feature, job feature, and application feature of the operation. The sub-similarity between the operation log and the effective operation log cluster is determined based on the first average similarity and the second average similarity. The similarity between the second operation log set and the effective operation log cluster is determined based on the sub-similarity of each operation log in the second operation log set.

7. The method according to claim 5, characterized in that, The target application is determined from the target operation log cluster based on the target user's job information, including: Obtain the application that matches the job information from the target operation log cluster, and use it as the target application; The target application is pushed to the target user.

8. The method according to claim 7, characterized in that, Pushing the target application to the target user includes: The weight of the target application is determined based on the similarity between the second operation log set and the effective operation log cluster. The target application is pushed to the target user based on the weight.

9. The method according to claim 1, characterized in that, Pushing the target application to the target user includes: Push the target application to the display device corresponding to the target user; The target application is then displayed in a designated area of ​​the display device.

10. A push notification device for an application, characterized in that, include: The operation log segmentation module is used to segment operation logs within a set historical time period according to different period durations, and obtain operation log sets corresponding to each period duration as the first operation log set; wherein, the operation log includes at least one of time characteristics, job characteristics, and application characteristics of the operation; The operation log cluster acquisition module is used to cluster the first operation log set for each period duration using a set clustering algorithm according to different numbers of clusters, and obtain multiple operation log clusters corresponding to each period duration. The target operation log cluster determination module is used to determine the cluster that matches the current time from multiple operation log clusters corresponding to each cycle duration based on at least one of the time characteristics, job characteristics, and application characteristics of the operation, and to use it as the target operation log cluster. The target application determination module is used to determine the target application from the target operation log cluster based on the job information of the target user; The target application push module is used to push the target application to the target user.

11. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the push method of the application according to any one of claims 1-9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the push method of the application according to any one of claims 1-9.

Citation Information

Patent Citations

  • User behavior analysis method, device and equipment

    CN111143178A

  • Application program recommendation method and device, computing equipment and medium

    CN111859139A