US20130232161A1 - Method and Apparatus of User Recognition and Information Distribution - Google Patents

Method and Apparatus of User Recognition and Information Distribution Download PDF

Info

Publication number
US20130232161A1
US20130232161A1 US13/779,446 US201313779446A US2013232161A1 US 20130232161 A1 US20130232161 A1 US 20130232161A1 US 201313779446 A US201313779446 A US 201313779446A US 2013232161 A1 US2013232161 A1 US 2013232161A1
Authority
US
United States
Prior art keywords
user
record
username
cookie
records
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/779,446
Inventor
Keping Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Assigned to ALIBABA GROUP HOLDING LIMITED reassignment ALIBABA GROUP HOLDING LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YANG, Keping
Publication of US20130232161A1 publication Critical patent/US20130232161A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30386
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Definitions

  • This disclosure relates to computer and internet technologies. More specifically, the disclosure relates to methods and apparatuses for user recognition and information distribution.
  • a service provider usually identifies users based on their online activities, and then provides tailored services to the identified users, thus improving service quality and reducing overhead of hardware.
  • Information related to user online activities can include cookie information and login information. It's difficult for the service provider to use the cookie information to identify users since the cookie information has a life cycle and varies with different browsers and Internet Protocol (IP) addresses.
  • IP Internet Protocol
  • the service provider may not be able to record user online activities when the user is in a non-login state.
  • login information e.g., a username
  • the service provider cannot accurately identify users based on their online activities. This presents a problem for the service provider, for example reducing quality and efficiency of its services, increasing overhead of its hardware, and lowering user experience.
  • the techniques include obtaining, by a server, multiple records each including a cookie in a predetermined time period. From the multiple records, the server retrieves one or more pieces of information (e.g., username), and individual pieces of information correspond to individual multiple records. The server may then identifying a record of the multiple records that has a username, and associate the record with a user identifier (ID) corresponding to the username. The server may then identify other records that do not have corresponding usernames. The server may determine user IDs for these records based on the cookie and the previously determined username.
  • one or more pieces of information e.g., username
  • ID user identifier
  • FIG. 1 illustrates an example architecture that includes server(s) for determining user identifiers (IDs) from user activities.
  • FIG. 2 illustrates an example process for associating user IDs with user activities.
  • FIG. 3 illustrates an example process for distributing information based on correspondences between user IDs and user activities.
  • FIG. 4 illustrates an example server that may be deployed in the architecture of FIG. 1
  • FIG. 1 illustrates an example architecture 100 that includes server(s) for determining user identifiers (IDs) from user activities.
  • the server generates or obtains user records including user online activities and associated information.
  • the associated information may include any information related to the user online activities.
  • the associated information may include usernames and authentication information.
  • the term “username” refers to an online user identifier associated with an account of an online service, or associated with certain online user activities. Examples of usernames include a login name, a screen name, a nickname, a handle and a user activity pattern that can be used to identify a certain user.
  • the server analyzes the user records to determine user identifiers (ID) corresponding to the user records, and then associates the user IDs with the user records to generate correspondences. Based on the correspondences, the server may distribute a message to a particular user ID, and the message is tailored based on a particular user record corresponding to the particular user ID.
  • ID refers to an ID that is assigned to a user and associated with an online service. In some instances, the user ID may be unique with respect to the online service. For example, a service provider may assign a user ID to a particular user based on his/her physical address and/or an official documents (e.g., driver licenses) issued by a government for the particular user.
  • the techniques are described in the context of users 102 ( 1 ), . . . , (N) operating computing devices 104 ( 1 ), . . . , (N) to access various online services over a network 106 .
  • the user 102 ( 1 ) may operate computing device 104 ( 1 ) to access online services hosted by a server 108 associated with a service provider 110 .
  • the service provider 110 may collects user activities and information associated with the user 102 ( 1 ), which are recorded in record(s) 112 .
  • the records 112 may include cookie information 114 and login information 116 that are associated with the user 102 ( 1 ).
  • the server 108 may analyze the records 112 to determine a user ID corresponding to a record of the records 112 , and associate the user ID with the record, which is discussed in greater detail in FIG. 2 .
  • the server may generate a record-user mapping 118 that associates the individual records 112 with corresponding user IDs.
  • the server 108 may distribute a message 120 to the user 102 ( 1 ), which is discussed in greater detail in FIG. 3 .
  • the message 120 may be generated and/or tailored based on a record of the records 112 that corresponds to a user ID of the user 102 ( 1 ).
  • the network 106 may include any one or combination of multiple different types of networks, such as cable networks, the internet, and wireless networks.
  • the computing device 104 may be implemented as any number of computing devices, including as a personal computer, a laptop computer, a portable digital assistant (PDA), a mobile phone, a set-top box, a game console, a personal media player (PMP), and so forth.
  • the computing device 104 is equipped with one or more processors and memory to store applications and data.
  • the server 108 may obtain multiple records associated with the user 102 ( 1 ), . . . , (N) in a predetermined time period.
  • the multiple records may include cookie information and login information associated with the user 102 ( 1 ), . . . , (N).
  • individual multiple records may include the cookie information 114 and the login information 116 .
  • each record of multiple records includes a cookie containing the cookie information 114 .
  • the server 108 may retrieve one or more usernames from the multiple records. In these instances, individual usernames correspond to a record of the multiple records. Then, the server 108 may identify a first record of the multiple records that has a corresponding username. Based on previously established correspondences between user IDs and usernames, the server may determine a first user ID associated with the corresponding username.
  • the server 108 may identify a second record of the multiple records that does not have a username. Then, the server 108 may determine a second user ID for the second record based on an acquiring time of the cookie and a login time of the corresponding username that is previously determined and associated with the first record.
  • the server 108 may associate the first user ID and the second user ID with the first record and the second record respectively to generate correspondences such as the record-user mapping 118 .
  • the server 108 may analyze a record of the multiple records to generate one or more notifications (e.g., the message 120 ), and distribute the one or more notifications to a user associated with a corresponding user ID based on the record-user mapping 118 .
  • FIG. 2 illustrates an example process 200 for associating user IDs with user activities.
  • the processes 200 and 300 are illustrated as collections of blocks in logical flow graphs, which represent sequences of operations that can be implemented in hardware, software, or a combination thereof.
  • the blocks represent computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the recited operations.
  • computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
  • the order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process.
  • the server 108 may create correspondences between usernames and user IDs.
  • a user ID is created for identifying a user, and each user record generated by the user is determined to be corresponding to the user ID.
  • the correspondences are represented by corresponding relationship between the usernames contained in the user records and the user IDs.
  • data generated by the same user may be aggregated, and the aggregated user records can be used for analyzing the activities of users.
  • the user records may include cookie information generated when a user accesses a website. If the user is in a login state when accessing the website, the user records include not only cookie information, but also login information of the user, such as a username used when the user accesses the website. In certain embodiments, the user records can also include a login password used when the user accesses the website. If the user is in a non-login state when accessing the website, the user records include only cookie information but do not include login information such as a username and a login password. In some instances, the user records may also include an active time of the corresponding cookie information and login time of the corresponding username.
  • a correspondence between the username and a user ID is created by analyzing the user records corresponding to the username.
  • a user ID uniquely identifies a user, and one username corresponds to only one user ID.
  • a user may use multiple usernames; therefore, multiple usernames used by a user only correspond to a user ID.
  • the usernames may be registered by the same user correspond to the same user ID according to the registration information of the user.
  • the server 108 may acquire the user records in an identification time period that contain the same cookie information.
  • the period of the identification time period can be set manually or after a predetermined time period.
  • the identification time period may be set to be one hour, one day, etc. Accordingly, the identification for the user ID corresponding to the user records can be carried out according to the user records in one hour or one day.
  • the server may determine the correspondences between the user records and the user IDs according to the time information corresponding to the cookie information, the username included in the user records, the login time information of the corresponding username, and the correspondences between the usernames and the user IDs.
  • the server 108 may determine whether each of the acquired user records, which contain the cookie information, contain a username. Based on the determination, the subsequent process may be divided into three cases.
  • the correspondences between the user records and the user IDs is determined according to the correspondences between the usernames and the user IDs.
  • the server 108 may determine that the user ID corresponding to the username corresponds to the user records. If there is no user ID corresponding to the username contained in the user record, the server 108 may create a new user ID corresponding to the username, and then determine that the new user ID corresponds to the user records. In a certain embodiment, after creating the new user ID, the server 108 may add the correspondence between the username and the new user ID to the correspondences between usernames and user IDs that has been created.
  • the user records may be divided into two parts: user record containing a username and user record not containing a username.
  • the correspondences between the user records that contain a username and the user IDs is determined according to the correspondences between the usernames and the user IDs.
  • the subsequent processing may be carried out in accordance with the following two cases based on whether there is a user ID corresponding to the username.
  • the server 108 may determine that the user ID corresponding to the username corresponds to the user records that contain the username. If there is no user ID corresponding to the username that is contained in the user record containing a username, the server 108 may create a new user ID corresponding to the username, and then determine that the new user ID corresponds to the user record that contains the username.
  • the server 108 may add the correspondence between the username and the new user ID to the correspondences between usernames and user IDs that has been created.
  • the correspondences between the user records that do not contain a username and the user IDs is determined according to the time information corresponding to the cookie information, the login time information of the usernames included in the user records, and the correspondences between the user records that contain a username and the user IDs.
  • the strategy A (a relatively loose scheme) is a strategy in which the user records, which do not contain a username, are determined to be directly corresponding to the user ID corresponding to the user records that contain the username.
  • the strategy B (a relatively conservative scheme) may determine the first active time t 1 and the last active time t 2 of the cookie information, and the first login time t 3 and the last login time t 4 of the username within the active time of the cookie information are acquired. Then, if the time difference between t 1 and t 3 is less than a preset threshold value and t 2 is equal to t 4 , determining that the user records that do not contain a username correspond to the user ID corresponding to the user records that contain a username.
  • the predetermined threshold value can be set manually or can be set according to the average accessing time length of users, for example it is set to be below 15 minutes or 30 minutes.
  • the strategy D (a relatively conservative scheme) is a strategy in which the user records that do not contain a username are directly discarded.
  • the strategy C (a relatively loose scheme) is as follows. Firstly, the first active time t 1 and the last active time t 2 of the cookie information, and the login time of multiple usernames corresponding to the user records that contain a username within the active time of the cookie information are acquired. Then, a time period from t 1 to t 2 is divided into multiple sub-time periods by using the login time of multiple usernames.
  • the server 108 may determine whether the user records in each sub-time period correspond to only one username. If the user records in each sub-time period correspond to only one username, the user records in a sub-time period that do not contain a username are determined to be corresponding to the user ID corresponding to the username at the starting point of the sub-time period. If the user records in each sub-time period do not correspond to only one username, the user records in the sub-time period that do not contain a username are discarded.
  • the user records that contain the username in the user records correspond to three usernames (user 1 , user 2 , user 3 ), and the login time within the active time of cookie A is respectively ⁇ user 1 , 12:00 ⁇ , ⁇ user 2 , 12:30 ⁇ , ⁇ user 1 , 13:00 ⁇ , ⁇ user 3 , 14:00 ⁇ .
  • the active time period of cookie A is divided into ⁇ user 1 , [12:00, 12:30) ⁇ , ⁇ user 2 [12:30, 13:00) ⁇ , ⁇ user 1 [13:00, 14:00) ⁇ , ⁇ user 3 , [14:00, 15:00] ⁇ .
  • the user records in the time period [12:00, 12:30) that do not contain a username are determined to be corresponding to the user ID corresponding to user 1
  • the user records in the time period [12:30, 13:00) that do not contain a username are determined to be corresponding to the user ID corresponding to user 2 , and so on. If the active time of a certain user record that does not contain a username is located on a time boundary point, the user record that does not contain a username can be allocated to the sub-time period with this time boundary point as its starting point.
  • the server 108 may acquire the user records in a reference time period that contain the cookie information.
  • the reference time period is a period of time before or after the identification time period.
  • the reference time period can be set to 3 days before or after the identification time period or 1 week before or after the identification time period.
  • the reference time period may be a non-continuous time period, or may be a special time period.
  • the reference time period may be set to working days in 15 days before the identification time period, or to be 12:00-20:00 in one week before the identification time period.
  • the reference time period can be preset manually.
  • the correspondences between the user records in the identification time period, which contain the cookie information and the user IDs is determined according to the correspondences between the user records in the reference time period that contain the cookie information and the user IDs.
  • the determination can be divided into the following conditions.
  • all the user records in the reference time period that contain the cookie information correspond to a same user ID, and the user ID is determined to be corresponding to the user records in the identification time period that contain the cookie information. That is, when the user records in the reference time period that contain the cookie information correspond to only one user ID, the cookie information in the identification time period should be considered as being generated by operations from the same user. Therefore, the user records in the identification time period that contain said cookie information are determined to be corresponding directly to the user ID.
  • the user records in the reference time period that contain the cookie information correspond to multiple user IDs, and the user records in the identification time period that contain the cookie information are discarded.
  • the reason may be that it is unable to accurately determine that the user records that contain this cookie information but does not contain a username is generated by operation of which user, as the user records in the reference time period that contain this cookie information correspond to multiple user IDs. Therefore, for the accuracy of identification, no processing is made to the information from which accurate identification results cannot be obtained, or this information is directly discarded.
  • the third condition there is no user record in the reference time period, which contains the cookie information or there is no user ID corresponding to user records in the reference time period, which contain the cookie information, and a new user ID is created and the new user ID is determined to be corresponding to the user records in the identification time period that contain the cookie information.
  • the newly created user ID can be used to identify a user who accesses the website in a “non-login” state, and its information is aggregated.
  • the “non-login” user can be identified according to the corresponding user ID.
  • processing is made respectively for the case that all the user records in the reference time period that contain the cookie information correspond to the same user ID, the case that all the user records in the reference time period that contain the cookie information correspond to multiple user IDs, and the case that there is no user ID or there is no user record in the reference time period that contains the cookie information.
  • the specific identifying and determining order in the various cases can be changed or adjusted as required, and the embodiments of the present application are not limited thereto.
  • the user records corresponding to one website may include multiple different cookie information, and the user records that contain the same cookie information can are processed respectively according to the process 200 described above, thereby achieving the aggregation for all the user records.
  • the embodiments of the application have the following advantages.
  • a method for aggregating user information is therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of network services, and reducing the overhead of the network-side server.
  • FIG. 3 illustrates an example process 300 for distributing information based on correspondences between user IDs and user activities.
  • the server 108 may determine the correspondences between each user record in the identification time period and user IDs according to the method described in the process 200 .
  • the server 108 may analyze a user record using correspondences between the user records and the user IDs.
  • the server 108 may distribute information to users associated with the user IDs according to the user records.
  • the aggregation on the user information is achieved.
  • the aggregation makes the analysis on activities of users more comprehensive and accurate.
  • Information distribution and/or delivery with greater pertinence may be performed by determining the features of users with various analysis methods in the prior art, so as to avoid the waste of delivery resources such as servers, network bandwidth due to the incomprehensive and inaccurate analysis, and thus improve the accuracy of information delivery and improve user experience.
  • Table 1 shows the correspondences between usernames and user IDs that has been created.
  • Table 2 shows all the user records in the identification time period, the user records include user records that do not contain a username and user records that contain a username.
  • cookie 1 corresponds to five user records, in which one user record corresponds to username User 1 , one user record corresponds to username User 2 , and three user records include no username.
  • Cookie 2 corresponds to three user records, in which one user record corresponds to username User 1 and two user records include no username.
  • For Cookie 3 there is one user record, and no username corresponds to this user record.
  • For Cookie 4 there is one user record, which corresponds to username User 1 .
  • For Cookie 5 there is one user record, which corresponds to username User 3 .
  • Username User 1 has a corresponding user ID User ID 1
  • Username User 2 has a corresponding user ID User ID 2
  • Username User 3 has no corresponding user ID.
  • the user identification process for the user records in the identification time period is divided into the following five cases for illustration:
  • Records 1 and 6 are user records that contain a username, and in the correspondences shown in table 1, each of the corresponding usernames has a corresponding user ID. Therefore, record 1 is determined to be corresponding directly to user ID User ID 1 corresponding to User 1 , and record 6 is determined to be corresponding to user ID User ID 2 corresponding to User 2 .
  • strategy D records 2 , 8 and 10 are directly discarded. If strategy C is used, the specific processing is as follows.
  • the first active time t 1 and the last active time t 2 of cookie 1 are acquired, which are 12:00 and 16:30, respectively. Also, the login time of multiple usernames (User 1 and User 2 ) corresponding to the user records that contain a username (records 1 and 6 ) in the active time of cookie 1 is acquired, where the login time of User 1 are 12:00, 13:30, 16:00 respectively and the login time of User 2 is 14:30.
  • the active period 12:00 to 16:30 of cookie 1 is divided into three time periods T 1 : (User 1 , 12:00-14:30), T 2 : (User 2 , 14:30-16:00), and T 3 : (User 1 , 16:00-16:30) by the login time of User 1 and User 2 , where T 1 and T 3 correspond to the username User 1 , and T 2 corresponds to the username User 2 .
  • the user records in three time periods T 1 , T 2 and T 3 that contain cookie 1 but do not contain a username are determined to be corresponding to the user IDs corresponding to User 1 , User 2 , User 1 . That is, record 2 (in a time period T 1 ) corresponds to user ID User ID 1 corresponding to User 1 , record 8 (in a time period T 2 ) corresponds to user ID User ID 2 corresponding to User 2 , and record 10 (in a time period T 1 ) corresponds to user ID User ID 1 corresponding to User 1 .
  • Record 4 is the user record that contains a username (User 1 ), and in the correspondences shown in Table 1, each of the corresponding usernames has a corresponding user ID. Therefore, record 4 is determined to be corresponding directly to user ID User ID 1 corresponding to User 1 .
  • strategy A records 4 and 5 directly correspond to user ID User ID 1 corresponding to User 1 . If strategy B is used, the specific processing is as follows.
  • the first active time t 1 and the last active time t 2 of cookie 2 are acquired, which are 13:00 and 14:00, respectively. Also, the first login time t 3 and the last login time t 4 of the user 1 in the active time of cookie 2 are acquired. Since there is only one login event for User 1 during this period, the first login time t 3 and the last login time t 4 both are 13:30.
  • record 7 is discarded directly. If there is no user record that contains cookie 3 in the reference time period, or the user records in the reference time period that contain cookie 3 correspond to none of user IDs, then a new user ID (e.g. User ID 3 ) is created, and record 7 corresponds to the user ID User ID 3 .
  • a new user ID e.g. User ID 3
  • Record 9 includes cookie 4 and a username User 1 , which corresponds to the first case described above. Since according to the correspondences shown in Table 1, User 1 corresponds to User ID 1 , so record 9 corresponds directly to the user ID User ID 1 corresponding to User 1 .
  • Record 10 there is one user record that contains cookie 5 (record 10 ).
  • Record 10 includes cookie 5 and a username User 3 , which corresponds to the first case described above. Since according to the correspondences shown in Table 1, User 3 has no corresponding User ID, so a new user ID corresponding to User 3 is created, such as User ID 4 , and it is determined that the new user ID User ID 4 corresponds to record 10 .
  • the embodiments of the application has the following advantages.
  • a method for aggregating user information and a method for information delivery are therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of network services, as well as reducing the overhead of the network-side server.
  • FIG. 4 illustrates an example server 108 that may be deployed in the architecture of FIG. 1 .
  • the server 108 may be configured as any suitable computing device(s).
  • the server 108 includes one or more processors 402 , input/output interfaces 404 , network interface 406 , and memory 408 .
  • the memory 408 may include computer-readable media in the form of volatile memory, such as random-access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM.
  • RAM random-access memory
  • ROM read only memory
  • flash RAM flash random-access memory
  • Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
  • computer-readable media does not include transitory media such as modulated data signals and carrier waves.
  • the memory 408 may include a creation module 410 , an acquisition module 412 , and a determination module 414
  • the creation module 410 is configured to create correspondences between login information and user identifiers, wherein one piece of login information corresponds to one user identifier, and one user identifier corresponds to one or more pieces of login information.
  • the creation module 410 creates a user identifier for identifying a user, and the user records generated by each user are determined to be corresponding to the user identifier, the correspondences are represented by the corresponding relationship between the usernames contained in the user records and the user identifiers.
  • data generated by a user is aggregated, and the aggregated user records can be used for analyzing user activities.
  • the acquisition module 412 is configured to acquire or obtain user records in the identification time period that contain the same cookie information.
  • the size of the identification time period can be set experientially or can be set to be a predetermined time length.
  • the determination module 414 is configured to determine the correspondences between the user records and the user identifiers according to the login information included in the user records that is acquired by the acquisition module 412 , the login time information of corresponding login information, the time information corresponding to the cookie information, and the correspondences between the login information and the user identifiers that is created by the creation module 410 .
  • the determining module 414 includes a judgment sub-module 416 and a processing sub-module 418 .
  • the judgment sub-module 416 is configured to determine whether all the acquired user records that contain the cookie information contain a username.
  • the processing sub-module 418 is configured to perform subsequent processing according to the determination results from the judgment sub-module 416 .
  • the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the first case in the aforementioned process 200 .
  • the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the second case in the aforementioned process 200 .
  • the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the third case in the aforementioned process 200 .
  • the memory 408 may also include an information delivery unit 420 configured to distribute information to users corresponding to user identifiers according to the user records corresponding to the user identifiers.
  • the information delivery unit 420 may be implemented by a server different from the server 108 .
  • a method for aggregating user information and a method for information delivery are therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of online services, as well as reducing the overhead of hardware such as the server 108 .
  • modules in the apparatus can be distributed in the apparatus in the embodiments as described in the embodiments, and can also be positioned in one or more apparatuses different from the apparatus in the embodiments.
  • the modules of the above embodiments can be combined into one module, and can also be split into multiple sub-modules.
  • the present application can be implemented by means of software plus a necessary universal hardware platform, and can also be implemented by hardware, but in many cases the former is a preferable embodiment.
  • the technical solution of the present application or the part that contributes to the prior art can be substantially embodied in a form of software product.
  • the computer software product is stored in a storage medium and includes several instructions that can make a terminal equipment (that may be a mobile phone, a personal computer, a server, or a network equipment, etc.) perform the method of the embodiments of the present application.

