Embodiments of the present invention generally relate to data processing and data collection, and a more specifically, the embodiments of the present invention relate to a data process method and its corresponding system, and a data collecting method and its corresponding system.
Web user behavior analysis refers to, in the context of basic visits data obtained from websites, taking statistics and analysis on related data to find users' rules of visiting websites, and representing those rules and related data in the form of charts, etc. The contents of web user behavior analysis comprise user stay time, bounce rate of websites; difference in browsing custom between registered users and unregistered users; website paths visited by users; user visits at different times of a day, etc.
With the continuous abundance of mobile terminal applications, a great of demand has been recognized for performing user behavior analysis on applications installed on mobile terminals. These applications may comprise a webpage and other applications as well.
Currently, more popular web user behavior analysis software comprises Google® Analytics, Analog®, Webalizer, etc. However, current software of web user behavior analysis only can analyze clicks on links (URLs), that is, only can perform statistical analysis on the URL level, instead of statistical analysis on finer granularity (for example, unable to count clicks on some buttons on a webpage). Besides, the current software of web user behavior analysis does not support non-webpage analysis (for example, unable to realize analysis with respect to other applications).
In order to perform user behavior analysis on applications of mobile terminals, some mobile terminal applications begin to add functions of user behavior analysis on those applications. However, all of these functions of user behavior analysis have their codes intrusively implanted in applications. That is, source codes of these applications must be modified in order to add functions of user behavior analysis. For example, codes must be added to record in a log file events triggered after a button is clicked. If an application does not additionally or systematically provided with corresponding functions of user behavior analysis when it is released, it is very difficult to supplement such functions of user behavior analysis later. Furthermore, the current intrusive method only can add functions of user behavior analysis for each application individually and thus can not be commonly applied to all applications.
In order to address one or more problems in the prior art, the present invention provides a more effective solution of collecting and processing data for subsequent analysis on a mobile terminal.
A data processing method is provided in the present invention. The method comprises obtaining position data, the position data comprising a position of an operation performed by a user on a screen of a mobile terminal; obtaining a position-function mapping relationship, the position-function mapping relationship comprising correspondence between the position on the screen of the mobile terminal and a function of an application; and converting the position data into user behavior data according to the position-function mapping relationship, the user behavior data comprising the function of the application operated by the user on the screen of the mobile terminal.
A data collecting method is further provided in the present invention. The method comprises monitoring an operation performed by a user on a screen of a mobile terminal; recording the position of the operation performed by the user on the screen of the mobile terminal as position data; and sending the position data to convert the position data into user behavior data according to a position-function mapping relationship, wherein the position-function mapping relationship comprises correspondence between the position on the screen of the mobile terminal and a function of an application, the user behavior data comprises the function of the application operated by the user on the screen of the mobile terminal.
A data processing system is further provided in the present invention. The system comprises first obtaining means, configured to obtain position data, the position data comprising a position of an operation performed by a user on a screen of a mobile terminal; second obtaining means, configured to obtain a position-function mapping relationship, the position-function mapping relationship comprising correspondence between the position on the screen of the mobile terminal and a function of an application; and first conversion means, configured to convert the position data into user behavior data according to the position-function mapping relationship, the user behavior data comprising the function of the application operated by the user on the screen of the mobile terminal.
A data collection system is further provided in the present invention. The system comprises monitoring means, configured to monitor an operation performed by a user on a screen of a mobile terminal; recording means, configured to record the position of the operation performed by the user on the screen of the mobile terminal as position data; and sending means, configured to send the position data to convert the position data into user behavior data according to a position-function mapping relationship, wherein the position-function mapping relationship comprises correspondence between the position on the screen of the mobile terminal and a function of an application, the user behavior data comprises the function of the application operated by the user on the screen of the mobile terminal.
Compared to the prior art, at least one embodiment of the present invention has at least one of the following advantages: first, to collect user operations on a mobile terminal in a non-intrusive manner (that is, without modifying application codes); second, to facilitate analysis performed on various applications of the mobile terminal (not only webpages), so that analysis can be realized in finer granularity (instead of only on the URL level).
In the detailed description of specific embodiments hereinafter, the above and other advantages will be described in detail in connection with more particular embodiments.
Through the more detailed description of some embodiments of the present disclosure in the accompanying drawings, the above and other objects, features and advantages of the present disclosure will become more apparent, wherein the same reference generally refers to the same components in the embodiments of the present disclosure.
Some preferable embodiments will be described in more detail with reference to the accompanying drawings, in which the preferable embodiments of the present disclosure have been illustrated. However, the present disclosure can be implemented in various manners, and thus should not be construed to be limited to the embodiments disclosed herein. On the contrary, those embodiments are provided for the thorough and complete understanding of the present disclosure, and completely conveying the scope of the present disclosure to those skilled in the art.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. 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 may be provided to a processor of a general purpose computer, special purpose computer, 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, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
If the application is a web browser, the text described above is text on a webpage, and existing web application analytics software is unable to realize analysis described above, because existing web application analytics software only can take statistics of clicks on URLs, instead of statistics of clicks at finer granularity (for example, clicks on buttons).
If the application is another one rather than a web browser, in the prior art, clicks on each button only can be recorded through modifying the codes of the application in an intrusive manner. If a certain button is omitted to be recorded when the application is developed, or if it is not designed to record button-click events when the application was developed, and the application has been released, it is difficult to collect user click data in a non-intrusive manner.
Note although a description will be given taking a mobile phone as an example in the present invention, the present invention is not limited to data collection and processing on a mobile phone, and is applicable to a palm computer, a tablet computer, and other mobile terminals. Further, the screen of the mobile terminal in the present invention may be a touch screen or a non-touch screen.
Below, each step of
At step 303, the positions of the operations on the screen of the mobile terminal performed by the user are recorded as position data. Operation systems of many mobile terminals themselves have such a function of recording coordinates of user operations on touch screens. For example, in the Android® system, the x, y coordinate values of a current screen area operated by a user can be obtained through “float x=event.getX( );float y=event.getY( )”. The x, y coordinate values can be directly used as the position data or part of the position data, or the x, y coordinate values can be further processed (for example, they can be converted into a percentage of relative positions with respect to the X axis and the Y axis of the screen), and the result of the process can be used as the position data or part of the position data. According to one embodiment of the present invention, the position data may comprise at least one of a user ID, an application ID, a screen ID, a model of the screen of the mobile terminal, and a coordinate of an operation performed by a user on the screen of the mobile terminal. Wherein, the operation on the screen of the mobile terminal performed by a user comprises user's clicking on the touch screen and then releasing. One example of the position data is shown in Table 1 below.
In table 1, the screen model of the mobile terminal can be used to distinguish different models of screens of different mobile terminals, comprising different screen sizes, different resolutions and other information. The user ID is used to identify a certain user. The application ID is used to identify the application that is currently operated. According to one embodiment of the present invention, an opened application can be recorded in the form of a stack. That is, in response to the open of a new application, the application ID of the new application is added into a stack, and in response to the close of an application, the application ID that is lastly recorded in the stack is removed. In some cases, an application may comprise several screen display pages. In such cases, each screen page is assigned with an identifier number, i.e. a screen ID. The operation coordinate represents the position of the operation performed by the user on the screen of the mobile terminal.
According to different cases, the contents of Table 1 may be simplified. Optionally, since the position data may be ultimately used by users to perform application statistical analysis, if the statistic of user ID is not needed in the statistical analysis, the user ID may be excluded from the position data. Likewise, optionally, if statistics will be taken on applications on a single model of mobile terminal screen, or mobile terminals having a unique screen model, the mobile terminal screen ID may be excluded from the position data. Optionally, if statistics will be taken on only one page of an application (for example, there are not other screen pages, or no other screen pages need to be analyzed), the screen ID can be excluded from the position data. Optionally, if statistics will be taken on only one application, the application ID may be excluded from the position data.
In other embodiments, the contents of Table 1 can be further detailed to include other information. For example, it may also comprise user profile information, user stay time on a certain screen, whether or not a successful response has been made to a user operation, etc.
Note that the present invention does not have limitations on the data structure of the position data, which may be represented in a form, string, and any other data structure.
At step 305, the position data is sent to be converted into user behavior data according to a position-function mapping relationship, wherein the position-function mapping relationship comprises correspondence between positions on the screen of the mobile terminal and application functions, and the user behavior data comprises the function of the application operated by the user on the screen of the mobile terminal. The sending step may comprise sending the position data to a local data processing system, or sending the position data to a data processing system located on a remote server. If the position data will be sent to a local (on the mobile terminal) data processing system, the position data can be locally converted into user behavior data according to a position-function mapping relationship. If the position data will be sent to a data processing system located on a remote server, the position data can be converted into user behavior data according to a position-function mapping relationship on the remote server. Computing and storage resources on the mobile terminal can be further saved through performing the conversion on the remote server.
How to convert position data into user behavior data according to a position-function mapping relationship will be described in more detail hereinafter.
According to one embodiment of the present invention, the sending the position data further comprises sending the position data in response to the close of the application by the user. For example, all positions of all clicks of the user during one visit on the application can be packaged and sent. Thus, if the position data is sent to the remote server, network resources can be used more effectively, and network data transmission can be reduced.
Below, steps of
In table 2, the screen model of the mobile terminal can be used to distinguish different models of screens of different mobile terminals, comprising different screen sizes, different resolutions and other information. The application ID is used to identify an application. The screen ID is used to identify a certain screen of the application. The function ID and the function title are used to identify a function of the application on the screen (for example, an “Agree” button of
According to different cases, the contents of Table 2 may be simplified. Optionally, if statistics will be taken on an application on a single screen model of mobile terminal, or those mobile terminals have a unique screen model, the mobile terminal screen ID may be excluded from the position-function mapping relationship. Optionally, if statistics will be taken on only one page of the application (for example, there are not other screen pages, or no other screen pages need to be analyzed), the screen ID can be excluded from the position-function mapping relationship. Optionally, if statistics will be taken on only one application, application ID may be excluded from the position-function mapping relationship. Optionally, the function ID and the function title have substantially the same function in the present invention, and it is possible to only remain one of them. Optionally, the function-corresponding-coordinate region is a range of coordinates of a region corresponding to the function, or a result of a further process of the range of coordinates (for example, x, y coordinate can be converted into a percentage of relative positions with respect to the X axis and the Y axis of the screen). Further, optionally, the function-corresponding-coordinate region can be represented by digits or a figure.
The contents of Table 2 can be further detailed to include other information as needed.
Note that the present invention does not have limitations on the data structure of the position-function mapping relationship, which may be represented in a form, string, and any other data structure.
Furthermore, it will be mentioned that the present invention does not have limitations on the source of the position-function mapping relationship, and the position-function mapping relationship obtained at step 403 can be accessed locally or remotely.
Furthermore, the present invention does not have limitations on the execution sequence of steps 401 and 403. In other words, step 401 can be executed before step 403 or after step 403, or the two steps can be executed concurrently.
At step 405, the position data is converted into user behavior data according to the position-function mapping relationship, wherein the user behavior data comprises the function of the application operated by the user on the screen of the mobile terminal. According to an embodiment of the present invention, the user behavior data comprises at least one of a user ID, an application ID, a screen ID, a screen model of mobile terminal, a function ID, and a function title. In one example, the user behavior data may be as shown in Table 3 below.
The user ID, application ID, screen ID, screen model of mobile terminal, function ID, function title in Table 3 have the same meanings as that described above, and will not be described in detail. Note that, for the same screen page of the same application, the coordinate of an operation performed by a user on the screen of the mobile terminal in the position data and the function-corresponding-coordinate region in the position-function mapping relationship are further compared at step 405. If the coordinate of the operation performed by the user on the screen of the mobile terminal falls within the coordinate region (for example, in the above example, the coordinate “x=20, y=95” falls within the range “x[10,50], y[90 , 100]”), it indicates that the user has operated a function corresponding to the coordinate region (such as a click operation), then the position data is further converted into user behavior data.
According to different cases, the contents of Table 3 may be simplified. Optionally, if the statistic of user ID is not needed in the statistical analysis, the user ID may be excluded from the user behavior data. Optionally, if statistics will be taken on only one page of an application (for example, there are not other screen pages, or no other screen pages need to be analyzed), the screen ID can be excluded from the user behavior data. Optionally, if statistics will be taken on only one application, the application ID may be excluded from the user behavior data. Optionally, the function ID and the function title have substantially the same function in the present invention, and it is possible to only remain one of them. Optionally, if statistics will be taken on applications on a single screen model of mobile terminal, or those mobile terminals have a unique screen model, the mobile terminal screen ID may also be excluded from the user behavior data.
Optionally, the contents of Table 3 can be further detailed to include other information, for example, user profile information may be added, such that it is possible to analyze what application functions each group of users inclines to; also, user stay time on a certain screen page may be added to facilitate subsequent analysis and statistics on user visit time; further, whether a user operation has been responded successively can be added for subsequent statistics on the probability of visit errors.
Note that the present invention does not have limitations on the data structure of the position data, the user behavior data may be represented in a form, string, and any other data structure.
Optionally,
According to an embodiment of the present invention, the converted web user behavior data may be as shown in Table 4 below.
The first row of table 4 represents data types in the data specification for webpage analysis, the second row represents corresponding items in the user behavior data. The data specification for webpage analysis in Table 4 comprises a visitor IP, and step 407 further comprises using a user ID (such as mobile phone number) as the visitor IP in the web user behavior data. The data specification for webpage analysis in Table 4 comprises a page view URL, and step 407 further comprises using a function of an application on the mobile terminal (comprising an application ID, a screen ID and a function ID) as the page view URL in the web user behavior data. The data specification for webpage analysis in Table 4 comprises a page title, and step 407 further comprises using a function of an application on the mobile terminal (comprising an application ID, a screen ID and a function title) as the page title in the web user behavior data. The data specification for webpage analysis in Table 4 comprises a page request status, and step 407 further comprises using the user operation response status as the page request status in the web user behavior data. The data specification for webpage analysis in Table 4 comprises a browser model, and step 407 further comprises using the screen model of mobile terminal as the browser model in the web user behavior data.
According to different cases, the specific contents of Table 4 may be further detailed. For example, operation system, visit time, and the like also can be comprised in Table 4.
According to an embodiment of the present invention, the data processing method may further analyze visits to applications by users (not shown in the figure). The analysis on user visits to applications by users may comprise analyzing visits to applications by users based on the user behavior data, and/or analyzing visits to applications by users based on the web user behavior data by web user behavior analysis software.
A data collecting method and a data processing method of the present invention have been described above. Below, under the same inventive concept, a data collecting system and a data processing system will be described with reference to
According to an embodiment of the present invention, the position data further comprises at least one of a user ID, a screen ID, a screen model of mobile terminal, and a coordinate of an operation performed by a user on the screen of the mobile terminal.
According to an embodiment of the present invention, the sending means is further configured to send the position data in response to the close of an application.
According to an embodiment of the present invention, the position data further comprises at least one of a user ID, an application ID, a screen ID, a screen model of mobile terminal, and a coordinate of an operation performed by a user on the screen of the mobile terminal.
According to an embodiment of the present invention, the user behavior data further comprises at least one of a user ID, an application ID, a screen ID, a screen model of mobile terminal, a function ID, and a function title.
According to an embodiment of the present invention, the data processing system may further comprise second conversion means, which is configured to convert the user behavior data into web user behavior data according to data specification for webpage analysis, the data specification for webpage analysis comprising types of input data required by webpage analysis.
According to an embodiment of the present invention, the second conversion means is further configured to use a function of an application on the screen of the mobile terminal as a page URL in the web user behavior data.
According to an embodiment of the present invention, the data processing system further comprises analysis means, which is configured to analyze visits to the application by the user. According to another embodiment of the present invention, the data processing system does not comprise analysis means, and user visits to the application are analyzed by another system.
According to an embodiment of the present invention, the data collecting system shown in
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Number | Date | Country | Kind |
---|---|---|---|
201210092353.X | Mar 2012 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2013/072864 | 3/19/2013 | WO | 00 |