A method, device, medium and equipment for user behavior data point embedding
By introducing buried point acquisition SDK and configuration preset information in BIM applications, collecting and processing user behavior data, and selecting appropriate reporting modes based on network status, the data loss and incompleteness of traditional data acquisition methods are solved, and the integrity and continuity of data acquisition are improved.
Patent Information
- Application Number
- CN202510092515.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2045-01-21
AI Technical Summary
Traditional user behavior data collection methods are difficult to comprehensively and efficiently capture highly professional behavioral data in BIM application scenarios. Due to the complex network environment, data reporting is prone to failure, resulting in data loss and affecting application optimization and project management decisions.
By introducing buried point acquisition SDK at the front end of the target application, configuring preset information, collecting model operations, file operations and project operation behavior data, and selecting offline reporting mode or online reporting mode for data processing based on the reporting status query results of the data reporting service module.
It improves the integrity and continuity of user behavior data collection, ensures that data can be safely cached and reported in a timely manner when network conditions are unstable, and supports more accurate user behavior analysis and application optimization.
Smart Images

Figure CN119557169B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data analysis, and particularly to a method, device, medium and equipment for user behavior logging. Background Art
[0002] At present, with the wide application of Building Information Modeling (BIM) technology, BIM applications play a core role in multiple links such as building design, construction management, and operation and maintenance. With the in-depth development of BIM applications and the continuous improvement of project complexity, it has become increasingly crucial to accurately collect and analyze user behavior data in BIM applications.
[0003] Traditional methods for collecting user behavior data have exposed many deficiencies in BIM application scenarios: on the one hand, BIM applications involve many complex functions such as model operations, file management, and project collaboration. Traditional logging methods are difficult to comprehensively and efficiently capture and record these specific and highly professional related behaviors, easily resulting in data loss or inaccuracy. On the other hand, in the data reporting link, since BIM projects often involve multi-party collaboration and the network environment is complex and changeable, there may be situations such as network latency and interruption. Traditional logging solutions lack effective response mechanisms. Once the network encounters an abnormal situation, it may lead to data reporting failure, causing a large amount of valuable user behavior data to be lost, seriously affecting the support for BIM application optimization and project management decision-making based on user behavior analysis.
[0004] Therefore, how to improve the integrity and continuity of user behavior data collection has become an urgent problem to be solved. Summary of the Invention
[0005] In view of the above technical problems, the technical solution adopted by the present invention is a method for user behavior logging, which includes the following steps:
[0006] S1, introducing a logging collection SDK into the front-end project of the target application and configuring preset information, where the preset information includes application basic information, user basic information, data reporting related configurations, event classification rules, and event naming rules.
[0007] S2, collecting preset behavior data corresponding to the preset behaviors of the target user on the target application through the logging collection SDK, where the preset behaviors include model operation behaviors, file operation behaviors, and project operation behaviors.
[0008] S3, querying the reporting status of the data reporting service module according to the current time and a preset time interval, and obtaining a reporting status query result, where the reporting status query result includes normal data reporting and abnormal data reporting.
[0009] S4. If the reported status query result is abnormal data reporting, the offline reporting mode is used. The offline reporting mode refers to caching the preset behavior data into a preset database through the buried point collection SDK.
[0010] S5. If the reported status query result is normal data reporting, the online reporting mode is used. The online reporting mode refers to reporting the preset behavior data cached in the preset database to the data reporting service module, querying the cache status of the preset database through the buried point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
[0011] The present invention also provides a user behavior buried point device, which includes:
[0012] An SDK configuration module, used to introduce the buried point collection SDK into the front-end project of the target application and configure preset information. The preset information includes application basic information, user basic information, data reporting related configurations, event classification rules, and event naming rules.
[0013] A data collection module, used to collect the preset behavior data corresponding to the target user's preset behaviors on the target application through the buried point collection SDK. The preset behaviors include model operation behaviors, file operation behaviors, and project operation behaviors.
[0014] A reported status query module, used to query the reported status of the data reporting service module according to the current time and a preset time interval, and obtain the reported status query result. The reported status query result includes normal data reporting and abnormal data reporting.
[0015] A first data reporting module, used to use the offline reporting mode if the reported status query result is abnormal data reporting. The offline reporting mode refers to caching the preset behavior data into a preset database through the buried point collection SDK.
[0016] A second data reporting module, used to use the online reporting mode if the reported status query result is normal data reporting. The online reporting mode refers to reporting the preset behavior data cached in the preset database to the data reporting service module, querying the cache status of the preset database through the buried point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
[0017] The present invention also provides a non-transitory computer-readable storage medium, in which at least one instruction or at least one program segment is stored. The at least one instruction or at least one program segment is loaded and executed by a processor to implement the above-mentioned user behavior buried point method.
[0018] The present invention also provides an electronic device, including a processor and the above-mentioned non-transitory computer-readable storage medium.
[0019] The present invention has at least the following beneficial effects: Through the SDK for buried point collection, comprehensive and detailed data collection is carried out for different preset behaviors. Based on the multi-round query and judgment mechanism in the time dimension, the reporting status of the data reporting service module is obtained. According to different data reporting exception scenarios, the offline reporting mode is started, so that whether the reporting exception persists or experiences complex situations such as partial response to subsequent continuous non-response, the security of data can be guaranteed by caching the preset behavior data. And according to different normal data reporting scenarios, the online reporting mode is started to ensure that whether the response of the data reporting service module is stable and normal from the beginning or returns to normal after experiencing certain fluctuations, the data reporting work can be completed efficiently and accurately. Furthermore, according to the query results of different cache states, targeted processing methods are adopted, which can process the preset behavior data more flexibly and reasonably. Whether there is cached data that needs to be further improved and integrated or there is no cached data for direct reporting, the smooth progress of the entire user behavior buried point data reporting process can be guaranteed. Whether external conditions such as the network are normal or not, it can ensure that the data can be transferred to subsequent links efficiently and accurately for analysis and application, improving the integrity and continuity of user behavior data collection. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0021] Figure 1 It is a flowchart of a user behavior buried point method provided in Embodiment 1 of the present invention;
[0022] Figure 2 It is a schematic structural diagram of a user behavior buried point device provided in Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0023] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, rather than all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative efforts fall within the protection scope of the present invention.
[0024] It should be noted that the terms "first", "second", etc. in the description, claims and above-mentioned drawings of the present invention are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It can be understood that, under appropriate circumstances, the above terms for distinguishing similar objects can be interchanged, so that the present invention can also implement other embodiments other than the above-mentioned illustrated embodiments or described embodiments. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or server comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0025] Embodiment 1
[0026] Embodiment 1 of the present invention provides a method for user behavior data logging. The method for user behavior data logging includes the following steps, as Figure 1 shown:
[0027] S1, introduce a data logging collection SDK in the front-end project of the target application and configure preset information. Among them, the preset information includes application basic information, user basic information, data reporting-related configurations, event classification rules, and event naming rules.
[0028] Among them, the SDK (Software Development Kit) is a tool for implementing the collection of user behavior data, and can automatically capture various types of behavior data generated when the target user interacts with the target application during the operation of the target application.
[0029] The application basic information includes relevant attribute data of the target application itself, such as the name, version number, business field to which it belongs, platform attributes of the application, etc. Among them, the platform attributes include mobile applications, desktop applications, and web applications. Obtaining the application basic information helps to distinguish and compare user behaviors according to different dimensions such as application versions and application types during subsequent data analysis.
[0030] The user basic information includes the basic information of the users who use the target application, such as unique identifiers such as user IDs and accounts of the users, the roles of the users, and the organization or team information where the users are located. Among them, in a BIM project, the roles of users include designers, engineers, project managers, etc. By obtaining the user basic information, the differences in the behavior patterns of different user groups within the application can be deeply understood. For example, the operation habit differences of users in different teams when using the project collaboration function can be analyzed, so as to optimize the function to meet the needs of different user groups.
[0031] The configurations related to data reporting determine how, when, and where the user behavior data will be reported. Specifically, it includes the target server address for reporting, the reporting time interval setting, the requirements for the data format to be reported, etc. Reasonable configurations related to data reporting can ensure the efficiency, accuracy, and stability of data transmission, enabling the collected user behavior data to reach the designated location such as the analysis platform smoothly.
[0032] The event classification rules clarify how to classify various behavior events generated by users within the application. For example, in the BIM application scenario, behaviors related to model operations are grouped into one category, file operation behaviors into one category, and project operation behaviors into one category. It can be further subdivided. For example, within the model operation category, different sub-categories can be divided according to the degree of impact of the operation on the model, the complexity of the operation, etc. Clear event classification rules help quickly locate and sort out the occurrence of different types of behaviors during data analysis, facilitating the insight into the interaction logic between users and the application from a macro to a micro perspective.
[0033] The event naming rules assign a standardized, easy-to-understand, and unique name to each category of behavior events, facilitating the accurate reference and distinction of different behaviors throughout the data collection, reporting, and subsequent analysis processes. For example, for the model translation operation, it can be named "Model_Translation", and the model zoom operation named "Model_Zoom", etc. By following a unified naming rule, it avoids data interpretation errors caused by name confusion, enabling different developers, data analysts, etc. to work based on consistent naming, improving the collaborative efficiency and accuracy of the entire user behavior data processing flow.
[0034] S2, the preset behavior data corresponding to the preset behaviors of the target users on the target application is collected through the buried point collection SDK. Among them, the preset behaviors include model operation behaviors, file operation behaviors, and project operation behaviors.
[0035] Among them, when the target users perform various preset behaviors on the target application, the buried point collection SDK will collect the corresponding preset behavior data according to the pre-set mechanism. By recording the key details of the interaction between the target users and the target application, it provides rich and reliable data support for subsequent in-depth analysis of user behavior patterns and optimization of application functions.
[0036] In a specific embodiment, the model operation behaviors include model translation, model zoom, model rotation, model dragging, component selection, attribute query, geometric shape modification, and component parameter adjustment.
[0037] The file operation behaviors include file opening and file saving.
[0038] The project operation behaviors include project creation and project switching.
[0039] Among them, when the target user performs a translation operation on the model, the data collection SDK for logging will record the time when the operation occurs, the translation direction, and the translation distance. When the target user performs a scaling operation on the model, the data collection SDK for logging will record the time when the operation occurs, the initial state of the model during the scaling operation, and the scaling factor. When the target user performs a rotation operation on the model, the data collection SDK for logging will record the time when the operation occurs, the coordinate axis around which the rotation occurs, and the rotation angle. When the target user performs a dragging operation on the model, the data collection SDK for logging will record the time when the operation occurs, the starting position coordinates of the dragging, and the ending position coordinates, which is convenient for analyzing the frequency and habits of the target user performing translation, scaling, rotation, and dragging operations on the model at different times, understanding the model areas that the user focuses on, and the operations during different perspective switches.
[0040] When the target user selects one or more components, the data collection SDK for logging will record the time when the selection operation occurs, the unique identifier of the selected component, and the selection method, which is convenient for analyzing the degree of attention of the target user to different components and the habitual preferences in the component selection operation, and then optimizing the usability and accuracy of the component selection function.
[0041] When the target user queries the properties of the built components, the data collection SDK for logging will record the time of the query operation, the specific property names of the queried components, and the specific numerical values of the queried properties, which is convenient for analyzing the focus points of the target user in viewing the properties of model components, so as to more reasonably display important properties in the application interface and improve the efficiency of the user obtaining key information.
[0042] When the target user modifies the geometric shape of a component, the data collection SDK for logging will record the time of the modification operation, the specific modification type (such as stretching, compression, distortion, etc.), and the specific parameters of the modification, which is convenient for analyzing the operation habits and requirements of the target user in the process of model design optimization, so as to help the development team judge which geometric shape modification operations are more commonly used, and thus improve the corresponding function modules pertinently.
[0043] When the target user adjusts the parameters of a component, the data collection SDK for logging will record the time of the adjustment operation, the identifier of the component being adjusted, the parameter names being adjusted (such as material parameters, strength parameters, etc.), and the specific numerical values after the adjustment, which is convenient for analyzing the requirements of the target user for component performance optimization in different scenarios, and helps the application provide a parameter adjustment function that better meets the actual usage requirements.
[0044] When the target user performs a file opening operation, the data collection SDK for logging will record the time of the opening operation, the name of the opened file, the storage path of the file, and the type of the file, which is convenient for optimizing the file management and search functions and improving the convenience of the user obtaining files.
[0045] When the target user performs a file saving operation, the data collection SDK will record the time of the saving operation, the name of the saved file, whether the file was modified before saving, and the target path of the saving, which is convenient for improving the prompts and functions related to file saving and preventing problems such as data loss caused by user misoperations.
[0046] When the target user performs a project creation operation, the data collection SDK will record the time of project creation, the name of the created project, and the basic project information set, which is convenient for analyzing the creation frequencies of different types of projects, the situations of projects initiated by different teams, etc., and provides a reference basis for optimizing the project management and application functions in the project creation link.
[0047] When the target user performs a project switching operation, the data collection SDK will record the time of the switching operation and the project identifiers before and after the switching, which is convenient for optimizing the project switching process and interface display and enhancing the user experience in the multi-project operation scenario.
[0048] As described above, by comprehensively and meticulously collecting data on different preset behaviors, the data collection SDK can build a detailed and three-dimensional user behavior portrait for application developers and operation teams, which is convenient for developers and operation teams to make scientific decisions based on actual data, continuously optimize the functions and services of the target application, and better meet user needs.
[0049] S3. Query the reporting status of the data reporting service module according to the current time and the preset time interval, and obtain the reporting status query result. Among them, the reporting status query result includes normal data reporting and abnormal data reporting.
[0050] In a specific embodiment, S3 includes the following steps:
[0051] S31. Obtain the first historical time to the Nth historical time before the current time and the first reference time to the Nth reference time after the current time according to the preset time interval, where N is the preset number of time points.
[0052] S32. Respectively obtain the response status query results corresponding to querying the response status of the data reporting service module at the first historical time to the Nth historical time. Among them, the response status query result includes response and non-response.
[0053] S33. If the N response status query results corresponding to the first historical time to the Nth historical time are all non-response, then determine that the reporting status query result is abnormal data reporting.
[0054] S34. If the response status query result corresponding to the first historical time is response, then determine that the reporting status query result is normal data reporting.
[0055] S35. If the query result of the response status corresponding to the first historical time is "not responded", and among the N - 1 query results of the response status corresponding to the second historical time to the Nth historical time, there is a "responded", then based on the most recent historical time corresponding to the "responded", obtain the first quantity L of consecutive non - responded historical times before the current time, and execute step S36.
[0056] S36. Initialize j = 1.
[0057] S37. Obtain the query result of the response status when querying the data reporting service module at the jth reference time.
[0058] S38. If the query result of the response status corresponding to the jth reference time is "responded", then determine that the query result of the reporting status is "data reporting normal".
[0059] S39. If the query result of the response status corresponding to the jth reference time is "not responded", then update j = j + 1, and return to execute step S37 until j = N - L, then determine that the query result of the reporting status is "data reporting abnormal".
[0060] Among them, if the N query results of the response status corresponding to the first historical time to the Nth historical time are all "not responded", it indicates that the data reporting service module is in an abnormal state during a continuous historical time period, and corresponding exception handling measures need to be taken, that is, enable the offline reporting mode to cache the collected preset behavior data to avoid data loss.
[0061] If the query result of the response status corresponding to the first historical time is "responded", the data can be processed according to the normal online reporting process.
[0062] If the first quantity L of consecutive non - responses of the data reporting service module in the historical time period is less than N, wait until the corresponding reference time respectively, and gradually analyze the query result of the response status of the data reporting service module at each reference time. If the query result of the response status corresponding to the jth reference time is "responded", then determine that the query result of the reporting status of the data reporting service module at the jth reference time is "data reporting normal", and the data can be processed according to the normal online reporting process. If the query results of the response status corresponding to the 1st reference time to the N - Lth reference time are all "not responded", combined with the first quantity L of consecutive non - responses of the data reporting service module in the historical time period, it can be known that the data reporting service module has not responded in N consecutive time periods, then it can be judged that the data reporting service module has an exception, and corresponding exception handling measures need to be taken, that is, enable the offline reporting mode to cache the collected preset behavior data to avoid data loss.
[0063] In a specific embodiment, S31 includes the following steps:
[0064] S311, acquiring a preset query schedule according to a preset start time and a preset time interval, wherein the preset query schedule includes a plurality of preset query times.
[0065] S312: In a time sequence from late to early, N preset query times before the current time in the preset query time table are sequentially determined as the first historical time to the Nth historical time.
[0066] S313, in a time sequence from early to late, N preset query times after the current time in the preset query time table are sequentially determined as the first reference time to the Nth reference time.
[0067] Among them, the preset start time, preset time interval and preset time quantity N can be set by the implementer according to actual conditions. For example, the preset start time can be set to the startup time of the target application, the preset time interval can be set to 20 minutes, and the preset time quantity N can be set to 3.
[0068] The above-mentioned multi-round query and judgment mechanism based on the time dimension can accurately grasp the reporting status of the data reporting service module, and then provide a reliable decision-making basis for the data reporting link of the entire user behavior tracking point, ensuring the stability and reliability of data reporting. Regardless of whether external conditions such as the network are normal, it can ensure that user behavior data is properly processed as much as possible, thereby improving the integrity and continuity of user behavior data collection.
[0069] S4: If the status query result is that the data reporting is abnormal, the offline reporting mode is used, where the offline reporting mode means caching the preset behavior data into the preset database through the tracking point collection SDK.
[0070] In a specific implementation, S4 includes the following steps:
[0071] S41, if the N response status query results corresponding to the first historical time to the Nth historical time are all unresponsive and the reporting status query result is determined to be a data reporting exception, the offline reporting mode is used at the current time.
[0072] S42: If the N-1 response status query results corresponding to the second historical time to the Nth historical time include a response, and the response status query results corresponding to the first reference time to the NLth reference time are all non-response and it is determined that the reporting status query result is a data reporting exception, then the offline reporting mode is used when the response status query result corresponding to the NLth reference time is obtained.
[0073] Among them, if the query results of the response status corresponding to the first historical time to the Nth historical time are all unresponsive and it is determined that the query result of the reporting status is abnormal data reporting, it indicates that the abnormal reporting situation has persisted for some time and has been in an abnormal state from a historical perspective. Then, at the current time, the offline reporting mode is immediately used to save the collected preset behavior data to avoid the loss of preset behavior data, and wait for subsequent network recovery and other appropriate conditions before performing data reporting, ensuring the integrity and traceability of the data.
[0074] If the N - 1 response status query results corresponding to the second historical time to the Nth historical time include responses, considering that there have been responses in some historical times, it does not directly switch to the offline reporting mode. Instead, it further waits and obtains the response status of the analysis data reporting service module within the reference time period until the query results of the response status corresponding to the first reference time to the N - Lth reference time are all unresponsive, that is, the data reporting service module has not responded in N consecutive time periods. Then, it is determined that the data reporting service module has an exception, and when obtaining the judgment result, that is, when obtaining the response status query result corresponding to the N - Lth reference time, the offline reporting mode is used, improving the judgment reliability and accuracy of the reporting status of the data reporting service module.
[0075] As described above, starting the offline reporting mode according to different data reporting abnormal scenarios ensures the security of the data by caching the preset behavior data, regardless of whether the reporting abnormality persists or experiences complex situations such as partial response to subsequent continuous non - response, and reserves complete data resources for the subsequent re - reporting and application analysis of the data.
[0076] S5. If the query result of the status is normal data reporting, the online reporting mode is used. Among them, the online reporting mode means reporting the preset behavior data cached in the preset database to the data reporting service module, querying the cache status of the preset database through the buried - point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
[0077] Among them, when using the online reporting mode, the preset behavior data cached in the preset database can be empty, that is, there is no cached data in the preset database. Then, in the step of reporting the preset behavior data cached in the preset database to the data reporting service module, the data reported to the data service module based on the preset database is also correspondingly empty. In a specific embodiment, S5 includes the following steps:
[0078] S51. If the query result of the response status corresponding to the first historical time is a response and it is determined that the query result of the reporting status is normal data reporting, the online reporting mode is used at the current time.
[0079] S52. If a response is included in the N-1 response status query results corresponding to the second historical time to the Nth historical time, and the response status query result corresponding to the jth reference time is a response and it is determined that the reported status query result is normal data reporting, then the online reporting mode is used when the response status query result corresponding to the jth reference time is obtained.
[0080] Among them, when a response is included in the N-1 response status query results corresponding to the second historical time to the Nth historical time, it indicates that there are fluctuations in the response of the data reporting service module during the historical time and it does not always maintain a stable response. Therefore, the reported status query result is comprehensively determined in combination with the response status query result corresponding to the subsequent jth reference time. Thus, when the response status query result corresponding to the jth reference time obtained is a response, that is, when it is determined that the data reporting service module has returned to normal, the online reporting mode is used.
[0081] As described above, the online reporting mode is started according to different scenarios of normal data reporting, ensuring that whether the response of the data reporting service module is stable and normal from the beginning or returns to normal after experiencing certain fluctuations, the data reporting work can be completed efficiently and accurately, guaranteeing the smooth data flow and reliable data quality of the entire user behavior tracking system.
[0082] In a specific embodiment, the cache status query result includes cached data and no cached data. S5 includes the following steps:
[0083] S53. If the cache status query result is cached data, then the preset behavior data is cached into the preset database through the buried point collection SDK.
[0084] S54. If the cache status query result is no cached data, then the preset behavior data is reported to the data reporting service module through the buried point collection SDK.
[0085] Among them, when the cache status query result is cached data, it means that due to reasons such as short-term network fluctuations during the previous data reporting process, not all cached data could be successfully reported in time, or new data is continuously generated and cached and not processed in time, etc., resulting in the existence of preset behavior data accumulated previously in the preset database. In this embodiment, the newly collected preset behavior data is supplemented into the preset database through the buried point collection SDK, so that the cached data can more comprehensively reflect the user's behavior trajectory, and the cached data in the database is preferentially reported to the data reporting service module, thereby improving the integrity and continuity of the data.
[0086] When the cache status query result indicates no cached data, the preset behavior data is directly reported to the data reporting service module through the embedded point collection SDK, and the newly collected data is reported immediately to avoid data retention, thus ensuring the timeliness of data transfer.
[0087] As described above, adopting targeted processing methods according to different cache status query results can handle the preset behavior data more flexibly and reasonably. Whether there is cached data that needs to be further improved and integrated, or no cached data and direct reporting, it can ensure the smooth progress of the entire user behavior embedded point data reporting process, ensuring that data can be efficiently and accurately transferred to subsequent links for analysis and application, improving the integrity and continuity of user behavior data collection.
[0088] As described above, through the embedded point collection SDK, comprehensive and detailed data collection is carried out for different preset behaviors. Based on the multi-round query and judgment mechanism in the time dimension, the reporting status of the data reporting service module is obtained. According to different data reporting exception scenarios, the offline reporting mode is started, so that whether the reporting exception persists or experiences complex situations such as partial response to subsequent continuous non-response, the data can be protected by caching the preset behavior data. And according to different normal data reporting scenarios, the online reporting mode is started to ensure that whether the response of the data reporting service module is stable and normal from the beginning or returns to normal after experiencing certain fluctuations, the data reporting work can be completed efficiently and accurately. Furthermore, adopting targeted processing methods according to different cache status query results can handle the preset behavior data more flexibly and reasonably. Whether there is cached data that needs to be further improved and integrated, or no cached data and direct reporting, it can ensure the smooth progress of the entire user behavior embedded point data reporting process. Whether external conditions such as the network are normal or not, it can ensure that data can be efficiently and accurately transferred to subsequent links for analysis and application, improving the integrity and continuity of user behavior data collection.
[0089] Embodiment 2
[0090] Embodiment 2 provides a user behavior embedded point device, which includes, as Figure 2 shown:
[0091] The SDK configuration module 21 is used to introduce the embedded point collection SDK in the front-end project of the target application and configure preset information, where the preset information includes application basic information, user basic information, data reporting related configurations, event classification rules, and event naming rules.
[0092] The data collection module 22 is used to collect the preset behavior data corresponding to the preset behaviors of the target user on the target application through the buried point collection SDK, where the preset behaviors include model operation behaviors, file operation behaviors, and project operation behaviors.
[0093] The reporting status query module 23 is used to query the reporting status of the data reporting service module according to the current time and the preset time interval, and obtain the reporting status query result, where the reporting status query result includes normal data reporting and abnormal data reporting.
[0094] The first data reporting module 24 is used to use the offline reporting mode if the reporting status query result is abnormal data reporting, where the offline reporting mode means caching the preset behavior data into the preset database through the buried point collection SDK.
[0095] The second data reporting module 25 is used to use the online reporting mode if the reporting status query result is normal data reporting, where the online reporting mode means reporting the preset behavior data cached in the preset database to the data reporting service module, querying the cache status of the preset database through the buried point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
[0096] In a specific embodiment, the model operation behaviors include model translation, model scaling, model rotation, model dragging, component selection, attribute query, geometric shape modification, and component parameter adjustment.
[0097] The file operation behaviors include file opening and file saving.
[0098] The project operation behaviors include project creation and project switching.
[0099] In a specific embodiment, the reporting status query module 23 includes:
[0100] The time acquisition sub-module is used to obtain the first historical time to the Nth historical time before the current time and the first reference time to the Nth reference time after the current time according to the preset time interval, where N is the preset number of times.
[0101] The first response status query sub-module is used to obtain the response status query results corresponding to querying the response status of the data reporting service module at the first historical time to the Nth historical time respectively, where the response status query results include response and non-response.
[0102] The first reporting status determination sub-module is used to determine that the reporting status query result is abnormal data reporting if the N response status query results corresponding to the first historical time to the Nth historical time are all non-response.
[0103] The second reporting status determination sub-module is used to determine that the reporting status query result is normal data reporting if the response status query result corresponding to the first historical time is a response.
[0104] The first quantity acquisition sub-module is used to, if the response status query result corresponding to the first historical time is non-response, and among the N - 1 response status query results corresponding to the second historical time to the Nth historical time, there is a response, then based on the nearest historical time corresponding to the response, acquire the first quantity L of consecutive non-response historical times before the current time, and execute the initialization sub-module.
[0105] The initialization sub-module is used to initialize j = 1.
[0106] The second response status query sub-module is used to obtain the response status query result corresponding to when querying the response status of the data reporting service module at the jth reference time.
[0107] The third reporting status determination sub-module is used to determine that the reporting status query result is normal data reporting if the response status query result corresponding to the jth reference time is a response.
[0108] The fourth reporting status determination sub-module is used to, if the response status query result corresponding to the jth reference time is non-response, then update j = j + 1, return to execute the second response status query sub-module until j = N - L, and then determine that the reporting status query result is abnormal data reporting.
[0109] In a specific embodiment, the time acquisition sub-module includes:
[0110] The time table acquisition unit is used to acquire a preset query time table according to a preset start time and a preset time interval, where the preset query time table includes several preset query times.
[0111] The historical time acquisition unit is used to, in the order of time from late to early, sequentially determine the N preset query times before the current time in the preset query time table as the first historical time to the Nth historical time.
[0112] The reference time acquisition unit is used to, in the order of time from early to late, sequentially determine the N preset query times after the current time in the preset query time table as the first reference time to the Nth reference time.
[0113] In a specific embodiment, the first data reporting module 24 includes:
[0114] The first data reporting sub-module is used to determine that the reporting status query result is data reporting exception if the query results of the response status corresponding to the first historical time to the Nth historical time are all unresponsive, and use the offline reporting mode at the current time.
[0115] The second data reporting sub-module is used to determine that the reporting status query result is data reporting exception if the query results of the response status corresponding to the second historical time to the Nth historical time include a response, and the query results of the response status corresponding to the first reference time to the (N - L)th reference time are all unresponsive, and use the offline reporting mode when obtaining the query result of the response status corresponding to the (N - L)th reference time.
[0116] In a specific embodiment, the second data reporting module 25 includes:
[0117] The third data reporting sub-module is used to determine that the reporting status query result is data reporting normal if the query result of the response status corresponding to the first historical time is a response, and use the online reporting mode at the current time.
[0118] The fourth data reporting sub-module is used to determine that the reporting status query result is data reporting normal if the query results of the response status corresponding to the second historical time to the Nth historical time include a response, and the query result of the response status corresponding to the jth reference time is a response, and use the online reporting mode when obtaining the query result of the response status corresponding to the jth reference time.
[0119] In a specific embodiment, the second data reporting module 25 includes:
[0120] The first data processing sub-module is used to cache the preset behavior data into the preset database through the buried point collection SDK if the cache status query result is that there is cached data.
[0121] The second data processing sub-module is used to report the preset behavior data to the data reporting service module through the buried point collection SDK if the cache status query result is that there is no cached data.
[0122] It should be noted that for the information interaction, execution process, etc. between the above modules, since they are based on the same concept as the method embodiment of the present invention, for their specific functions and the technical effects brought, please refer to the method embodiment part for details, and will not be elaborated here.
[0123] Embodiment III
[0124] Embodiment III of the present invention provides a non-transitory computer-readable storage medium, in which at least one instruction or at least one program segment is stored, and at least one instruction or at least one program segment is loaded and executed by a processor to implement the steps:
[0125] S1. Introduce the buried point collection SDK in the front-end project of the target application and configure the preset information, where the preset information includes the basic application information, basic user information, data reporting related configurations, event classification rules, and event naming rules.
[0126] S2. Use the buried point collection SDK to collect the preset behavior data corresponding to the preset behaviors of the target user on the target application, where the preset behaviors include model operation behaviors, file operation behaviors, and project operation behaviors.
[0127] S3. Query the reporting status of the data reporting service module according to the current time and the preset time interval, and obtain the reporting status query result, where the reporting status query result includes normal data reporting and abnormal data reporting.
[0128] S4. If the reporting status query result is abnormal data reporting, use the offline reporting mode, where the offline reporting mode means caching the preset behavior data into the preset database through the buried point collection SDK.
[0129] S5. If the reporting status query result is normal data reporting, use the online reporting mode, where the online reporting mode means reporting the preset behavior data cached in the preset database to the data reporting service module, querying the cache status of the preset database through the buried point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
[0130] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database or other medium used in the embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchronization Link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.
[0131] Those skilled in the art can clearly understand that for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0132] Embodiment 4
[0133] Embodiment 4 of the present invention provides an electronic device, which includes a processor and the non-transitory computer-readable storage medium in Embodiment 3 of the present invention.
[0134] The above are only the preferred embodiments of the present invention and do not impose any form of limitation on the present invention. Although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some changes or modifications to the equivalent embodiments by using the above-disclosed technical content within the scope of the technical solution of the present invention. However, as long as it does not depart from the content of the technical solution of the present invention, any simple modification, equivalent change and modification made to the above embodiments according to the technical essence of the present invention still fall within the scope of the technical solution of the present invention.
Claims
1. A user behavior tracking method, characterized in that: The user behavior tracking method comprises the following steps: S1, introduce the tracking point collection SDK into the front-end project of the target application and configure the preset information, wherein the preset information includes basic application information, basic user information, data reporting related configuration, event classification rules and event naming rules; S2, collecting preset behavior data corresponding to the preset behavior performed by the target user on the target application through the tracking collection SDK, wherein the preset behavior includes model operation behavior, file operation behavior and project operation behavior; S3, querying the reporting status of the data reporting service module according to the current time and the preset time interval, and obtaining the reporting status query result, wherein the reporting status query result includes normal data reporting and abnormal data reporting, S3 includes the following steps: S31, acquiring the first historical time before the current time to the Nth historical time, and the first reference time after the current time to the Nth reference time according to the preset time interval, where N is the preset number of time; S32, respectively obtaining response status query results corresponding to the response status of the data reporting service module when querying the response status from the first historical time to the Nth historical time, wherein the response status query results include response and non-response; S33, if the N response status query results corresponding to the first historical time to the Nth historical time are all unresponsive, then determining that the reporting status query result is a data reporting exception; S34, if the response status query result corresponding to the first historical time is a response, then determining that the reporting status query result is that the data reporting is normal; S35, if the response status query result corresponding to the first historical time is no response, and the N-1 response status query results corresponding to the second historical time to the Nth historical time include a response, then based on the most recent historical time corresponding to the response, obtain a first number L of consecutive no-response historical times before the current time, and execute step S36; S36, initialize j=1; S37, obtaining a response status query result corresponding to the response status of the data reporting service module when querying the response status at the jth reference time; S38, if the response status query result corresponding to the j-th reference time is a response, then determining that the reporting status query result is that the data reporting is normal; S39, if the response status query result corresponding to the j-th reference time is no response, update j=j+1, return to execute step S37, until j=NL, then determine that the reporting status query result is data reporting abnormality; S4, if the reporting status query result is that the data reporting is abnormal, the offline reporting mode is used, wherein the offline reporting mode refers to caching the preset behavior data into a preset database through the tracking point collection SDK; S5. If the reporting status query result is that the data reporting is normal, the online reporting mode is used, wherein the online reporting mode refers to reporting the preset behavior data cached in the preset database to the data reporting service module, and querying the cache status of the preset database through the embedding point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
2. The user behavior tracking method according to claim 1, characterized in that: The model operation behaviors include model translation, model scaling, model rotation, model dragging, component selection, attribute query, geometric shape modification, and component parameter adjustment; The file operation behavior includes file opening and file saving; The project operation behaviors include project creation and project switching.
3. The user behavior tracking method according to claim 1, characterized in that: S31 includes the following steps: S311, acquiring a preset query schedule according to a preset start time and a preset time interval, wherein the preset query schedule includes a plurality of preset query times; S312, in a time order from late to early, sequentially determining N preset query times before the current time in the preset query time table as the first historical time to the Nth historical time; S313, in a time order from early to late, sequentially determining N preset query times after the current time in the preset query time table as the first reference time to the Nth reference time.
4. The user behavior tracking method according to claim 1, characterized in that: S4 includes the following steps: S41, if the N response status query results corresponding to the first historical time to the Nth historical time are all unresponsive and it is determined that the reporting status query result is a data reporting exception, then the offline reporting mode is used at the current time; S42: If the N-1 response status query results corresponding to the second historical time to the Nth historical time include a response, and the response status query results corresponding to the first reference time to the NLth reference time are all non-response and it is determined that the reporting status query result is a data reporting exception, then the offline reporting mode is used when the response status query result corresponding to the NLth reference time is obtained.
5. The user behavior tracking method according to claim 1, characterized in that: S5 includes the following steps: S51, if the response status query result corresponding to the first historical time is a response and the reporting status query result is determined to be normal data reporting, then the online reporting mode is used at the current time; S52, if the N-1 response status query results corresponding to the second historical time to the Nth historical time include a response, and the response status query result corresponding to the jth reference time is a response and the reporting status query result is determined to be normal data reporting, then the online reporting mode is used when the response status query result corresponding to the jth reference time is obtained.
6. The user behavior tracking method according to claim 1, characterized in that: The cache status query result includes cached data and non-cached data, and S5 includes the following steps: S53, if the cache status query result is that there is cache data, cache the preset behavior data into a preset database through the tracking point collection SDK; S54: If the cache status query result is that there is no cache data, the preset behavior data is reported to the data reporting service module through the tracking point collection SDK.
7. A user behavior tracking device, characterized in that: The user behavior tracking device includes: SDK configuration module, used to introduce the tracking point collection SDK into the front-end project of the target application and configure preset information, wherein the preset information includes basic application information, basic user information, data reporting related configuration, event classification rules and event naming rules; A data collection module, used to collect preset behavior data corresponding to the preset behavior performed by the target user on the target application through the tracking point collection SDK, wherein the preset behavior includes model operation behavior, file operation behavior and project operation behavior; The reporting status query module is used to query the reporting status of the data reporting service module according to the current time and the preset time interval, and obtain the reporting status query result, wherein the reporting status query result includes normal data reporting and abnormal data reporting. The reporting status query module includes: The time acquisition submodule is used to acquire the first historical time before the current time to the Nth historical time, and the first reference time after the current time to the Nth reference time according to a preset time interval, where N is a preset number of times; A first response status query submodule, used to obtain the response status query results corresponding to the response status of the query data reporting service module from the first historical time to the Nth historical time, wherein the response status query results include response and non-response; A first reporting status determination submodule, configured to determine that the reporting status query result is a data reporting exception if N response status query results corresponding to the first historical time to the Nth historical time are all unresponsive; The second reporting status determination submodule is used to determine that the reporting status query result is that the data reporting is normal if the response status query result corresponding to the first historical time is a response; A first quantity acquisition submodule is used for acquiring a first quantity L of consecutive unresponsive historical times before the current time based on the most recent historical time corresponding to the response, if the response status query result corresponding to the first historical time is unresponsive, and the N-1 response status query results corresponding to the second historical time to the Nth historical time include a response, and executing the initialization submodule; Initialization submodule, used to initialize j=1; The second response status query submodule is used to obtain the response status query result corresponding to the response status of the data reporting service module when querying the response status at the jth reference time; A third reporting status determination submodule, configured to determine that the reporting status query result is that data reporting is normal if the response status query result corresponding to the j-th reference time is a response; The fourth reporting status determination submodule is used to update j=j+1 if the response status query result corresponding to the j-th reference time is no response, return to execute the second response status query submodule until j=NL, and determine that the reporting status query result is data reporting abnormality; A first data reporting module, configured to use an offline reporting mode if the reporting status query result is that the data reporting is abnormal, wherein the offline reporting mode refers to caching the preset behavior data into a preset database through the embedding point collection SDK; The second data reporting module is used to use the online reporting mode if the reporting status query result is that the data reporting is normal, wherein the online reporting mode refers to reporting the preset behavior data cached in the preset database to the data reporting service module, and querying the cache status of the preset database through the embedding point collection SDK, obtaining the cache status query result, and performing preset processing on the preset behavior data according to the cache status query result.
8. A non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the non-transitory computer-readable storage medium, characterized in that: The at least one instruction or the at least one program is loaded and executed by the processor to implement the user behavior tracking method as described in any one of claims 1-6.
9. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 8.
Citation Information
Patent Citations
Data acquisition method and device, computer readable medium and electronic equipment
CN112631879A
Buried point data reporting control method and device, storage medium and electronic equipment
CN114090433A