Abstract

Techniques for user recognition and information distribution are described herein. These techniques may include obtaining, by a server, multiple records including a cookie in a predetermined time period. From the multiple records, the server retrieves one or more pieces of information (e.g., usernames), and individual pieces of information correspond to individual multiple records. The server may then identifying a record of the multiple records that has a username, and associate the record with a user identifier (ID) corresponding to the username. The multiple records may also include records that do not have corresponding usernames. The server may determine user IDs for these records based on the cookie and the previously determined username.

Description

    CROSS REFERENCE TO RELATED PATENT APPLICATIONS
  • This application claims priority to Chinese Patent Application No. 201210052802.8, filed on Mar. 2, 2012, entitled “Method and Apparatus for User Recognition and Information Distribution,” which is hereby incorporated by reference in its entirety.
  • TECHNICAL FIELD
  • This disclosure relates to computer and internet technologies. More specifically, the disclosure relates to methods and apparatuses for user recognition and information distribution.
  • BACKGROUND
  • A service provider usually identifies users based on their online activities, and then provides tailored services to the identified users, thus improving service quality and reducing overhead of hardware. Information related to user online activities can include cookie information and login information. It's difficult for the service provider to use the cookie information to identify users since the cookie information has a life cycle and varies with different browsers and Internet Protocol (IP) addresses.
  • However, if login information (e.g., a username) is used to identify a user, the service provider may not be able to record user online activities when the user is in a non-login state. Thus, using conventional technologies, the service provider cannot accurately identify users based on their online activities. This presents a problem for the service provider, for example reducing quality and efficiency of its services, increasing overhead of its hardware, and lowering user experience.
  • SUMMARY
  • Described herein are techniques for user recognition and information distribution. The techniques include obtaining, by a server, multiple records each including a cookie in a predetermined time period. From the multiple records, the server retrieves one or more pieces of information (e.g., username), and individual pieces of information correspond to individual multiple records. The server may then identifying a record of the multiple records that has a username, and associate the record with a user identifier (ID) corresponding to the username. The server may then identify other records that do not have corresponding usernames. The server may determine user IDs for these records based on the cookie and the previously determined username.
  • This Summary is not intended to identify all key features or essential features of the claimed subject matter, nor is it intended to be used alone as an aid in determining the scope of the claimed subject matter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The Detailed Description is described with reference to the accompanying figures. The use of the same reference numbers in different figures indicates similar or identical items.
  • FIG. 1 illustrates an example architecture that includes server(s) for determining user identifiers (IDs) from user activities.
  • FIG. 2 illustrates an example process for associating user IDs with user activities.
  • FIG. 3 illustrates an example process for distributing information based on correspondences between user IDs and user activities.
  • FIG. 4 illustrates an example server that may be deployed in the architecture of FIG. 1
  • DETAILED DESCRIPTION
  • The discussion below describes specific exemplary embodiments of the present disclosure. The exemplary embodiments described here are for exemplary purposes only, and are not intended to limit the present disclosure.
  • FIG. 1 illustrates an example architecture 100 that includes server(s) for determining user identifiers (IDs) from user activities. The server generates or obtains user records including user online activities and associated information. The associated information may include any information related to the user online activities. For example, the associated information may include usernames and authentication information. As used herein, the term “username” refers to an online user identifier associated with an account of an online service, or associated with certain online user activities. Examples of usernames include a login name, a screen name, a nickname, a handle and a user activity pattern that can be used to identify a certain user.
  • In some embodiments, the server analyzes the user records to determine user identifiers (ID) corresponding to the user records, and then associates the user IDs with the user records to generate correspondences. Based on the correspondences, the server may distribute a message to a particular user ID, and the message is tailored based on a particular user record corresponding to the particular user ID. As used herein, the term “user ID” refers to an ID that is assigned to a user and associated with an online service. In some instances, the user ID may be unique with respect to the online service. For example, a service provider may assign a user ID to a particular user based on his/her physical address and/or an official documents (e.g., driver licenses) issued by a government for the particular user.
  • In the illustrated embodiment, the techniques are described in the context of users 102(1), . . . , (N) operating computing devices 104(1), . . . , (N) to access various online services over a network 106. For example, the user 102(1) may operate computing device 104(1) to access online services hosted by a server 108 associated with a service provider 110. The service provider 110 may collects user activities and information associated with the user 102(1), which are recorded in record(s) 112. For example, the records 112 may include cookie information 114 and login information 116 that are associated with the user 102(1).
  • The server 108 may analyze the records 112 to determine a user ID corresponding to a record of the records 112, and associate the user ID with the record, which is discussed in greater detail in FIG. 2. In some instances, the server may generate a record-user mapping 118 that associates the individual records 112 with corresponding user IDs. Using the record-user mapping 118, the server 108 may distribute a message 120 to the user 102(1), which is discussed in greater detail in FIG. 3. The message 120 may be generated and/or tailored based on a record of the records 112 that corresponds to a user ID of the user 102(1).
  • Here, the network 106 may include any one or combination of multiple different types of networks, such as cable networks, the internet, and wireless networks. The computing device 104, meanwhile, may be implemented as any number of computing devices, including as a personal computer, a laptop computer, a portable digital assistant (PDA), a mobile phone, a set-top box, a game console, a personal media player (PMP), and so forth. The computing device 104 is equipped with one or more processors and memory to store applications and data.
  • In some embodiments, the server 108 may obtain multiple records associated with the user 102(1), . . . , (N) in a predetermined time period. The multiple records may include cookie information and login information associated with the user 102(1), . . . , (N). In some instances, individual multiple records may include the cookie information 114 and the login information 116. In certain embodiments, each record of multiple records includes a cookie containing the cookie information 114.
  • In some embodiments, the server 108 may retrieve one or more usernames from the multiple records. In these instances, individual usernames correspond to a record of the multiple records. Then, the server 108 may identify a first record of the multiple records that has a corresponding username. Based on previously established correspondences between user IDs and usernames, the server may determine a first user ID associated with the corresponding username.
  • In these embodiments, the server 108 may identify a second record of the multiple records that does not have a username. Then, the server 108 may determine a second user ID for the second record based on an acquiring time of the cookie and a login time of the corresponding username that is previously determined and associated with the first record.
  • In some embodiments, the server 108 may associate the first user ID and the second user ID with the first record and the second record respectively to generate correspondences such as the record-user mapping 118. In these instances, the server 108 may analyze a record of the multiple records to generate one or more notifications (e.g., the message 120), and distribute the one or more notifications to a user associated with a corresponding user ID based on the record-user mapping 118.
  • FIG. 2 illustrates an example process 200 for associating user IDs with user activities. The processes 200 and 300 are illustrated as collections of blocks in logical flow graphs, which represent sequences of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process.
  • At 202, the server 108 may create correspondences between usernames and user IDs. In some embodiments, to achieve aggregation on the user records, a user ID is created for identifying a user, and each user record generated by the user is determined to be corresponding to the user ID. The correspondences are represented by corresponding relationship between the usernames contained in the user records and the user IDs. Thus, data generated by the same user may be aggregated, and the aggregated user records can be used for analyzing the activities of users.
  • The user records may include cookie information generated when a user accesses a website. If the user is in a login state when accessing the website, the user records include not only cookie information, but also login information of the user, such as a username used when the user accesses the website. In certain embodiments, the user records can also include a login password used when the user accesses the website. If the user is in a non-login state when accessing the website, the user records include only cookie information but do not include login information such as a username and a login password. In some instances, the user records may also include an active time of the corresponding cookie information and login time of the corresponding username.
  • Here, when a new username is generated, a correspondence between the username and a user ID is created by analyzing the user records corresponding to the username. A user ID uniquely identifies a user, and one username corresponds to only one user ID. In some instances, a user may use multiple usernames; therefore, multiple usernames used by a user only correspond to a user ID. For example, the usernames may be registered by the same user correspond to the same user ID according to the registration information of the user.
  • At 204, the server 108 may acquire the user records in an identification time period that contain the same cookie information. In some embodiments, the period of the identification time period can be set manually or after a predetermined time period. For example, the identification time period may be set to be one hour, one day, etc. Accordingly, the identification for the user ID corresponding to the user records can be carried out according to the user records in one hour or one day.
  • At 206, the server may determine the correspondences between the user records and the user IDs according to the time information corresponding to the cookie information, the username included in the user records, the login time information of the corresponding username, and the correspondences between the usernames and the user IDs. In a certain embodiment, the server 108 may determine whether each of the acquired user records, which contain the cookie information, contain a username. Based on the determination, the subsequent process may be divided into three cases.
  • In the first case, if each of the user records contains a username, the correspondences between the user records and the user IDs is determined according to the correspondences between the usernames and the user IDs.
  • Further, if there is a user ID corresponding to the username contained in the user record, the server 108 may determine that the user ID corresponding to the username corresponds to the user records. If there is no user ID corresponding to the username contained in the user record, the server 108 may create a new user ID corresponding to the username, and then determine that the new user ID corresponds to the user records. In a certain embodiment, after creating the new user ID, the server 108 may add the correspondence between the username and the new user ID to the correspondences between usernames and user IDs that has been created.
  • In the second case, only a part of the user records contain a username and the rest of records do not contain a username. In this case, the user records may be divided into two parts: user record containing a username and user record not containing a username.
  • With respect to user record containing a username, the correspondences between the user records that contain a username and the user IDs is determined according to the correspondences between the usernames and the user IDs. Here, in processing the user records that contain a username, considering that according to the correspondences between the usernames and the user IDs that has been created, there may be a case in which there is a username having no corresponding user ID. In these instance, the subsequent processing may be carried out in accordance with the following two cases based on whether there is a user ID corresponding to the username.
  • If there is a user ID corresponding to the username that is contained in the user record containing a username, the server 108 may determine that the user ID corresponding to the username corresponds to the user records that contain the username. If there is no user ID corresponding to the username that is contained in the user record containing a username, the server 108 may create a new user ID corresponding to the username, and then determine that the new user ID corresponds to the user record that contains the username.
  • In a practical embodiment, after creating the new user ID, the server 108 may add the correspondence between the username and the new user ID to the correspondences between usernames and user IDs that has been created.
  • With respect to user record not containing a username, the correspondences between the user records that do not contain a username and the user IDs is determined according to the time information corresponding to the cookie information, the login time information of the usernames included in the user records, and the correspondences between the user records that contain a username and the user IDs.
  • In the first scenario, if all the user records, which contain usernames, correspond to a same username, different strategies may be selected according to the features of different user records generated when the user accesses different websites. For example, the strategy A (a relatively loose scheme) is a strategy in which the user records, which do not contain a username, are determined to be directly corresponding to the user ID corresponding to the user records that contain the username.
  • For example, the strategy B (a relatively conservative scheme) may determine the first active time t1 and the last active time t2 of the cookie information, and the first login time t3 and the last login time t4 of the username within the active time of the cookie information are acquired. Then, if the time difference between t1 and t3 is less than a preset threshold value and t2 is equal to t4, determining that the user records that do not contain a username correspond to the user ID corresponding to the user records that contain a username. If the time difference between t1 and t3 is greater than the preset threshold value or t2 is not equal to T4, determining that the user records that do not contain a username in a time period with t3 being the start time and the smaller one in t2 and t4 being the end time correspond to the user ID corresponding to the user records that contain a username.
  • Here, the predetermined threshold value can be set manually or can be set according to the average accessing time length of users, for example it is set to be below 15 minutes or 30 minutes.
  • In the second scenario, if the user records that contain a username correspond to multiple usernames. Considering the accuracy of identification results, there are two schemes: a loose scheme and a conservative scheme. For ease of description, the two schemes are referred to as strategy C and strategy D respectively in the subsequent description of the present embodiment.
  • For example, the strategy D (a relatively conservative scheme) is a strategy in which the user records that do not contain a username are directly discarded. The strategy C (a relatively loose scheme) is as follows. Firstly, the first active time t1 and the last active time t2 of the cookie information, and the login time of multiple usernames corresponding to the user records that contain a username within the active time of the cookie information are acquired. Then, a time period from t1 to t2 is divided into multiple sub-time periods by using the login time of multiple usernames.
  • In these instances, the server 108 may determine whether the user records in each sub-time period correspond to only one username. If the user records in each sub-time period correspond to only one username, the user records in a sub-time period that do not contain a username are determined to be corresponding to the user ID corresponding to the username at the starting point of the sub-time period. If the user records in each sub-time period do not correspond to only one username, the user records in the sub-time period that do not contain a username are discarded.
  • For example, assuming that in the user records, the first active time t1 of cookie A is 12:00 and the last active time t2 of cookie A is 15:00, the user records that contain the username in the user records correspond to three usernames (user1, user2, user3), and the login time within the active time of cookie A is respectively {user1, 12:00}, {user2, 12:30}, {user1, 13:00}, {user3, 14:00}. Therefore, according to the login time corresponding to these usernames, the active time period of cookie A is divided into {user1, [12:00, 12:30)}, {user2 [12:30, 13:00)}, {user1 [13:00, 14:00)}, {user3, [14:00, 15:00]}. The user records in the time period [12:00, 12:30) that do not contain a username are determined to be corresponding to the user ID corresponding to user1, and the user records in the time period [12:30, 13:00) that do not contain a username are determined to be corresponding to the user ID corresponding to user2, and so on. If the active time of a certain user record that does not contain a username is located on a time boundary point, the user record that does not contain a username can be allocated to the sub-time period with this time boundary point as its starting point.
  • In the third case, none of the user records contains a username. In this case, the server 108 may acquire the user records in a reference time period that contain the cookie information. Here, the reference time period is a period of time before or after the identification time period. For example, the reference time period can be set to 3 days before or after the identification time period or 1 week before or after the identification time period. The reference time period may be a non-continuous time period, or may be a special time period. For example, the reference time period may be set to working days in 15 days before the identification time period, or to be 12:00-20:00 in one week before the identification time period. The reference time period can be preset manually.
  • Then, the correspondences between the user records in the identification time period, which contain the cookie information and the user IDs, is determined according to the correspondences between the user records in the reference time period that contain the cookie information and the user IDs. In these instances, according to the difference of the correspondences between the user records in the reference time period, which contain the cookie information and the user IDs, the determination can be divided into the following conditions.
  • In the first condition, all the user records in the reference time period that contain the cookie information correspond to a same user ID, and the user ID is determined to be corresponding to the user records in the identification time period that contain the cookie information. That is, when the user records in the reference time period that contain the cookie information correspond to only one user ID, the cookie information in the identification time period should be considered as being generated by operations from the same user. Therefore, the user records in the identification time period that contain said cookie information are determined to be corresponding directly to the user ID.
  • In the second condition, the user records in the reference time period that contain the cookie information correspond to multiple user IDs, and the user records in the identification time period that contain the cookie information are discarded. The reason may be that it is unable to accurately determine that the user records that contain this cookie information but does not contain a username is generated by operation of which user, as the user records in the reference time period that contain this cookie information correspond to multiple user IDs. Therefore, for the accuracy of identification, no processing is made to the information from which accurate identification results cannot be obtained, or this information is directly discarded.
  • In the third condition, there is no user record in the reference time period, which contains the cookie information or there is no user ID corresponding to user records in the reference time period, which contain the cookie information, and a new user ID is created and the new user ID is determined to be corresponding to the user records in the identification time period that contain the cookie information.
  • In this condition, if there is no user record in the reference time period that contains the cookie information, it indicates that no user performs such a website accessing operation before. Therefore, such cookie information is a new record, and a new user ID can be created to indicate this new record.
  • If there are user records in the reference time period that contain said cookie information but the user records do not contain any username, it indicates that no user performs such a website accessing operation in the login state before. The newly created user ID can be used to identify a user who accesses the website in a “non-login” state, and its information is aggregated. When a “non-login” user with the same cookie information accesses the website, the “non-login” user can be identified according to the corresponding user ID.
  • In these embodiments, processing is made respectively for the case that all the user records in the reference time period that contain the cookie information correspond to the same user ID, the case that all the user records in the reference time period that contain the cookie information correspond to multiple user IDs, and the case that there is no user ID or there is no user record in the reference time period that contains the cookie information. The specific identifying and determining order in the various cases can be changed or adjusted as required, and the embodiments of the present application are not limited thereto.
  • In the identification time period, the user records corresponding to one website may include multiple different cookie information, and the user records that contain the same cookie information can are processed respectively according to the process 200 described above, thereby achieving the aggregation for all the user records.
  • As compared with the prior art, the embodiments of the application have the following advantages. By using the technical solution according to the embodiments of the present application, in which all the user records in the identification time period that contain the same cookie information are acquired after the correspondences between the login information and the user IDs is created, and the correspondences between the user records and the user IDs is determined according to the time information corresponding to said cookie information, the login information contained in the user records, the login time information of corresponding login information, and the correspondences between the login information and the user IDs, a method for aggregating user information is therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of network services, and reducing the overhead of the network-side server.
  • FIG. 3 illustrates an example process 300 for distributing information based on correspondences between user IDs and user activities. At 302, the server 108 may determine the correspondences between each user record in the identification time period and user IDs according to the method described in the process 200. At 304, the server 108 may analyze a user record using correspondences between the user records and the user IDs. At 306, the server 108 may distribute information to users associated with the user IDs according to the user records.
  • After the correspondences between the user records and the user IDs is created, the aggregation on the user information is achieved. The aggregation makes the analysis on activities of users more comprehensive and accurate. Information distribution and/or delivery with greater pertinence may be performed by determining the features of users with various analysis methods in the prior art, so as to avoid the waste of delivery resources such as servers, network bandwidth due to the incomprehensive and inaccurate analysis, and thus improve the accuracy of information delivery and improve user experience.
  • Hereinafter, the technical solution proposed by the embodiments of the present application will be described in combination with an embodiment. Table 1 shows the correspondences between usernames and user IDs that has been created.
  • TABLE 1
    Correspondences between username and user ID
    Username User ID
    User1 User ID 1
    User2 User ID 2
    User 3
  • Table 2 shows all the user records in the identification time period, the user records include user records that do not contain a username and user records that contain a username.
  • TABLE 2
    User records in identification time period
    user record in cookie information in
    identification time period user record Username Time
    record
    1 cookie1 User1 12:00
    record 2 cookie1 12:30
    record 3 cookie2 13:00
    record 4 cookie2 User1 13:30
    record 5 cookie2 14:00
    record 6 cookie1 User2 14:30
    record 7 cookie3 15:00
    record 8 cookie1 15:30
    record 9 cookie4 User1 16:00
    record 10 cookie5 User3 16:15
    record 11 cookie1 16:30
  • As illustrated by table 2, cookie1 corresponds to five user records, in which one user record corresponds to username User1, one user record corresponds to username User2, and three user records include no username. Cookie2 corresponds to three user records, in which one user record corresponds to username User1 and two user records include no username. For Cookie3, there is one user record, and no username corresponds to this user record. For Cookie4, there is one user record, which corresponds to username User1. For Cookie5, there is one user record, which corresponds to username User3.
  • Referring to contents in table 1, it can be known that: Username User1 has a corresponding user ID User ID1; Username User2 has a corresponding user ID User ID2; Username User3 has no corresponding user ID.
  • Based on the above information, according to the difference of the contained cookie information, the user identification process for the user records in the identification time period is divided into the following five cases for illustration:
  • In the first case, there are five user records that contain cookie1 (records 1, 2, 6, 8, and 11). Records 1 and 6 are user records that contain a username, and in the correspondences shown in table 1, each of the corresponding usernames has a corresponding user ID. Therefore, record 1 is determined to be corresponding directly to user ID User ID1 corresponding to User1, and record 6 is determined to be corresponding to user ID User ID2 corresponding to User2.
  • For the user records that contain cookie1 but do not contain a username (records 2, 8 and 10), since the user records that contain cookie1 and a username (records 1 and 6) correspond to different usernames User1 and User2 respectively, this corresponds to the application scenario described in the second scenario in the second case described above, i.e., only a part of the user records contain a username (records 1 and 6) and the rest do not contain a username (records 2, 8, and 10), and the user records that contain a username corresponds to multiple usernames (User1 and User2). Therefore, firstly it is determined whether strategy C (a relatively loose scheme) or strategy D (a relatively conservative scheme) is used, the specific determination rules can be set according to actual needs. Such changes do not affect the scope of protection of the present application.
  • If strategy D is used, records 2, 8 and 10 are directly discarded. If strategy C is used, the specific processing is as follows.
  • Firstly, the first active time t1 and the last active time t2 of cookie1 are acquired, which are 12:00 and 16:30, respectively. Also, the login time of multiple usernames (User1 and User2) corresponding to the user records that contain a username (records 1 and 6) in the active time of cookie1 is acquired, where the login time of User1 are 12:00, 13:30, 16:00 respectively and the login time of User2 is 14:30.
  • Based on the acquired time information described above, the active period 12:00 to 16:30 of cookie1 is divided into three time periods T1: (User1, 12:00-14:30), T2: (User2, 14:30-16:00), and T3: (User1, 16:00-16:30) by the login time of User1 and User2, where T1 and T3 correspond to the username User1, and T2 corresponds to the username User2.
  • It should be noted that since there is no other username for login during the login time of User1 between 12:00 and 13:30, the time periods corresponding to the two login time are directly linked together, i.e. T1.
  • After completion of the time period division mentioned above, the user records in three time periods T1, T2 and T3 that contain cookie1 but do not contain a username are determined to be corresponding to the user IDs corresponding to User1, User2, User1. That is, record 2 (in a time period T1) corresponds to user ID User ID1 corresponding to User1, record 8 (in a time period T2) corresponds to user ID User ID2 corresponding to User2, and record 10 (in a time period T1) corresponds to user ID User ID1 corresponding to User1.
  • In the second case, there are three user records that contain cookie2 (records 3, 4, 5). Record 4 is the user record that contains a username (User1), and in the correspondences shown in Table 1, each of the corresponding usernames has a corresponding user ID. Therefore, record 4 is determined to be corresponding directly to user ID User ID1 corresponding to User1.
  • For the user records that contain cookie2 but do not contain a username (records 3 and 5), since the user records that contain cookie2 and a username correspond to only one username User1, this corresponds to the application scenario described in the first scenario in the second case described above, i.e., only a part of the user records contain a username (records 4) and the rest do not contain a username (records 3 and 5), and the user records that contain a username correspond to only one username (User1). Therefore, firstly it is determined whether strategy A (a relatively loose scheme) or strategy B (a relatively conservative scheme) is used, the specific determination rules can be set according to actual needs. Such change does not affect the protection scope of the present application.
  • If strategy A is used, records 4 and 5 directly correspond to user ID User ID1 corresponding to User1. If strategy B is used, the specific processing is as follows.
  • Firstly, the first active time t1 and the last active time t2 of cookie2 are acquired, which are 13:00 and 14:00, respectively. Also, the first login time t3 and the last login time t4 of the user1 in the active time of cookie2 are acquired. Since there is only one login event for User1 during this period, the first login time t3 and the last login time t4 both are 13:30.
  • Assuming that the preset threshold delta is 1 hour, then −t3−t1|=0.5 hour<delta, and t2 is not equal to t4, i.e., the end time is different. In this case, only the user records in the time period t3 (t2, t4), i.e., 13:30˜13:30 can be determined to be corresponding to the user ID corresponding to User1. Therefore, no processing is made to record 3 and record 5, or record 3 and record 5 are discarded directly.
  • In the third case, there is one user record that contains cookie3 (record 7). None of the user records that contain cookie3 in the identification time period contain a username, which corresponds to the third case described above. Therefore, it is needed to acquire the user records in the reference time period that contain cookie3, and the corresponding process is performed according to the correspondences between user records and user IDs, specifically:
  • If the user records in the reference time period that contain cookie3 correspond to only one user ID (assuming that it is User ID1), it is considered that cookie3 in the identification time period should also be generated by the operation from the same user. Therefore, record 7 corresponds directly to the user ID User ID1. Of course, in the conservative case, it is also possible that no processing is made to record 7.
  • If the user records in the reference time period that contain cookie3 correspond to multiple user IDs, then record 7 is discarded directly. If there is no user record that contains cookie3 in the reference time period, or the user records in the reference time period that contain cookie3 correspond to none of user IDs, then a new user ID (e.g. User ID3) is created, and record 7 corresponds to the user ID User ID3.
  • In the fourth case, there is one user record that contains cookie4 (record 9). Record 9 includes cookie4 and a username User1, which corresponds to the first case described above. Since according to the correspondences shown in Table 1, User1 corresponds to User ID1, so record 9 corresponds directly to the user ID User ID1 corresponding to User1.
  • In the fifth case, there is one user record that contains cookie5 (record 10). Record 10 includes cookie5 and a username User3, which corresponds to the first case described above. Since according to the correspondences shown in Table 1, User3 has no corresponding User ID, so a new user ID corresponding to User3 is created, such as User ID4, and it is determined that the new user ID User ID4 corresponds to record 10.
  • In a practical embodiment, after the new user ID (User ID4) is created, it is also needed to add the correspondences between the username User3 and the new user ID User ID4 to the correspondences between usernames and user IDs that has been created (i.e., table 1).
  • As compared with the prior art, the embodiments of the application has the following advantages. By using the technical solution according to the embodiments of the present application, in which all the user records in the identification time period that contain the same cookie information are acquired after the correspondence between the login information and the user IDs is created, and the correspondences between the user records and the user IDs is determined according to the time information corresponding to said cookie information, the login information contained in the user records, the login time information of corresponding login information, and the correspondences between the login information and the user IDs, a method for aggregating user information and a method for information delivery are therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of network services, as well as reducing the overhead of the network-side server.
  • FIG. 4 illustrates an example server 108 that may be deployed in the architecture of FIG. 1. The server 108 may be configured as any suitable computing device(s). In one exemplary configuration, the server 108 includes one or more processors 402, input/output interfaces 404, network interface 406, and memory 408.
  • The memory 408 may include computer-readable media in the form of volatile memory, such as random-access memory (RAM) and/or non-volatile memory, such as read only memory (ROM) or flash RAM. The memory 408 is an example of computer-readable media.
  • Computer-readable media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
  • Turning to the memory 408 in more detail, the memory 408 may include a creation module 410, an acquisition module 412, and a determination module 414
  • The creation module 410 is configured to create correspondences between login information and user identifiers, wherein one piece of login information corresponds to one user identifier, and one user identifier corresponds to one or more pieces of login information.
  • In some embodiments, the creation module 410 creates a user identifier for identifying a user, and the user records generated by each user are determined to be corresponding to the user identifier, the correspondences are represented by the corresponding relationship between the usernames contained in the user records and the user identifiers. Thus, data generated by a user is aggregated, and the aggregated user records can be used for analyzing user activities.
  • The acquisition module 412 is configured to acquire or obtain user records in the identification time period that contain the same cookie information. Wherein, the size of the identification time period can be set experientially or can be set to be a predetermined time length.
  • The determination module 414 is configured to determine the correspondences between the user records and the user identifiers according to the login information included in the user records that is acquired by the acquisition module 412, the login time information of corresponding login information, the time information corresponding to the cookie information, and the correspondences between the login information and the user identifiers that is created by the creation module 410.
  • In a practical embodiment, the determining module 414 includes a judgment sub-module 416 and a processing sub-module 418. The judgment sub-module 416 is configured to determine whether all the acquired user records that contain the cookie information contain a username. The processing sub-module 418 is configured to perform subsequent processing according to the determination results from the judgment sub-module 416.
  • If the judgment sub-module 416 determines that all user records contain a username, the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the first case in the aforementioned process 200.
  • If the judgment sub-module 416 determines that only a part of the user records contain a username and the rest do not contain a username, the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the second case in the aforementioned process 200.
  • If the judgment sub-module 416 determines that none of the user records contain a username, the processing sub-module 418 determines the correspondences between the user records and user identifiers according to the solution described in the third case in the aforementioned process 200.
  • In some embodiments, the memory 408 may also include an information delivery unit 420 configured to distribute information to users corresponding to user identifiers according to the user records corresponding to the user identifiers. In other embodiments, the information delivery unit 420 may be implemented by a server different from the server 108.
  • By using the technical solution according to the embodiments of the present application, in which all the user records in the identification time period that contain the same cookie information are acquired after the correspondence between the login information and the user identifiers is created, and the correspondences between the user records and the user identifiers is determined according to the time information corresponding to said cookie information, the login information contained in the user records, the login time information of corresponding login information, and the correspondences between the login information and the user identifiers, a method for aggregating user information and a method for information delivery are therefore provided, which can perform aggregation on user information generated when the user is in a login state and when the user is in a non-login state, thus improving the accuracy of user identification and improving the efficiency of online services, as well as reducing the overhead of hardware such as the server 108.
  • Those skilled in the art can understand that the modules in the apparatus can be distributed in the apparatus in the embodiments as described in the embodiments, and can also be positioned in one or more apparatuses different from the apparatus in the embodiments. The modules of the above embodiments can be combined into one module, and can also be split into multiple sub-modules.
  • Through the above description of the embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary universal hardware platform, and can also be implemented by hardware, but in many cases the former is a preferable embodiment. Based on such understanding, the technical solution of the present application or the part that contributes to the prior art can be substantially embodied in a form of software product. The computer software product is stored in a storage medium and includes several instructions that can make a terminal equipment (that may be a mobile phone, a personal computer, a server, or a network equipment, etc.) perform the method of the embodiments of the present application.
  • The embodiments described above are only preferred embodiments of the present application. It should be noted that numerous improvements and modifications can be made by those skilled in the present art without departing from the principles of the present application, and these improvements and modifications should be deemed as falling within the scope of protection of the present application.

