Data acquisition methods, devices, terminals, servers, and readable storage media
By collecting data from multi-finger operations on terminal devices and generating a combined file of touch point identifiers and operation data, the problem of limited single-finger operation in existing technologies is solved, the richness and breadth of data collection are achieved, and security risks and costs are reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-10
- Publication Date
- 2026-03-10
AI Technical Summary
Existing touchscreen data collection methods mainly focus on single-finger operation in specific usage scenarios. The application scenarios and user operation methods are limited, resulting in low breadth and richness of data collection, as well as security risks and high collection costs.
By collecting data from multi-finger operations on the terminal device according to preset collection fields, touch point identifiers and operation data are generated, and the data are combined into a target data file using a preset data format and sent to the server for user identification.
It achieves richness and breadth of multi-finger operation data, improves the portability and scalability of data acquisition, and reduces security risks and acquisition costs.
Smart Images

Figure CN115220597B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of artificial intelligence technology, and in particular to a data acquisition method, device, terminal, server, and readable storage medium. Background Technology
[0002] With the development of mobile internet and the widespread adoption of mobile touchscreen devices, collecting user operation data from these devices can facilitate user behavior analysis, such as user identification, gesture recognition, and age group identification. This data can then be used to optimize products in a targeted manner. Unlike traditional authentication methods that rely on human physiological characteristics, such as facial recognition and iris recognition, mobile touchscreen device-based operation data collection and authentication can achieve seamless and continuous authentication without infringing on user privacy.
[0003] Currently, the main method for collecting operational data in related technologies is through the development of targeted data collection apps. These apps rely on mobile software development and underlying operating system support to collect touchscreen data from users during app usage. However, this touchscreen data collection primarily focuses on single-finger operations in specific usage scenarios, such as unlocking devices with a single finger using a given pattern, inputting given number sequences, playing mini-games primarily involving single-finger operations, and browsing content in specific short video applications. It can be seen that current data collection methods are significantly limited by application scenarios and user operation methods, making them difficult to apply to common everyday scenarios, such as games involving numerous multi-finger touchscreen operations. The data collection methods suffer from low applicability, portability, and scalability, thus reducing their widespread application. Furthermore, the collected single-finger operation data is relatively homogeneous, limiting the richness of the collected data. Summary of the Invention
[0004] This application aims to provide a data acquisition method, device, terminal, server, and readable storage medium that can realize multi-finger operation data acquisition, thereby improving the richness and wide applicability of data acquisition.
[0005] The technical solution of this application is implemented as follows:
[0006] This application provides a data acquisition method applied to a terminal, including:
[0007] Based on preset collection fields, data is collected on the operation behavior corresponding to the current application to obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch points;
[0008] Based on the preset data format, a target data file is generated by correspondingly combining touch point identifiers with operation data;
[0009] The target data file is sent to the server so that the server can identify the user of the current application based on the target data file.
[0010] This application provides a data acquisition method applied to a server, including:
[0011] The receiving terminal sends a target data file; the target data file is generated by the terminal collecting data on the operation behavior corresponding to the current application according to preset collection fields, obtaining at least one touch point identifier, and at least one operation data corresponding to each touch point identifier; and generating the file by correspondingly combining the touch point identifiers and operation data according to a preset data format; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that operate on the current application at the same time; the operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch points;
[0012] Perform a data validity check on the target data file;
[0013] If the validity check is passed, the target data file is analyzed, and the user identity of the current application is identified based on the analysis results.
[0014] This application provides a data acquisition device for use in a terminal, comprising:
[0015] The data acquisition module is used to acquire data on the operation behavior corresponding to the current application according to preset acquisition fields, and obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset acquisition fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize the operation behavior of the touch points and generate operation data in at least one dimension;
[0016] The generation module is used to generate a target data file by combining touch point identifiers with operation data according to a preset data format.
[0017] The sending module is used to send the target data file to the server so that the server can identify the user of the current application based on the target data file.
[0018] This application provides a data acquisition device applied to a server, comprising:
[0019] A receiving module is used to receive a target data file sent by a terminal. The target data file is generated by the terminal collecting data on the operation behavior corresponding to the current application according to preset collection fields, obtaining at least one touch point identifier and at least one operation data corresponding to each touch point identifier. It is also generated by combining the touch point identifiers and operation data according to a preset data format. The preset collection fields include a touch point identifier field and a predefined operation information field. The touch point identifier field is used to identify each of the at least one touch points operating on the current application at the same time. The operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch points.
[0020] The inspection module is used to perform data validity checks on the target data file;
[0021] The analysis module is used to analyze the target data file if the validity check is passed, and to identify the user of the current application based on the analysis results.
[0022] This application provides a terminal, including:
[0023] The first memory is used to store executable instructions;
[0024] The first processor is configured to implement the data acquisition method for a terminal provided in this application embodiment by executing executable instructions stored in the first memory.
[0025] This application provides a server, including:
[0026] The second memory is used to store executable instructions;
[0027] The second processor is configured to implement the data acquisition method for a server provided in this application embodiment by executing executable instructions stored in the second memory.
[0028] This application provides a readable storage medium storing executable instructions, which, when executed by a first processor, implement the data acquisition method for a terminal provided in this application; or, when executed by a second processor, implement the data acquisition method for a server provided in this application.
[0029] This application provides a computer program product, including a computer program or instructions. When the computer program or instructions are executed by a first processor, they implement the data acquisition method for a terminal provided in this application embodiment; or, when the computer program or instructions are executed by a second processor, they implement the data acquisition method for a server provided in this application embodiment.
[0030] The embodiments of this application have the following beneficial effects:
[0031] Based on preset collection fields, data is collected on the operation behavior corresponding to the current application. Each touch point among the at least one collected touch point can be identified using the touch point identifier field in the preset collection fields, resulting in at least one touch point identifier. Furthermore, the operation information field in the preset collection fields is used to collect operation data generated by the operation behavior of each touch point in at least one predefined dimension, resulting in at least one operation data corresponding to each touch point identifier. Then, according to a preset data format, the touch point identifiers and operation data are combined to generate a target data file. This achieves data collection for multi-finger operations, improving the richness of data collection. Moreover, when applying and implementing the data collection method in this embodiment under various scenarios, the preset collection fields can be predefined to flexibly achieve operation data collection under various scenarios according to different data collection requirements, improving the portability and scalability of the data collection method, thereby increasing the application breadth of data collection. Attached Figure Description
[0032] Figure 1 This is a schematic diagram of an optional structure of the data acquisition system provided in the embodiments of this application;
[0033] Figure 2 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0034] Figure 3 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0035] Figure 4 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0036] Figure 5 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0037] Figure 6 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0038] Figure 7 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0039] Figure 8 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0040] Figure 9 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0041] Figure 10 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0042] Figure 11 This is a schematic diagram of an optional data acquisition method provided in an embodiment of this application;
[0043] Figure 12 This is a schematic diagram of an optional interaction process between a terminal and a server in a data acquisition method provided in this application embodiment;
[0044] Figure 13 This is a schematic diagram of an optional process for applying the data acquisition method provided in this application embodiment to a real-world scenario;
[0045] Figure 14 This is a schematic diagram of an optional structure of the data acquisition device provided in the embodiments of this application;
[0046] Figure 15 This is a schematic diagram of an optional structure of the data acquisition device provided in the embodiments of this application;
[0047] Figure 16 This is a schematic diagram of an optional structure of the terminal provided in an embodiment of this application;
[0048] Figure 17This is a schematic diagram of an optional structure of the server provided in an embodiment of this application. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0050] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0051] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0052] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, the term "at least one" in this application means any combination of at least two of any one or more of a plurality of elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0053] Unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. The terminology used in this application is for the purpose of describing embodiments of this application only and is not intended to be limiting of this application.
[0054] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.
[0055] Currently, the relevant technologies mainly involve developing targeted data collection apps to collect a fixed amount of touch screen data from users using specific apps. For data collection needs in different scenarios, different apps need to be designed and developed for data collection.
[0056] Current methods for collecting touchscreen operation data from mobile smart terminal devices rely on mobile software development and underlying operating system support for data collection and storage. These methods primarily focus on single-finger operations in specific usage scenarios, such as unlocking devices with a single finger using a given pattern, inputting a given number sequence, playing short games within a limited time, and browsing content in specific short video applications. Current data collection software development has specific requirements and regulations regarding data collection scenarios and finger operation methods, which greatly limits the scenarios for data collection and the amount of operation data collected. This makes it difficult to apply to more common everyday scenarios, especially the large amount of multi-finger operation data collected during games. Therefore, current data collection methods have low portability and scalability, and limited applicability.
[0057] Furthermore, current data acquisition technologies primarily focus on the user data input process, which can easily lead to data leaks, security risks, and reduced data security. Moreover, if invalid data is collected, it can result in secondary data collection, increasing acquisition costs and reducing efficiency.
[0058] This application provides a data acquisition method, apparatus, terminal, server, and readable storage medium, which can improve the richness and wide applicability of data acquisition. For example... Figure 1 As shown, Figure 1 This is a schematic diagram of the architecture of the data acquisition system 100 provided in the embodiments of this application. Terminal 400 (terminal 400-1 and terminal 400-2 are shown as examples) is connected to server 200 through network 300, which can be a wide area network or a local area network, or a combination of both.
[0059] Terminal 400 is used to collect data on the operation behavior corresponding to application 410 (exemplarily shown as current application 410-1 and current application 410-2 on terminal 400-1) according to preset collection fields, to obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize the operation behavior of the touch point and generate operation data in at least one dimension; according to a preset data format, a target data file is generated by correspondingly combining the touch point identifier and the operation data; and the target data file is sent to server 200.
[0060] Server 200 is used to receive target data files sent by terminal 400; to perform data validity checks on the target data files; and, if the validity check is passed, to store the target data files in database 500 for analysis, and then to identify the user identity of the current application based on the analysis results.
[0061] In this embodiment, current application 410-1 and current application 410-2 are clients corresponding to the same application 410 on different terminals. Server 200 can be a backend server corresponding to application 410, or a data acquisition server corresponding to application 410, etc. The specific choice is made according to the actual situation, and this embodiment does not limit it.
[0062] The terminal provided in this application embodiment can be implemented as various types of terminals or user terminals, such as smartphones, smartwatches, mobile devices (e.g., mobile phones, portable music players, personal digital assistants, dedicated messaging devices, portable gaming devices), etc., that support multi-touch operation. The specific choice depends on the actual situation, and this application embodiment does not impose any limitations.
[0063] In some embodiments, server 200 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Terminal 400 may be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, etc., but is not limited thereto. Terminals and servers can be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment.
[0064] In some embodiments, the terminal or server can implement the data acquisition method provided in this application by running a computer program. For example, the computer program can be a native program or software module in an operating system; it can be a native application (APP), that is, a program that needs to be installed in the operating system to run, such as a dedicated data acquisition APP; it can also be a mini-program, that is, a program that only needs to be downloaded into a browser environment to run; it can also be a mini-program that can be embedded in any APP, or a computer program in the form of a software development kit (SDK). In short, the above-mentioned computer program can be any form of application, module, or plugin.
[0065] The following describes the data acquisition method applied to a terminal in the embodiments of this application, with the terminal as the execution subject. Figure 2 This is an optional flowchart of the data acquisition method provided in the embodiments of this application, which will be combined with Figure 2 The steps shown are explained.
[0066] S101. Based on the preset collection fields, collect data on the operation behavior corresponding to the current application to obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch points.
[0067] This application's embodiments are applicable to scenarios where operation data of users interacting with applications on a terminal is collected during application usage. For example, during a user's gameplay on a mobile phone screen, or when a user uses touch gestures to fast-forward, rewind, adjust brightness or volume in a video playback application, touch screen data is collected for user identification, gesture recognition, or age group recognition. The specific choice depends on the actual situation, and this application's embodiments do not limit this.
[0068] In some embodiments, the interaction device between the terminal and the user may include a device that supports multi-touch, either configured on the terminal itself or externally, such as a touch-sensitive display or touchpad. Users can operate the interaction device directly with their fingers, or they can use a stylus or other device to operate it, depending on the specific circumstances. This application does not limit the choice of which device to use.
[0069] In this embodiment, the terminal can collect operation data generated on the terminal device by the operation behavior corresponding to the current application according to the predefined standardized preset collection fields, and obtain touch point identification and operation data.
[0070] Here, the preset collection field may include data items of the required operation data predefined according to preset standard specifications based on the operation characteristics of the current application. In some embodiments, the preset collection field may include: a touch point identification field and a predefined operation information field. The touch point identification field is used to identify each of the at least one touch point that performs an operation on the current application at the same time; the operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch point.
[0071] In this embodiment, the user can operate the current application through the terminal's interactive device. When the terminal initiates data collection, it can determine the data information to be collected based on preset collection fields corresponding to the current application. The terminal collects data on at least one touch point operating on the current application on the interactive device at the same time, based on the touch point identifier field defined in the preset collection fields, and assigns a number to each touch point to obtain a touch point identifier corresponding to each touch point. Furthermore, the terminal can collect operation data generated by the touch point's operation behavior in at least one preset dimension, based on the operation information field defined in the preset collection fields, to obtain at least one operation data corresponding to each touch point.
[0072] For example, there may be 4 touch points that operate on the current application at the current moment. The terminal can use the numbers 0-3 to number the above 4 touch points respectively, as the touch point identifier of each touch point.
[0073] In some embodiments, the operation information field may include: the contact area between the touch point and the screen, pressure, coordinates, action type, etc., and the terminal collects operation data accordingly based on the required data items defined in the operation information field. This will be described in detail in later embodiments.
[0074] For example, when a user operates a capacitive touchscreen mobile phone display with their finger, the contact between the finger and the screen generates a tiny change in electrical current. The phone can detect this change in current to determine one or more touch points currently interacting with the application on the screen. Based on a preset touch point identification field, the phone assigns a number to each touch point to identify the finger interacting with the application. Furthermore, the screen interaction at one or more touch points triggers the phone's operating system's event response mechanism. The underlying operating system can receive relevant event information from upper-level functional modules through this mechanism, such as screen pressure data, coordinates, and action type, to respond to the screen interaction event. In this way, operation data corresponding to the touch points can be collected.
[0075] In this embodiment, the operation information field can be predefined according to the purpose of the collected data; that is, at least one dimension that needs to be collected can be defined according to the purpose of the collected data. In this way, data collection based on at least one predefined dimension in the operation information field can effectively avoid collecting redundant data, reduce the occupation of terminal operating resources and the amount of data collected, and improve the efficiency of data collection.
[0076] S102. Based on the preset data format, generate the target data file by correspondingly combining the touch point identifiers and operation data.
[0077] In this embodiment of the application, the terminal can use a preset data format to combine and store the touch point identifier of each touch point with at least one operation data generated by the touch point, and then use the at least one touch point identifier combined with the preset data format to generate a target data file with at least one operation data corresponding to each touch point identifier.
[0078] In some embodiments, the terminal may also generate a target data file based on at least one touch point identifier and at least one operation data corresponding to each touch point identifier, combined with other types of data collected, such as various configuration information of the terminal and application-related sensor data, so that the target data file can more comprehensively reflect the operation characteristics of the current user.
[0079] It is understood that by utilizing the preset collection fields defined in the embodiments of this application, the standard and format of data collection fields are standardized. In this way, in different data collection scenarios, the preset collection fields can be flexibly customized according to the actual requirements of the collection scenario, so that they can be more conveniently applied to more data collection scenarios without modifying the data collection function program, such as the data collection APP.
[0080] S103. Send the target data file to the server so that the server can identify the user of the current application based on the target data file.
[0081] In this embodiment of the application, the terminal sends the generated target data file to the server. Upon receiving the target data file, the server can analyze the target data file to identify the user of the current application.
[0082] In some embodiments, the server can use the data content of the target data file as training data. Based on machine learning algorithms and a neural network model, features are extracted from the training data. The extracted features are then used to train the neural network model, learning user behavior characteristics such as distances between multiple touch points, trajectory patterns, touch speed, touch acceleration, touch pressure, and touch contact area. This results in a network model capable of predicting user identity based on user behavior characteristics. The server can then use this trained network model to perform continuous implicit authentication of the user's identity based on the target data file continuously collected during application usage.
[0083] For example, the terminal can collect touchscreen data during the operation of a game application and send the collected target data file to the server. The server can then use a trained network model to analyze the data content collected in the target data file, such as touch speed and touchscreen contact area, to identify whether the current user of the game application is an adult or a minor. Furthermore, if a minor is identified, timely reminders and time limits can be implemented to prevent addiction.
[0084] In some embodiments, the terminal may compress the target data file before sending it to the server to reduce the amount of data transmitted and improve the transmission speed.
[0085] It is understandable that, based on preset collection fields, data is collected on the operation behavior corresponding to the current application. This can be achieved by using the touch point identifier field in the preset collection fields to identify each of the at least one touch point, obtaining at least one touch point identifier; and by using the operation information field in the preset collection fields to collect the operation data generated by the operation behavior of each touch point in at least one predefined dimension, obtaining at least one operation data corresponding to each touch point identifier. Then, according to a preset data format, the touch point identifiers and operation data are combined to generate a target data file. This achieves data collection for multi-finger operations, improving the richness of data collection. Furthermore, when applying and implementing the data collection method in this embodiment under various scenarios, the preset collection fields can be predefined to flexibly achieve operation data collection under various scenarios according to different data collection requirements, improving the portability and scalability of the data collection method, thereby increasing the application breadth of data collection.
[0086] In some embodiments, based on Figure 2 ,like Figure 3 As shown, S101 can be achieved by executing the process of S1011-S1012, and each step will be explained in detail.
[0087] S1011. By calling the terminal's operating system interface, based on the touch point identifier field in the preset acquisition fields, obtain at least one touch point that is operating on the current application at the same time and assign it a number to obtain at least one touch point identifier.
[0088] In this embodiment of the application, when a user operates the current application on the terminal through the terminal's interactive device, such as a touch screen or touchpad, the terminal can obtain at least one touch point that is currently operating the interactive device by calling the terminal's operating system interface and receiving the event response mechanism of the underlying operating system. The terminal can then number the at least one touch point to obtain a touch point identifier corresponding to each touch point, which serves as at least one touch point identifier.
[0089] S1012. Based on at least one dimension in the operation information field, collect data on the operation behavior of at least one touch point to obtain at least one operation data generated by the operation behavior of each touch point in at least one dimension.
[0090] In this embodiment of the application, each touch point generates operation data in multiple dimensions when it is operated. The terminal collects data on the operation behavior of at least one touch point according to at least one dimension in the operation information field, and obtains at least one operation data generated by the operation behavior of each touch point in at least one dimension.
[0091] In some embodiments, at least one operation data includes: pressure value of each touch point, screen coordinates of the touch point on the terminal, contact area and action type; the action type is used to characterize the operation action corresponding to the touch point; the operation action includes at least one of pressing, sliding and lifting.
[0092] In some embodiments, the contact area represents the size of the contact area between the current operator's finger and the terminal screen, that is, the degree of contact during the current operation.
[0093] In some embodiments, the screen coordinate values of the touch point on the terminal include horizontal axis coordinate values and vertical axis coordinate values, which respectively represent the corresponding coordinates of the touch point on the horizontal and vertical axes of the terminal screen, and the screen coordinate values represent the current operation position of the user on the terminal screen.
[0094] In some embodiments, the action type represents the user operation action corresponding to the touch point. For example, it can be distinguished by a flag bit: 0 for pressing, 1 for sliding, and 2 for lifting.
[0095] It is understood that, based on the characteristics of multi-finger touchscreen operation on the terminal, this application embodiment defines data collection fields to standardize and process multi-finger operation data collection and processing. This allows data collection to be performed using predefined data collection fields based on the intended use of the collected data, effectively avoiding the collection of redundant data, reducing the occupation of terminal operating resources and the amount of data collected, and improving the efficiency of data collection. Furthermore, it standardizes the data collection field standard for multi-finger operation, thereby increasing the versatility of data collection applications.
[0096] In some embodiments, based on Figure 3 ,like Figure 4 As shown, the preset data format includes: array format. S102 can be implemented by executing the process of S1021-S1025, which will be explained in conjunction with each step.
[0097] S1021. Organize at least one touch point identifier into an array format to obtain a touch point identifier array.
[0098] In this embodiment, the terminal organizes at least one touch point identifier into an array format, with each touch point identifier corresponding to a position in the array, thus obtaining a touch point identifier array.
[0099] S1022. Based on each dimension in at least one dimension, divide at least one operation data corresponding to each touch point identifier into dimensions to obtain a set of operation data corresponding to each dimension, thereby obtaining at least one set of operation data.
[0100] In this embodiment, at least one piece of data corresponding to each touch point identifier is at least one piece of operation data generated by the operation behavior of each touch point in at least one dimension. The terminal can group the operation data corresponding to the same dimension of each touch point identifier into a group from the perspective of dimensional classification, obtaining a group of operation data corresponding to each dimension, thereby obtaining at least one group of operation data. Here, each group of operation data contains at least one piece of operation data generated by at least one touch point in the corresponding dimension.
[0101] S1023. Based on the array position of each touch point identifier in the touch point identifier array, organize each group of operation data into an operation data array to obtain the operation data array corresponding to each dimension, and thus obtain at least one operation data array corresponding to at least one dimension.
[0102] In this embodiment, the terminal can organize each group of operation data into an operation data array according to the array position of each touch point identifier in the touch point identifier array, thereby organizing at least one group of operation data into at least one operation data array. Here, the array position corresponding to each operation data in the operation data array is consistent with the array position of the touch point corresponding to that operation data in the touch point identifier array.
[0103] S1024. Based on the touch point identifier array and at least one operation data array, obtain the target acquisition data.
[0104] S1025. Use the target data to generate a target data file.
[0105] In this embodiment, the terminal obtains target acquisition data based on the touch point identifier array and at least one operation data array, and then generates a target data file from the target acquisition data.
[0106] In some embodiments, based on Figure 4 ,like Figure 5 As shown, the preset collection fields also include at least one of the following: collection time field, application information field and terminal information field. S1024 can be implemented by executing the process from S1024-1 to S1024-2, which will be explained in conjunction with each step.
[0107] S1024-1. Obtain at least one of the following: the collection time corresponding to the collection time field, the application information corresponding to the application information field, and the terminal information corresponding to the terminal information field.
[0108] In this embodiment, the terminal obtains at least one of the following based on preset collection fields: collection time field, application information field, and terminal information field: collection time field, application information field, and terminal information field.
[0109] The application information includes at least one of the following: the application name of the current application and the version information of the current application; the terminal information includes at least one of the following: the sensor data of the terminal and the configuration information of the terminal.
[0110] In some embodiments, the sensor data includes at least one of accelerometer data and gyroscope data; the configuration information includes at least one of the terminal's brand information, model information, memory information, screen orientation, screen resolution, and screen refresh rate.
[0111] In some embodiments, the accelerometer data includes the terminal's current accelerometer count, which characterizes the spatial changes of the terminal under the current operation.
[0112] In some embodiments, the gyroscope data includes: the current gyroscope value of the terminal, which represents the attitude change of the terminal under the current operation.
[0113] In some embodiments, screen orientation can be identified using a screen orientation flag. For example, a screen orientation flag of 0 indicates that the terminal's screen orientation is landscape, and a screen orientation flag of 1 indicates portrait. Screen resolution, screen refresh rate, and memory information can be stored as numerical values; application name, version information, brand information, and model information can be stored as character values.
[0114] In some embodiments, the terminal can generate a corresponding user code for each user to uniquely identify the operation data collected during the user's operation and to characterize the user's identity. The user code can be stored as a string.
[0115] In some embodiments, the terminal can also acquire user information fields that have been pre-labeled before data collection, such as user age group, user tags, etc., to flexibly expand the preset collection fields.
[0116] S1024-2. Based on the touch point identifier array and at least one operation data array, and combined with at least one of the acquisition time, application information and terminal information, the target acquisition data is obtained.
[0117] In this embodiment, the terminal generates a target collection data corresponding to one data collection based on a touch point identifier array and at least one operation data array, combined with at least one of the collection time, application information and terminal information.
[0118] In some embodiments, based on Figure 4 or Figure 5 ,like Figure 6 As shown, S1025 can be achieved by executing the processes S1025-1 to S1025-2, which will be explained in conjunction with each step.
[0119] S1025-1. During the operation of the current application, at least one data collection is performed on the operation behavior corresponding to the current application according to the preset collection frequency to obtain the target collection data for each collection, until the preset file generation conditions are met, and at least one target collection data is obtained.
[0120] In this embodiment of the application, the terminal can collect data on the operation behavior corresponding to the current application at least once during the operation of the current application, according to a preset collection frequency; for example, the operation behavior of the user operating the terminal screen is collected at least once to obtain the target collection data for each collection until the preset file generation conditions are met, and at least one target collection data is obtained based on the target collection data collected each time.
[0121] In some embodiments, the preset acquisition frequency can be 60Hz, that is, 60 target acquisition data points are acquired per second. Other values can also be used according to the needs of the actual application. The specific selection should be made according to the actual situation, and this application embodiment does not limit it.
[0122] In some embodiments, the preset file generation conditions include: the collection duration reaching a preset collection duration threshold, and the data volume of at least one target collection data reaching a preset data volume threshold. That is, when the collection duration reaches the preset collection duration threshold, and / or the data volume of at least one target collection data reaches the preset data volume threshold, the terminal generates a target data file based on the at least one target collection data currently collected, completes the current round of data collection, resets the collection duration and data volume, and proceeds to the next round of data collection.
[0123] S1025-2. Generate a target data file based on data collected from at least one target.
[0124] In this embodiment, the terminal can write at least one target data point to a file, thereby generating a target data file. Exemplarily, the terminal can write the target data point to the file each time it collects data, i.e., write multiple times; alternatively, it can store the target data collected each time, and write at least one stored target data point to the file when preset file generation conditions are met, i.e., write once. The specific choice depends on the actual situation, and this embodiment does not limit the choice.
[0125] In some embodiments, based on Figure 6 ,like Figure 7 As shown, S1025-2 can be achieved by executing the processes S1025-21 to S1025-23, which will be explained in conjunction with each step.
[0126] S1025-21. Synchronize the key with the decryption service on the server to obtain the encryption key.
[0127] S1025-22. Using an encryption key, encrypt the data collected from at least one target to obtain at least one encrypted target data.
[0128] In this embodiment, the terminal can perform collaborative encryption and decryption processing with the server to encrypt and transmit the collected data, thereby improving security. Before generating the target data file, the terminal can first synchronize its key with the decryption service on the server, and use the synchronized key as the encryption key. The encryption key is then used to encrypt at least one target collected data to obtain at least one target encrypted data.
[0129] In some embodiments, the terminal may use the Advanced Encryption Standard (AES) symmetric encryption algorithm to encrypt at least one target data in time sequence, converting each plaintext target data into ciphertext to obtain at least one target encrypted data.
[0130] S1025-23. Generate a target data file based on at least one target encrypted data.
[0131] It is understandable that by encrypting the target data to obtain target encrypted data, and then generating a target data file from the target encrypted data, the plaintext information will not be leaked even if the data is intercepted during the transmission of the target file to the server, thus greatly improving the security of the target data file during data transmission.
[0132] In some embodiments, based on Figures 2-7 Before any of the options, S101 can also be executed, as follows:
[0133] S001. If the preset collection conditions are not met, do not collect data from the current application until the preset collection conditions are met, then start collecting data from the current application.
[0134] In this embodiment, to better characterize user operation behavior, the collected operation data should include as many actions as possible, and the actions should be as rich as possible. The terminal can confirm whether the current data collection scenario meets preset collection conditions before initiating data collection and / or during the data collection process. If the preset collection conditions are not met, data collection for the current application will not be performed until the preset collection conditions are met, at which point data collection for the current application will commence.
[0135] In some embodiments, the preset collection conditions include at least one of the following: the current application is running in the foreground, the current page of the current application is the main operation interface, and the operation duration on the main operation interface is greater than a preset operation duration threshold.
[0136] In some embodiments, the terminal may determine, before and / or in real time during data collection, whether the current application is running in the foreground. If the current application is not running, data collection for the current application will not begin; if the current application is running, data collection will begin. Alternatively, if the user exits the current application midway through use, data collection for the current application will be paused until the current application resumes foreground operation, at which point data collection will resume.
[0137] In some embodiments, the terminal may determine, before and / or in real-time during data collection, whether the current page targeted by the user's operation is the main interface of the current application. If the current page is not the main interface, such as when the user is operating on a game's settings interface, no data collection will be performed.
[0138] In some embodiments, to avoid including user operation data such as identity verification in the collected data, the terminal can confirm whether the continuous operation duration of the current operation on the main operation interface is greater than or equal to a preset operation duration threshold. If it is less than the preset operation duration threshold, no data is collected for the current application. For example, the preset operation duration threshold can be one minute, and the terminal can collect data only after the user has operated on the current application for one minute.
[0139] In some embodiments, the terminal can also determine the current application's authentication or user login status before data collection to ensure that each user has a unique user ID. If the current application is confirmed to be logged in, the preset collection conditions are determined to be met; otherwise, the preset collection conditions are determined not to be met.
[0140] It should be noted that the terminal can use any one of the following as preset collection conditions: the application is currently running in the foreground, the current page of the application is the main operation interface, and the operation duration on the main operation interface; alternatively, it can combine at least one of the following: the application is currently running in the foreground, the current page of the application is the main operation interface, and the operation duration on the main operation interface is greater than or equal to a preset operation duration threshold, as preset collection conditions. The specific selection should be made according to the actual situation, and this application embodiment does not limit it.
[0141] It is understandable that the terminal collects data only when the preset collection conditions are met, and does not collect data otherwise. This can effectively reduce invalid data in the data collection results and improve the efficiency of data collection.
[0142] In some embodiments, the data acquisition method of this application can be implemented as an SDK. The SDK implementing the data acquisition function can be pre-installed in the terminal operating system or the current application on the terminal, providing a standardized interface for transmitting data of a specified type. The process by which the terminal acquires data from the current application and generates a target data file can be as follows: Figure 8 As shown below:
[0143] S201. Call the data acquisition SDK to collect multi-finger touch screen operation data that meets the preset scenario requirements.
[0144] In S201, the terminal calls the SDK to call the terminal's operating system's underlying interface. Under the condition that the preset collection conditions are met, the terminal collects data according to the preset collection fields predefined in the SDK according to the preset scenario requirements, and combines and stores the data in a preset data format.
[0145] In S201, the multi-finger touchscreen data collected by the SDK, as well as the preset data formats for various data contents, can include:
[0146] user_ID: User ID, generated based on the information used for user identity verification, representing the user's identity; string type.
[0147] timestamp: A timestamp corresponding to the current time of the terminal, representing the time of the current operation; numeric type.
[0148] size: Touchscreen area, the size of the area of the screen where the current user is interacting with the device, representing the degree of contact of the current operation; array type.
[0149] tapX: Horizontal axis coordinate, the coordinates of the current user operation on the horizontal axis of the screen, representing the current operation position; array type.
[0150] tapY: Vertical axis coordinate, the coordinates of the current user operation on the vertical axis of the screen, representing the current operation position; array type.
[0151] action_type: Action type, the type of operation action under the current user operation on the terminal, 0 is press, 1 is slide, 2 is release, representing the relationship between the current operation and the complete action; array type.
[0152] finger_num: Finger number. The terminal assigns a number to each finger in all operations at the same time under the current operation. It is an array.
[0153] acce: Acceleration data, the acceleration count value of the terminal under the current operation, representing the rate of spatial change of the terminal under the current operation; array type.
[0154] gyro: Gyroscope data, the gyroscope value of the terminal under the current operation, representing the attitude change of the terminal under the current operation; array type.
[0155] Other data types include: screenOrientation (screen orientation flag, numeric), gameName (name, character), gameVersion (version number, character), screenResolution (screen resolution, character), screenRefreshRate (screen refresh rate, numeric), phoneBrand (phone brand, character), phoneModel (phone model, character), and phoneMemory (phone memory size, numeric).
[0156] S202. Write the multi-finger touch screen operation data line by line into a file and encrypt it before sending it to the server.
[0157] In S202, the SDK and the server-side decryption service use the same encryption key, and use the AES symmetric encryption algorithm to encrypt the touch screen operation data line by line in a loop. Each plaintext data is converted into ciphertext and written to the file line by line. When the preset collection time threshold is reached, or the data volume reaches the preset data volume threshold, the file is compressed and sent to the remote server for decryption and preprocessing.
[0158] The following describes a data acquisition method applied to a server, using the server as the execution subject. Figure 9 This is an optional flowchart of the data acquisition method provided in the embodiments of this application, which will be combined with Figure 9 The steps shown are explained.
[0159] S401, Receive target data file sent by the receiving terminal; the target data file is generated by the terminal collecting data on the operation behavior corresponding to the current application according to preset collection fields, obtaining at least one touch point identifier, and at least one operation data corresponding to each touch point identifier; and generating it by correspondingly combining the touch point identifier and the operation data according to a preset data format; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize the operation behavior of the touch point and generate at least one dimension of operation data.
[0160] S402. Perform a data validity check on the target data file.
[0161] In this embodiment of the application, the server receives the target data file generated by the terminal according to the data acquisition method of this embodiment of the application, and performs a validity check on the target data file.
[0162] In some embodiments, the data validity check of the target data file in S402 can be implemented by at least one of S4021-S4022, S4023, S4024-S4025, and S4026:
[0163] S4021. Obtain the model information from the target data file. The model information represents the model of the terminal.
[0164] S4022. If the preset model list contains model information, confirm that the data validity check has passed.
[0165] In this embodiment, the preset model list contains at least one compliant model, representing a model whitelist. The terminal can obtain model information from the target data file, and if the preset model list contains model information, it determines whether the data validity check has been passed.
[0166] S4023. If the amount of original data corresponding to the target data file is greater than or equal to the preset data amount threshold, the data validity check is passed.
[0167] In this embodiment, the original data volume corresponding to the target data file can be determined based on the terminal's data acquisition duration and frequency. The server determines that the data validity check passes if the original data volume corresponding to the target data file is greater than or equal to a preset data volume threshold.
[0168] S4024. Delete data in the target data file that does not meet the preset analysis conditions to obtain preprocessed data;
[0169] S4025. If the difference between the amount of preprocessed data and the amount of original data is less than or equal to the preset data amount error threshold, the data validity check is passed.
[0170] In this embodiment of the application, the server can analyze the data content of the target data file, that is, at least one target collected data, to confirm whether the target collected data meets the preset data analysis conditions.
[0171] In some embodiments, the preset data analysis conditions include: the screen orientation in the target acquisition data is a first orientation; the number of touch point identifiers at the same time is less than or equal to a preset touch point number threshold; the target acquisition data contains data corresponding to all preset acquisition fields; the screen coordinate values in the target acquisition data do not exceed preset screen coordinate boundary values; and the target acquisition data conforms to at least one of the preset data formats.
[0172] For example, the server removes data from at least one target data collection point in the target data file, including data rows with portrait orientation, more than four fingers simultaneously, missing data fields, out-of-bounds coordinates, and incorrect formatting, resulting in preprocessed data. If the preprocessed data is less than 90% of the original data volume, it indicates that the target data file contains too much erroneous data, rendering the target data file unusable. The server determines that the data validity check has failed and does not proceed with further processing of the target data file.
[0173] S4026. Use a message digest algorithm to verify the validity of the target data file.
[0174] In this embodiment, the server pre-records the message digest (MD) value of each historical target data file received in each historical period. The server calculates the MD5 value of the target data collected in the target data file, such as touch screen operation data, and compares it with the value in the MD5 file. If the values are the same, that is, the MD5 is duplicated, it indicates that there may be a case of mistakenly sending duplicate data. The server confirms that the data validity check fails, that is, the current target data file is unusable. If the MD5 value is not duplicated, the server confirms that the data validity check passes, adds the MD5 value of the current target data file to the maintained MD5 record, and proceeds to the next step of processing the current target data file.
[0175] It should be noted that in the embodiments of this application, S4021-S4022, S4023, S4024-S4025 and S4026 are parallel method flows. In actual applications, one or more of them can be selected to be executed according to the actual situation. The embodiments of this application do not limit this.
[0176] S403. If the validity check is passed, analyze the target data file and identify the user of the current application based on the analysis results.
[0177] In this embodiment of the application, the server stores the target data file that has passed the data validity check, i.e. the preprocessed usable data file, in the database, and analyzes the target data file to identify the user identity of the current application based on the analysis results.
[0178] Here, the server analyzes the target data file and performs user identification for the current application based on the analysis results, which is consistent with the description in S103 above, and will not be repeated here.
[0179] In some embodiments, the server may delete or discard target data files that fail the data validity check.
[0180] It is understood that, in this embodiment of the application, by performing a validity check on the target data file, invalid data in the target data file can be removed, high-quality data can be retained, the data size can be reduced, and high-quality data can be guaranteed for subsequent data analysis and application. Furthermore, it avoids problems such as secondary collection due to insufficient high-quality data after data collection is completed, reduces unnecessary collection costs, and improves the rigor of the process and the efficiency of data collection.
[0181] In some embodiments, the target data file contains at least one target encrypted data, which is obtained by encrypting at least one target collected data by the terminal. Figure 9Before S402, it is also possible to... Figure 10 As shown, S501-S502 are executed as follows:
[0182] S501. Synchronize the key with the terminal to obtain the decryption key.
[0183] S502. Using the decryption key, the target encrypted data is decrypted to obtain the target collected data.
[0184] In this embodiment, the server and terminal use the same encryption key for terminal encryption. The synchronized key is then used as the decryption key to decrypt the encrypted target data in the target data file, obtaining the target acquired data. The plaintext target acquired data is then preprocessed and its validity checked.
[0185] In some embodiments, based on Figure 8 The data acquisition method applied to the server side provided in this application embodiment can be as follows: Figure 11 As shown below:
[0186] S601. The server and terminal synchronize the key to obtain the decryption key.
[0187] In S601, the server synchronizes the same encryption key with the SDK on the terminal through the decryption service, which serves as the decryption key on the server side.
[0188] S602. The server decompresses the received target data file and decrypts it using the decryption key to obtain plaintext touch screen operation data.
[0189] In S602, the server can perform AES cyclic decryption on at least one piece of encrypted data that has undergone AES cyclic encryption on the terminal side to obtain plaintext touch screen operation data.
[0190] S603: The server analyzes touchscreen operation data and identifies users.
[0191] It is understood that, in this embodiment of the application, the security of data transmission is improved by performing key synchronization and data encryption / decryption between the terminal and the server.
[0192] This application provides a data acquisition method, applied to a data acquisition system, such as... Figure 12 As shown, it includes:
[0193] S701. The terminal collects data on the operation behavior corresponding to the current application according to the preset collection fields, and obtains at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset collection fields include a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize the operation behavior of the touch points and generate at least one dimension of operation data.
[0194] S702. The terminal generates a target data file by matching touch point identifiers with operation data according to a preset data format.
[0195] S703, the terminal sends the target data file to the server.
[0196] S704. If the server determines that the validity check has passed, it analyzes the target data file and identifies the user of the current application based on the analysis results.
[0197] The steps described in S701-S704, S101-S103, and S401-S403 are consistent and will not be repeated here.
[0198] Below, in conjunction with Figure 13 This paper introduces the application of the embodiments of this application in a real-world scenario. Here, taking the user's multi-finger touch screen operation during landscape game operation as an example, it introduces the process of data collection specification formulation, development and use of SDK for data collection, data encryption transmission, and data preprocessing and storage in cloud database.
[0199] S801. By running the data collection SDK, and according to the preset data collection fields corresponding to the usage scenario, the underlying SDK interface of the mobile smart terminal's operating system is called to realize data collection during game operation.
[0200] For example, taking the data collection during game A by a 24-year-old user dial2391_0010, their mobile phone is a B brand, model C, with a screen resolution of 2400*1080, a screen refresh rate of 60Hz, and 8GB of memory. When the user logs into the game and completes identity authentication, one minute later, when the user places their finger on the screen to perform an operation, the data collection SDK is invoked, collecting a piece of data with the following content (taking two-finger operation as an example):
[0201] {userID:'dial2391_0010',timestamp:1618500765164,size:[21.2,25.6],pressure:[0.762,0.483],tapX:[2 15.6,484.6],tapY:[684.1,1008.9],action_type:[0,1],finger_num:[0,1],acce:[1.25,0.01,5.52],gyro:[ -0.01,0.52,1.25],screenOrientation:0,gameName:'A',gameVersion:'V1.0',screenResolution:'2400*1080',screenRefresh-Rate:60,phoneBrand:'B',phoneModel:'C',phoneMemory:8,userAge:24,userAgeGroup:2}.
[0202] S802: For each piece of data from user dial2391_0010, the SDK must first encrypt it using a symmetric encryption method. The encryption key synchronized between the SDK and the remote server encryption service is:
[0203] Key="3e695af36128e9abc44c62076532dfea".
[0204] The data obtained from S802 is cyclically encrypted using a symmetric encryption algorithm to obtain the ciphertext: “FPeQnagtq3tFue2jAkOVJZDAyk3HP5E56bQRR6ttwJ45D+UVkm65l1U71hXM4ZtF2BSQ7RE7nf372hG / 4vuIOe7SQzHGLFypItXuLkwOhdnYaMWjWWeC446DuBOJNCQle3ZSYtmhioHlq / U9AymtuzfZiigVG939j5IBUJUjUCVi9S0DQiFUBW6uIDeJ7DBuZjdgyuLETk5DFBRMHp3REvLgxYKnAfXHdLp+HwWwBRdkutrP” pkEuLiHqWiJV9FHVcRMzSU9OA8 / gG66YyKL+782AJo44jOwZyBITtq9+7Hb1C5shpnK1 AAy0dE0+N4l5BMkJ759K1UJVveM906lsIShtl / fk1yhkvTAL0MvNxAGwuJ214RVJfjRgi obm90VleqVitb1XYwNAT8RQCH5D / 0Lg0J4jeoR+FS9wA5hiY2RFiPGicNnRWHpJpm+TuPc24yaandHWjPMG0eDyHXBPieIJ / Afz2dew0+E76c5N7t2MuUSjOmmNsRUDv2OdXF8o”.
[0205] The mobile smart terminal writes the encrypted text into the data collection file dial2391_0010_file.txt corresponding to the user, and begins processing the next piece of touch screen operation data read, until all data is encrypted and written.
[0206] S802. When the data collection reaches the specified time, that is, the preset collection duration threshold, such as 10 minutes, the SDK ends the current data collection process and sends the completed file dial2391_0010_file.txt to the remote server after compression.
[0207] S803: After receiving and decompressing the file, the remote server obtains the encrypted dial2391_0010_file.txt. Using the key Key="3e695af36128e9abc44c62076532dfea", it decrypts the plaintext data line by line. The MD5 hash is calculated and compared with the MD5 hashes of all received data files stored in the database to ensure that the data has not been sent repeatedly. If the MD5 checksum passes, the data preprocessing stage begins, including S8031-S8033.
[0208] S8031. The remote server determines the device model and data volume of the data file. If the device model does not meet the requirements or the data volume does not meet the threshold requirements, the data file is unusable and the preprocessing process is terminated.
[0209] S8032. The remote server deletes data rows in the data file that meet any of the following conditions: the screen orientation is portrait, more than 4 fingers are used at the same time, the variable field is missing, the coordinates are out of bounds, or the format is incorrect.
[0210] S8033: The remote server counts the number of remaining data rows after removing data that does not meet the requirements. If the number exceeds 90% of the original number of received data rows, the data is deemed usable and S804 is executed. Otherwise, the data file is deemed unusable and the preprocessing process is exited.
[0211] S804: The remote server writes the preprocessed data into the database line by line.
[0212] In some embodiments, Tables 1 and 2 respectively illustrate schematic diagrams of user single-finger and multi-finger operation data collection. It can be seen that the data collection method of this application embodiment is compatible with the collection of both single-finger and multi-finger data. The data in fields such as horizontal and vertical coordinates, action type, and finger number are stored in array form, with each corresponding position representing information for the same finger. If it is single-finger data, the array length is 1; if it is multi-finger data, the array length is the same as the number of touchscreen fingers at the current moment.
[0213] Table 1
[0214] User ID x-axis coordinate Y-axis coordinate Action type Finger numbering Acceleration data p0183_198 [756.493] [213.157] [0] [0] [18.1,10.2,31.2] p0183_198 [767.215] [212.366] [1] [0] [27.5,16.1,26.7] p0183_198 [774.269] [273.094] [2] [0] [33.4,28.5,54.1]
[0215] Table 2
[0216]
[0217] It is understood that in the embodiments of this application, user information, such as operation data, is involved. When the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0218] It is understandable that by standardizing the data collection field standards and formats, and using a data collection SDK, this method collects multi-finger operation data from users on mobile smart terminal devices and encrypts and transmits it to a remote server. The remote server then decrypts and performs quality checks on the data. High-quality data that passes the checks is stored in a cloud database. This achieves a standardized and streamlined process for collecting multi-finger touchscreen operation data and provides high-quality data that can be used for various analyses. Compared to current methods for collecting touchscreen operation data, the method in this application has a complete and standardized process, strong portability and scalability, is applicable to multi-finger (including single-finger) operation, and offers high data security.
[0219] Furthermore, by designing a data acquisition SDK for application calls, multi-finger data acquisition can be easily deployed in various mobile smart terminal device application software and even system software, with strong portability.
[0220] Furthermore, by designing a data acquisition format and corresponding acquisition SDK for multi-finger touchscreen operation data that is also compatible with single-finger touchscreen operation, it covers the vast majority of mobile smart terminal device usage scenarios, enabling data acquisition to meet different usage needs and providing strong scalability.
[0221] In summary, the embodiments of this application standardize a unified framework for collecting user multi-finger operation data on mobile smart terminal devices. This framework includes the design of data fields, SDK design and usage, encrypted data transmission, and the overall process of server-side data decryption, preprocessing, and writing to the database. The overall framework is complete and highly scalable, providing enterprises and related organizations with a method and system for data collection in touchscreen data analysis.
[0222] This application also provides a data acquisition device for use in a terminal. Figure 14 This is a schematic diagram of the structure of the data acquisition device provided in the embodiments of this application; as shown below. Figure 14 As shown, the data acquisition device 11 includes:
[0223] The data acquisition module 111 is used to acquire data on the operation behavior corresponding to the current application according to a preset acquisition field, and obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier; the preset acquisition field includes a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of the at least one touch points that perform operations on the current application at the same time; the operation information field is used to characterize the operation behavior of the touch points and generate operation data in at least one dimension;
[0224] The generation module 112 is used to generate a target data file by correspondingly combining touch point identifiers and operation data according to a preset data format;
[0225] The sending module 113 is used to send the target data file to the server so that the server can identify the user of the current application based on the target data file.
[0226] In some embodiments, the acquisition module 111 is further configured to obtain at least one touch point that operates on the current application at the same time and number it according to the touch point identifier field in the preset acquisition field by calling the operating system interface of the terminal, thereby obtaining the at least one touch point identifier.
[0227] Based on at least one dimension in the operation information field, data is collected on the operation behavior of at least one touch point to obtain at least one operation data generated by the operation behavior of each touch point in the at least one dimension.
[0228] In some embodiments, the at least one operation data includes at least one of: pressure value of each touch point, screen coordinate value of the touch point on the terminal, contact area and action type; the action type is used to characterize the operation action corresponding to the touch point; the operation action includes at least one of: pressing, sliding and lifting.
[0229] In some embodiments, the preset data format includes an array format. The generation module 112 is further configured to organize the at least one touch point identifier into an array format to obtain a touch point identifier array; divide at least one operation data corresponding to each touch point identifier into dimensions according to each dimension of the at least one dimension to obtain a set of operation data corresponding to each dimension, thereby obtaining at least one set of operation data; each set of operation data in the at least one set of operation data includes at least one operation data generated by the at least one touch point in the corresponding dimension; organize each set of operation data into an operation data array according to the array position of each touch point identifier in the touch point identifier array to obtain an operation data array corresponding to each dimension, thereby obtaining at least one operation data array corresponding to the at least one dimension; the array position of each operation data in the operation data array is consistent with the array position of the touch point identifier corresponding to the operation data; obtain target acquisition data based on the touch point identifier array and the at least one operation data array; and generate the target data file using the target acquisition data.
[0230] In some embodiments, the preset acquisition fields further include at least one of an acquisition time field, an application information field, and a terminal information field. The generation module 112 is further configured to acquire at least one of the acquisition time corresponding to the acquisition time field, the application information corresponding to the application information field, and the terminal information corresponding to the terminal information field; based on the touch point identifier array and the at least one operation data array, combined with at least one of the acquisition time, the application information, and the terminal information, the target acquisition data is obtained; wherein, the application information includes at least one of the application name of the current application and the version information of the current application; the terminal information includes at least one of the sensor data of the terminal and the configuration information of the terminal; the sensor data includes at least one of the accelerometer data and the gyroscope data; the configuration information includes at least one of the brand information, model information, memory information, screen orientation, screen resolution, and screen refresh rate of the terminal.
[0231] In some embodiments, the generation module 112 is further configured to, during the operation of the current application, perform at least one data collection on the operation behavior corresponding to the current application according to a preset collection frequency, to obtain target collection data for each collection, until a preset file generation condition is met, to obtain at least one target collection data; and generate the target data file based on the at least one target collection data; wherein the preset file generation condition includes at least one of: the collection duration reaching a preset collection duration threshold, and the data volume of at least one target collection data reaching a preset data volume threshold.
[0232] In some embodiments, the generation module 112 further includes an encryption submodule, which is used to synchronize keys with the decryption service on the server to obtain an encryption key; use the encryption key to encrypt the at least one target collected data to obtain at least one target encrypted data; and generate the target data file based on the at least one target encrypted data.
[0233] In some embodiments, the data acquisition device 11 further includes a compression module, which is used to compress the target data file before sending the target data file to the server.
[0234] In some embodiments, the acquisition module 111 is further configured to, before acquiring data on the operation behavior corresponding to the current application according to the preset acquisition field, not acquire data on the current application if the preset acquisition conditions are not met, until the preset acquisition conditions are met, and then initiate data acquisition on the current application; wherein the preset acquisition conditions include at least one of the following: the current application is in a foreground running state, the current page of the current application is the main operation interface, and the operation duration on the main operation interface is greater than or equal to a preset operation duration threshold.
[0235] This application also provides a data acquisition device for use on a server. Figure 15 This is a schematic diagram of the structure of the data acquisition device provided in the embodiments of this application; as shown below. Figure 15 As shown, the data acquisition device 12 includes:
[0236] The receiving module 121 is used to receive a target data file sent by the terminal. The target data file is generated by the terminal collecting data on the operation behavior corresponding to the current application according to preset collection fields, obtaining at least one touch point identifier, and at least one operation data corresponding to each touch point identifier. It is also generated by combining the touch point identifiers and operation data according to a preset data format. The preset collection fields include a touch point identifier field and a predefined operation information field. The touch point identifier field is used to identify each of the at least one touch points that operate on the current application at the same time. The operation information field is used to characterize at least one dimension of operation data generated by the operation behavior of the touch points.
[0237] The inspection module 122 is used to perform a data validity check on the target data file;
[0238] Analysis module 123 is used to analyze the target data file if the validity check is passed, and to identify the user identity of the current application based on the analysis results.
[0239] In some embodiments, the inspection module 122 is further configured to: acquire model information in a target data file, wherein the model information represents the model of the terminal; determine that the data validity check passes if the model information is included in a preset model list; and / or determine that the data validity check passes if the original data volume corresponding to the target data file is greater than or equal to a preset data volume threshold; and / or delete data in the target data file that does not meet preset analysis conditions to obtain preprocessed data; determine that the data validity check passes if the difference between the data volume of the preprocessed data and the original data volume is less than or equal to a preset data volume error threshold; wherein the preset data analysis conditions include at least one of the following: the screen direction in the target acquisition data in the target data file is a first direction, the number of touch point identifiers at the same time is less than or equal to a preset touch point number threshold, the target acquisition data contains data corresponding to all preset acquisition fields, the screen coordinate values in the target acquisition data do not exceed preset screen coordinate boundary values, and the target acquisition data conforms to a preset data format; and / or verify the validity of the target data file using a message digest algorithm.
[0240] In some embodiments, the target data file contains target encrypted data, which is obtained by the terminal encrypting target collected data; the data encryption device 12 further includes: a decryption module, which is used to synchronize a key with the terminal to obtain a decryption key before performing a data validity check on the target data file; and to use the decryption key to decrypt the target encrypted data to obtain the target collected data.
[0241] It should be noted that the description of the above device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects. For technical details not disclosed in the device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0242] In some embodiments, this application also provides a terminal. Figure 16 This is a schematic diagram of an optional structure of a terminal provided in an embodiment of this application. For example... Figure 16 As shown, terminal 2 includes a first memory 22 and a first processor 23. The first memory 22 and the first processor 23 are connected via a first communication bus 24. The first memory 22 stores executable instructions. The first processor 23, when executing the executable instructions stored in the first memory 22, implements the method provided in this application embodiment, such as the data acquisition method applied to a terminal provided in this application embodiment.
[0243] In some embodiments, this application also provides a server. Figure 17This is a schematic diagram of an optional server structure provided in an embodiment of this application. For example... Figure 17 As shown, server 3 includes a second memory 32 and a second processor 33. The second memory 32 and the second processor 33 are connected via a second communication bus 34. The second memory 32 stores executable instructions. The second processor 33, when executing the executable instructions stored in the memory 32, implements the method provided in this application embodiment, such as the data acquisition method applied to a server provided in this application embodiment.
[0244] This application provides a computer-readable storage medium storing executable data acquisition instructions, which are used to implement the data acquisition method for a terminal provided in this application when executed by a first processor 23; or to implement the data acquisition method for a server provided in this application when executed by a second processor 33.
[0245] In some embodiments of this application, the storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a device that includes one or any combination of the above-mentioned memories.
[0246] In some embodiments of this application, executable data acquisition instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including being deployed as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0247] As an example, executable data acquisition instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborative files (e.g., files that store one or more modules, subroutines, or code sections).
[0248] As an example, executable data acquisition instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0249] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of hardware embodiments, software embodiments, or embodiments combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.
[0250] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0251] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0252] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0253] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.
Claims
1. A data acquisition method, characterized by, Applied to a terminal, comprising: According to a preset collection field, data collection is performed on an operation behavior corresponding to a current application, at least one touch point identifier and at least one operation data corresponding to each touch point identifier in the at least one touch point identifier are obtained; the preset collection field includes a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each of at least one touch point operating the current application at the same time; the operation information field is used to represent at least one dimension of operation data generated by the operation behavior of the touch point; According to a preset data format, a target data file is generated by corresponding combination of the touch point identifier and the operation data; The target data file is sent to a server, so that the server identifies a user identity of the current application according to the target data file; Wherein, according to the preset collection field, data collection is performed on an operation behavior corresponding to a current application, at least one touch point identifier and at least one operation data corresponding to each touch point identifier in the at least one touch point identifier are obtained, comprising: According to the touch point identifier field, at least one touch point operating the current application at the same time is collected, and each touch point is numbered to obtain a touch point identifier corresponding to each touch point, so as to identify at least one finger operating the current application; According to at least one dimension in the operation information field, operation data generated by the operation behavior of each touch point is collected to obtain at least one operation data corresponding to each touch point identifier; the at least one dimension is predefined according to the purpose of collecting data.
2. The method of claim 1, wherein, According to the preset collection field, data collection is performed on an operation behavior corresponding to a current application, at least one touch point identifier and at least one operation data corresponding to each touch point identifier in the at least one touch point identifier are obtained, comprising: By calling the operating system interface of the terminal, at least one touch point operating the current application at the same time is obtained and numbered according to the touch point identifier field in the preset collection field, to obtain the at least one touch point identifier; According to the at least one dimension in the operation information field, data collection is performed on the operation behavior of the at least one touch point to obtain the at least one operation data generated by the operation behavior of each touch point in the at least one dimension.
3. The method of claim 1 or 2, wherein: The at least one operation data includes at least one of a pressure value of each touch point, a screen coordinate value of the touch point on the terminal, a contact area and a motion type; the motion type is used to represent an operation motion corresponding to the touch point; the operation motion includes at least one of pressing, sliding and lifting.
4. The method of claim 2, wherein, The preset data format includes an array format, and the target data file is generated by corresponding combination of the touch point identifier and the operation data according to the preset data format, comprising: The at least one touch point identifier is organized into an array format to obtain a touch point identifier array; According to each dimension in the at least one dimension, each touch point is identified at least one operation data dimension, and a group of operation data corresponding to each dimension is obtained, thereby obtaining at least one group of operation data; each group of operation data in the at least one group of operation data contains at least one operation data generated by the at least one touch point in the corresponding dimension; According to the array position of each touch point identifier in the touch point identifier array, each group of operation data is correspondingly organized into an operation data array, and an operation data array corresponding to each dimension is obtained, thereby obtaining at least one operation data array corresponding to the at least one dimension; the array position of each operation data in the operation data array is consistent with the array position of the touch point identifier corresponding to the operation data; Based on the touch point identifier array and the at least one operation data array, target acquisition data is obtained; The target data file is generated by using the target acquisition data.
5. The method of claim 4, wherein, The preset acquisition field further includes at least one of an acquisition time field, an application information field, and a terminal information field; the target acquisition data is obtained based on the touch point identifier array and the at least one operation data array, including: At least one of the acquisition time corresponding to the acquisition time field, the application information corresponding to the application information field, and the terminal information corresponding to the terminal information field is obtained; The target acquisition data is obtained based on the touch point identifier array and the at least one operation data array, in combination with at least one of the acquisition time, the application information, and the terminal information; wherein The application information includes at least one of the application name of the current application and the version information of the current application; The terminal information includes at least one of sensor data of the terminal and configuration information of the terminal; the sensor data includes at least one of acceleration sensor data and gyroscope data; the configuration information includes at least one of brand information, model information, memory information, screen direction, screen resolution, and screen refresh rate of the terminal.
6. The method of claim 4, wherein, The target data file is generated by using the target acquisition data, including: During the running of the current application, at least one data acquisition of the operation behavior corresponding to the current application is performed according to a preset acquisition frequency, target acquisition data of each acquisition is obtained, and at least one target acquisition data is obtained until a preset file generation condition is met; The target data file is generated according to the at least one target acquisition data; The preset file generation condition includes at least one of an acquisition time length reaching a preset acquisition time length threshold and a data amount of at least one target acquisition data reaching a preset data amount threshold.
7. The method of claim 6, wherein, The target data file is generated according to the at least one target acquisition data, including: Key synchronization is performed with a decryption service on the server to obtain an encryption key; The at least one target acquisition data is encrypted by using the encryption key to obtain at least one target encrypted data; According to the at least one target encrypted data, the target data file is generated.
8. The method according to any one of claims 4-7, characterized in that, Before the target data file is sent to the server, the method further comprises: The target data file is compressed.
9. The method of any one of claims 1, 2, 4-7, wherein, Before the operation behavior corresponding to the current application is collected according to the preset collection field, the method further comprises: In the case that the preset collection condition is not met, the data collection of the current application is not performed until the preset collection condition is met, and the data collection of the current application is started; wherein The preset collection condition comprises at least one of the following: the current application is in a foreground running state, a current page of the current application is a main operation interface, and an operation time length on the main operation interface is greater than or equal to a preset operation time length threshold.
10. A data acquisition method characterized by, Applied to a server, comprising: Receiving a target data file sent by a terminal; the target data file is obtained by the terminal according to a preset collection field, collecting operation behaviors corresponding to a current application, obtaining at least one touch point identifier, and obtaining at least one operation data corresponding to each touch point identifier in the at least one touch point identifier, and generating the target data file according to a preset data format by corresponding combination of the touch point identifier and the operation data; the preset collection field contains a touch point identifier field and a predefined operation information field; the touch point identifier field is used to identify each touch point in at least one touch point for operating the current application at the same time; the at least one touch point corresponds to at least one finger for operating the current application; the operation information field is used to represent at least one dimension of operation data generated by the operation behavior of the touch point; the at least one operation data corresponding to each touch point identifier is obtained by collecting operation data generated by the operation behavior of each touch point according to at least one dimension in the operation information field; the at least one dimension is predefined according to the purpose of collecting data; Performing data validity check on the target data file; In the case that the validity check is passed, analyzing the target data file, and performing user identity recognition of the current application based on the analysis result.
11. The method of claim 10, wherein, The data validity check on the target data file comprises at least one of the following: Obtaining model information in the target data file, the model information representing the model of the terminal, and determining that the data validity check is passed in the case that a preset model list contains the model information; In the case that the amount of original data corresponding to the target data file is greater than or equal to a preset data amount threshold, it is determined that the data validity check is passed; Deleting data in the target data file that does not meet the preset data analysis condition to obtain preprocessed data, and determining that the data validity check is passed in the case that the difference between the amount of data in the preprocessed data and the amount of original data is less than or equal to a preset data amount error threshold; The preset data analysis condition comprises at least one of the following: a screen direction in target collection data in the target data file is a first direction, a number of touch point identifiers at a same time is less than or equal to a preset touch point number threshold, the target collection data contains data corresponding to all preset collection fields, screen coordinate values in the target collection data do not exceed preset screen coordinate boundary values, and the target collection data conforms to a preset data format. The target data file is verified for validity by using a message digest algorithm.
12. The method according to claim 10 or 11, characterized in that, The target data file contains target encrypted data, which is obtained by encrypting the target collection data by the terminal; before the data validity of the target data file is checked, the method further comprises: Synchronizing a key with the terminal to obtain a decryption key; The target encrypted data is decrypted by using the decryption key to obtain the target collection data.
13. A data acquisition system characterized by, The method comprises a terminal and a server. The terminal is configured to collect data of operation behaviors corresponding to a current application according to preset collection fields, to obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier in the at least one touch point identifier. The preset collection fields comprise a touch point identifier field and a predefined operation information field. The touch point identifier field is configured to identify each touch point in at least one touch point that operates the current application at a same time; and the operation information field is configured to represent at least one dimension of operation data generated by an operation behavior of a touch point. A target data file is generated by corresponding combination of the touch point identifier and the operation data according to a preset data format. The target data file is sent to the server. The method comprises: The at least one touch point that operates the current application at the same time is collected according to the touch point identifier field, and each touch point is numbered to obtain a touch point identifier corresponding to each touch point, so as to identify at least one finger that operates the current application; Operation data generated by the operation behavior of each touch point is collected according to at least one dimension in the operation information field to obtain at least one operation data corresponding to each touch point identifier; the at least one dimension is predefined according to a use of the collection data. The server is configured to analyze the target data file if it is determined that the target data file passes the validity check, and to identify a user identity of the current application based on an analysis result.
14. A data collection device applied to a terminal, characterized in that, The method comprises: A collection module is configured to collect data of operation behaviors corresponding to a current application according to preset collection fields, to obtain at least one touch point identifier and at least one operation data corresponding to each touch point identifier in the at least one touch point identifier. The preset collection fields comprise a touch point identifier field and a predefined operation information field. The touch point identification field is used to identify each of the at least one touch point operating the current application at the same time; and the operation information field is used to represent at least one dimension of operation data generated by the operation behavior of the touch point. The generating module is configured to generate a target data file by combining the touch point identification and the operation data according to a preset data format. The sending module is configured to send the target data file to a server to identify a user of the current application according to the target data file by the server. The collecting module is further configured to collect the at least one touch point operating the current application at the same time according to the touch point identification field, and number each touch point to obtain a touch point identification corresponding to each touch point, so as to identify at least one finger operating the current application. The operation data generated by the operation behavior of each touch point is collected according to at least one dimension in the operation information field, to obtain at least one operation data corresponding to each touch point identification; and the at least one dimension is predefined according to the purpose of the collected data.
15. A data collection device applied to a server, characterized in that, Comprising: The receiving module is configured to receive a target data file sent by a terminal. The target data file is generated by the terminal by combining the touch point identification and the operation data according to a preset data format, and is obtained by collecting operation data of operation behavior corresponding to a current application according to a preset collecting field, and at least one touch point identification and at least one operation data corresponding to each touch point identification in the at least one touch point identification; the preset collecting field includes a touch point identification field and a predefined operation information field. The touch point identification field is used to identify each of the at least one touch point operating the current application at the same time. The at least one touch point corresponds to at least one finger operating the current application; and the operation information field is used to represent at least one dimension of operation data generated by the operation behavior of the touch point. The at least one operation data corresponding to each touch point identification is obtained by collecting the operation data generated by the operation behavior of each touch point by the terminal according to at least one dimension in the operation information field. The at least one dimension is predefined according to the purpose of the collected data. The checking module is configured to perform data validity checking on the target data file. The analysis module is configured to analyze the target data file in a case where it is determined that the validity checking is passed, and to identify a user of the current application based on an analysis result.
16. A terminal, characterized by Comprising: The first memory is configured to store executable instructions. The first processor is configured to implement the method of any one of claims 1 to 9 by executing the executable instructions stored in the first memory.
17. A server, characterized by Comprising: The second memory is configured to store executable instructions. The second processor is configured to implement the method of any one of claims 10 to 12 by executing the executable instructions stored in the second memory.
18. A readable storage medium, characterized by, The computer program product has executable instructions stored therein for causing the first processor to implement the method of any one of claims 1 to 9 when executed by the first processor, or for causing the second processor to implement the method of any one of claims 10 to 12 when executed by the second processor.
Citation Information
Patent Citations
Information processing apparatus and control method thereof
CN103336660A
Attribute identification method, device and equipment of electronic equipment user and storage medium
CN112163571A