Claims (20)

What is claimed is:
1. One or more computer-readable media storing computer-executable instructions that, when executed by one or more processors, instruct the one or more processors to perform acts comprising:
obtaining multiple records including a cookie in a predetermined time period;
retrieving one or more usernames from the multiple records, individual username of the one or more usernames corresponding to individual record of the multiple records;
identifying a first record of the multiple records that has a corresponding username of the one or more usernames;
determining a first user identifier (ID) associated with the corresponding username;
identifying a second record of the multiple record that does not have a username; and
determining a second user ID for the second record based on the cookie and the corresponding username.
2. The one or more computer-readable media of claim 1, wherein the multiple records include cookie information and login information that are associated with one or more user IDs, and the individual record of the multiple records include the cookie.
3. The one or more computer-readable media of claim 1, wherein the determining the second user ID for the second record based on the cookie and the corresponding username comprises determining the second user ID for the second record based on an acquiring time of the cookie and a login time of the corresponding username.
4. The one or more computer-readable media of claim 1, wherein the acts further comprise:
associating the first user ID and the second user ID with the first record and the second record respectively to generate a record-user mapping.
5. The one or more computer-readable media of claim 4, wherein the acts further comprise:
analyzing the first record and the second record to generate one or more notifications; and
distributing the one or more notifications based on the record-user mapping.
6. The one or more computer-readable media of claim 1, wherein the determining the first user ID associated with the corresponding username comprises determining the first user ID associated with the corresponding username based on a predetermined relationship between user IDs and usernames.
7. The one or more computer-readable media of claim 1, wherein the acts further comprise obtaining additional multiple records including an additional cookie in a predetermined time period, and wherein the additional multiple records do not include a username of the one or more usernames.
8. The one or more computer-readable media of claim 7, wherein the acts further comprise discarding the additional multiple record.
9. The one or more computer-readable media of claim 1, wherein the acts further comprises:
identifying a third record of the multiple records that has one corresponding username of the one or more usernames;
determining that the one corresponding username does not have a corresponding user ID based on a predetermined relationship between user IDs and usernames; and
generating a user ID for the third record.
10. A computer-implemented method comprising:
retrieving one or more pieces of login information from multiple records, individual piece of the one or more pieces of login information corresponding to individual record of the multiple records, and the individual record including a cookie;
identifying a record of the multiple records that has a corresponding piece of login information of the one or more pieces of login information;
determining a user identifier (ID) associated with the corresponding piece of login information;
identifying an additional record of the multiple records that does not have a piece of login information of the one or more pieces of login information; and
determining a user IDs for the additional record based on the cookie and the corresponding piece of login information.
11. The computer-implemented method of claim 10, wherein the determining the user ID for the additional record based on the cookie and the corresponding piece of login information comprises determining the user ID for the additional record based on an acquiring time of the cookie and a login time associated with the corresponding piece of login information.
12. The computer-implemented method of claim 10, further comprising:
associating the user ID for the additional record with the additional record to generate a record-user mapping.
13. The computer-implemented method of claim 10, further comprising:
analyzing the additional record to generate information; and
distributing the information to the user ID for the additional record.
14. The computer-implemented method of claim 10, wherein the determining the user ID associated with the corresponding piece of login information comprises determining the user ID associated with the corresponding username based on a predetermined relationship between the user ID and the corresponding piece of login information.
15. The computer-implemented method of claim 10, wherein the determining the user ID associated with the corresponding username comprises:
determining that the corresponding piece of login information does not have a corresponding user ID based on a predetermined relationship between multiple user IDs and login information; and
generating a user ID for the record.
16. A computing device comprising:
one or more processors; and
memory to maintain a plurality of components executable by the one or more processors, the plurality of components comprising:
an acquisition module that obtains multiple records in a predetermined time period, individual username of the one or more usernames corresponding to individual record of the multiple records, and the individual record including a cookie, and
a determination module that:
identifies a first record of the multiple records that has a corresponding username of the one or more usernames,
determines a first user identifier (ID) associated with the corresponding username,
identifies a second record of the multiple record that does not have the corresponding username, and
determines a second user ID for the second record based on the cookie and the corresponding username.
17. The computing device of claim 16, wherein the determining the second user ID for the second record based on the cookie and the corresponding username comprises determining the second user ID for the second record based on an acquiring time of the cookie and a login time of the corresponding username.
18. The computing device of claim 16, wherein the determining the first user ID associated with the corresponding username comprises determining the first user ID associated with the corresponding username based on a predetermined relationship between the user IDs and usernames.
19. The computing device of claim 16, wherein the computing device further comprises an information delivery module that:
analyzes the second record to generate a message; and
distributes the message to the second user ID.
20. The computing device of claim 16, wherein the determination module further:
identifies a third record of the multiple records that has one corresponding username of the one or more usernames;
determines that the one corresponding username does not have a corresponding user ID based on a predetermined relationship between user IDs and usernames; and
generates a user ID for the third record.
US13/779,446 2012-03-02 2013-02-27 Method and Apparatus of User Recognition and Information Distribution Abandoned US20130232161A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210052802.8A CN103297405B (en) 2012-03-02 2012-03-02 User identification and information delivery method and device
CN201210052802.8 2012-03-02

Publications (1)

Publication Number Publication Date
US20130232161A1 true US20130232161A1 (en) 2013-09-05

Family

ID=47846207

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/779,446 Abandoned US20130232161A1 (en) 2012-03-02 2013-02-27 Method and Apparatus of User Recognition and Information Distribution

Country Status (6)

Country Link
US (1) US20130232161A1 (en)
EP (1) EP2820573A1 (en)
JP (1) JP6215850B2 (en)
CN (1) CN103297405B (en)
TW (1) TWI549000B (en)
WO (1) WO2013130626A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018044198A1 (en) * 2016-08-28 2018-03-08 Lekontsev Igor Sergeevich A method of referencing a connection session with a wireless communication device in a local area, a system for implementing this method, a method of referencing an application user, a machine-readable medium for implementing this method, as well as a method of collecting data on the wireless communication device user, and a machine-readable medium for implementing this method
RU2729969C1 (en) * 2019-09-30 2020-08-13 Игорь Сергеевич Леконцев Method of identifying user of wireless communication device, system for realizing said method and machine-readable medium containing instructions, which lead to realizing method
US11526926B2 (en) * 2016-12-06 2022-12-13 Alibaba Group Holding Limited Service data processing method and device
US11736292B2 (en) * 2017-10-23 2023-08-22 Huawei Technologies Co., Ltd. Access token management method, terminal, and server

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468488A (en) * 2013-09-17 2015-03-25 北京千橡网景科技发展有限公司 Recommendation method and device for anonymous user
CN104699710B (en) * 2013-12-09 2019-04-09 腾讯科技(深圳)有限公司 User structure judgment method and device and account state recording method and device
CN106209744B (en) * 2015-05-07 2019-08-06 阿里巴巴集团控股有限公司 Subscriber sign-in conversation management-control method, device and server
CN105184562A (en) * 2015-08-27 2015-12-23 宇龙计算机通信科技(深圳)有限公司 Mobile payment method and device for terminal
CN106656542B (en) * 2015-11-04 2019-12-10 北京国双科技有限公司 method and device for determining user identification
CN105959470A (en) * 2016-04-27 2016-09-21 乐视控股(北京)有限公司 Information storing method and terminal
CN107645527B (en) * 2016-07-20 2021-06-04 平安科技(深圳)有限公司 Information synchronization method and device
CN108156118A (en) * 2016-12-05 2018-06-12 北京国双科技有限公司 User Identity method and device
US10236872B1 (en) 2018-03-28 2019-03-19 Psemi Corporation AC coupling modules for bias ladders

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212887A1 (en) * 2002-05-09 2003-11-13 Walther Dan E. Maintaining authentication states for resources accessed in a stateless environment
US20080235243A1 (en) * 2007-03-21 2008-09-25 Nhn Corporation System and method for expanding target inventory according to browser-login mapping
US20090017805A1 (en) * 2007-07-11 2009-01-15 Yahoo! Inc. System for Targeting Data to Users on Mobile Devices
US20120215621A1 (en) * 2010-12-20 2012-08-23 Ronan Heffernan Methods and apparatus to determine media impressions using distributed demographic information

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523195B2 (en) * 2004-10-29 2009-04-21 International Business Machines Corporation Method and system for monitoring server events in a node configuration by using direct communication between servers
US7765275B2 (en) * 2006-01-27 2010-07-27 International Business Machines Corporation Caching of private data for a configurable time period
US20090298514A1 (en) * 2006-09-14 2009-12-03 Shah Ullah Real world behavior measurement using identifiers specific to mobile devices
US8966407B2 (en) * 2007-01-17 2015-02-24 Google Inc. Expandable homepage modules
JP5153721B2 (en) * 2009-05-22 2013-02-27 日本電信電話株式会社 Preference information generating apparatus, preference analysis program, advertisement information distribution system, and advertisement information distribution method
US20110184813A1 (en) * 2009-09-14 2011-07-28 Cbs Interactive, Inc. Targeting offers to users of a web site
CN102333092B (en) * 2011-09-30 2014-05-28 北京亿赞普网络技术有限公司 Network user identification method and application server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030212887A1 (en) * 2002-05-09 2003-11-13 Walther Dan E. Maintaining authentication states for resources accessed in a stateless environment
US20080235243A1 (en) * 2007-03-21 2008-09-25 Nhn Corporation System and method for expanding target inventory according to browser-login mapping
US20090017805A1 (en) * 2007-07-11 2009-01-15 Yahoo! Inc. System for Targeting Data to Users on Mobile Devices
US20120215621A1 (en) * 2010-12-20 2012-08-23 Ronan Heffernan Methods and apparatus to determine media impressions using distributed demographic information

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11201928B2 (en) 2016-08-26 2021-12-14 Aleksei Leonidovich Kalinichenko Method of referencing a connection session with a wireless communication device in a local area, a system for implementing this method, a method of referencing an application user, a machine-readable medium for implementing this method, as well as a method of collecting data on the wireless communication device user, and a machine-readable medium for implementing this method
WO2018044198A1 (en) * 2016-08-28 2018-03-08 Lekontsev Igor Sergeevich A method of referencing a connection session with a wireless communication device in a local area, a system for implementing this method, a method of referencing an application user, a machine-readable medium for implementing this method, as well as a method of collecting data on the wireless communication device user, and a machine-readable medium for implementing this method
RU2654854C1 (en) * 2016-08-28 2018-05-23 Фонд Социальных Информационно-Технологических Инноваций Method for collecting data on wireless communication device user and machine-readable medium for method implementation
US11526926B2 (en) * 2016-12-06 2022-12-13 Alibaba Group Holding Limited Service data processing method and device
US11736292B2 (en) * 2017-10-23 2023-08-22 Huawei Technologies Co., Ltd. Access token management method, terminal, and server
RU2729969C1 (en) * 2019-09-30 2020-08-13 Игорь Сергеевич Леконцев Method of identifying user of wireless communication device, system for realizing said method and machine-readable medium containing instructions, which lead to realizing method

Also Published As

Publication number Publication date
JP6215850B2 (en) 2017-10-18
TWI549000B (en) 2016-09-11
CN103297405B (en) 2017-01-18
WO2013130626A1 (en) 2013-09-06
CN103297405A (en) 2013-09-11
JP2015515664A (en) 2015-05-28
TW201337578A (en) 2013-09-16
EP2820573A1 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
US20130232161A1 (en) Method and Apparatus of User Recognition and Information Distribution
US11755530B2 (en) Method and system for applying data retention policies in a computing platform
US20160267501A1 (en) Calculation method and apparatus for user retention ratio
ES2764491T3 (en) Method and system for evaluating user perception
WO2017067394A1 (en) Method and system for distributing customer service modes
US9426049B1 (en) Domain name resolution
US20160301765A1 (en) Method and device for processing service access
CN110033302B (en) Malicious account identification method and device
US20120166518A1 (en) Providing state service for online application users
CN107968953A (en) Anti- cheating user method and device
WO2018192403A1 (en) Method and apparatus for loading and optimizing bind configuration, medium, and computer device
WO2014146434A1 (en) Methods and systems for managing user privileges
US10122864B2 (en) Correspondences establishment between mobile user and network accounts
US20160142390A1 (en) Third-party documented trust linkages for email streams
CN106911628A (en) A kind of user registers the method and device of application software on the client
US8838832B1 (en) Network address clustering
US20100333178A1 (en) System and Method for Unique User Identification via Correlation of Public and Private Data by a Third-Party
US11170132B2 (en) Data integrity
CN106790597A (en) The acquisition methods of users to share view data
CN116233048A (en) Customer service session request processing method and related equipment
CN103796042B (en) resource information pushing method and device
US11063948B2 (en) Handling potential service load interruptions by presenting action items for service requester to complete to increase time to address potential service load interruption
US9832140B2 (en) System and method for characterizing network traffic
CN104715186B (en) Cookie information sharing method and system

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALIBABA GROUP HOLDING LIMITED, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YANG, KEPING;REEL/FRAME:029889/0670

Effective date: 20130222

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION