OA16978A - Method and server for searching for nearby user in social network. - Google Patents
Method and server for searching for nearby user in social network. Download PDFInfo
- Publication number
- OA16978A OA16978A OA1201400201 OA16978A OA 16978 A OA16978 A OA 16978A OA 1201400201 OA1201400201 OA 1201400201 OA 16978 A OA16978 A OA 16978A
- Authority
- OA
- OAPI
- Prior art keywords
- user
- users
- grid
- location information
- terminal device
- Prior art date
Links
- 230000001174 ascending Effects 0.000 claims abstract description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000002708 enhancing Effects 0.000 description 6
- 241000760358 Enodes Species 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
Methods and servers for searching for nearby users are provided in the present disclosure. When location information and a user Identification (ID) is received from a client terminal device of a user X, a grid Y, to which the location information belongs is determined. The user ID and the location information of the user X is stored in a list of the grid Y. The grid Y is one of grids in a grid array obtained by dividing a surface of the earth into the grids. Users in the grid Y and other girds are searched. The grid Y and the other grids form an N-grid and the grid Y is a center of the Ngrid. The users are ranked in an ascending order of distances between the users the user X. The ranked user IDs of the users and distances between the users and the user X are sent to the client terminal device of the user X.
Description
This application claims the benefit of priority from Chînese Patent Application, No. 201110363120.4, entîtled “Method and Server for Searching for Nearby User in Social Networking Services (SNS) and filed on November 16, 2011, the entire content of which is hereby incorporated by reference.
FIELD OFTHE INVENTION [0001] The présent disclosure relates to Internet technologies, and more particularly, to methods and servers for searching for nearby users in SNS.
BACKGROUND [0002] In SNS, a user may search for nearby users and contact with a user to make friends with the user or seek the user’s help, etc. .
SUMMARY [0003] The présent disclosure provides methods and servers for searching for nearby users in SNS, to enhance accuracy of a searching resuit.
[0004] A method for searching for nearby users in Social Networking Services (SNS) includes:
receiving location information and a user Identification (ID) from a client terminal device of a user X;
determining a grid Y, to which the location information belongs;
storing the user ID and the location information of the user X in a list of the grid Y; wherein the grid Y is one of grids in a grid array obtained by dividing a surface of the earth into the grids;
searching for users in the grid Y and other girds; wherein the grid Y and the other grids form an N-grid and the grid Y is a center of the N-grid, N=n*n, n is an odd larger than or equal to 3;
ranking the users in an ascending order of distances between the users the user X; and sending the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X.
[0005] A method for searching for nearby users in Social Networking Services (SNS) includes:
receiving location information and a user Identification (ID) from a client terminal device of a user X;
determining a grid Y, to which the location information belongs;
saving the user ID, the location information and reporting time of the user X in a list of the grid Y; wherein the grid Y is one of grids in a grid array obtained by dividing a surface of the earth into the grids;
searching for users in the grid Y and other girds; wherein the grid Y and the other grids form an Ν-grid and the grid Y is a center of the Ν-grid, N—n*n, n is an odd larger than or equal to 3;
ranking the users according to distances between the users and the user X and the reporting time of the user X; wherein the closer a distance between a user and the user X, the higher rank of the user is, and the shorter time between the reporting time of the user and a current time is, the higher the rank of the user is; and sending the ranked user IDs of the users and the distances between the 5 users and the user X to the client terminal device of the user X.
[0006] A server includes:
a first processing module, to divide a surface of the earth into a grid array and set a list for a grid; and a second processing module, when location information and a user
Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID and the location information of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the N-grid, N=n*n and n is an odd larger than or equal to 3, rank the users in an ascending order of distances between the users . the user X and send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X.
[0007] A server includes:
a first processing module, to divide a surface ofthe earth into a grid array and set a list for a grid;
a second processing module, when location information and a user Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID, the location information and reporting time of the user X in a list of the grid Y, .. 25 search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the Ν-grid, N=n*n and n is an odd larger than or equal to 3, rank the users according to distances between the users and the user X and the reporting time of the user X and send the ranked user IDs of the users and distances between the users and the user X to the 30 client terminal device of the user X; wherein the doser a distance between a user and the user X, the higher rank of the user is, and the shorter time between the reporting time of the user and a current time is, the higher the rank of the user is.
[0008] With the technical scheme of the présent disclosure, the searching is performed in the grid, at which the user X is located and nearby grids of the grid. The users which are searched out are ranked according to an ascending order of the distances between the users and the user X. Even a user is not located in the above grid, if the distance between the user the user X is short, the user may be searched out and sent to the user X, which may enhance the accuracy of the resuit of the searching. In addition, in the scheme of the présent disclosure, the ranking may be further performed according to the reporting time in addition to the location information and the user ID of the user X. The shorter time between the reporting time of the user and a current time is, the more likely the user X may get in touch with the user and the higher the rank of the user is, which may enhance the accuracy of the searching resuit.
BRIEF DESCRIPTION OFTHE DRAWINGS [0009] Figure 1 is a schematic diagram illustrating a location of a user X;
• 15 [0010] Figure 2 is a flow chart illustrating a method for searching for nearby users in SNS in accordance with an example of the présent disclosure;
[0011] Figure 3 is a schematic diagram illustrating a 9-grid formed by a Y grid and nearby grids;
[0012] Figure 4 is a flow chart illustrating another method for searching for 20 nearby users in the SNS in accordance with an example of the présent disclosure;
[0013] Figure 5 is a schematic diagram illustrating structure of a server in accordance with an example of the présent disclosure;
[0014] Figure 6 is a schematic diagram illustrating structure of another server in accordance with an example of the présent disclosure; and ·>
[0015] Figure 7 is a schematic diagram illustrating structure of another server in accordance with an example of the présent disclosure.
DETAILED DESCRIPTION [0016] For simplicity and illustrative purposes, the présent disclosure is described by referring mainly to non-limiting examples. In the following description, numerous spécifie details are set forth in order to provide a thorough 5 understanding of the présent disclosure. It will be readily apparent however, that the présent disclosure may be practiced without limitation to these spécifie details. In other instances, some methods and structures hâve not been described in detail so as not to unnecessarily obscure the présent disclosure. As used throughout the présent disclosure, the term includes means includes but not 10 Iimited to, the term “including means including but not Iimited to. The term “based on means based at least in part on. In addition, the terms “a and “an are intended to dénoté at least one of a particular element.
[0017] Nearby users may be searched via following methods. According to longitude and latitude information, a server may divide a surface of the earth in to 15 a grid array, in which the area of each grid is the same. As for any user X, when the user X needs to search for nearby users, the user X may send his/her location information and a user Identification (ID) to a server via a client terminal device used by the user X. The client terminal device may be a mobile terminal device. The location information may be the longitude and latitude information. 20 After the server receives the location information from the user X, the server first may détermine a grid, to which the location information belongs. Then, the server may search for other users in this grid, search for user IDs of the other users and distances between the other users and the user X and send the user IDs and the distances to the client terminal device of the user X.
[0018] However, there are some drawbacks in the above method. The user X may be close to a boundary of two adjacent grids. Figure 1 is a schematic diagram illustrating a location of the user X. As shown in figure 1, two adjacent grids may be grid A and grid B. The user X and user Z are located at the grid A and the user Y is located at the grid B. As for the user X, the distance between the user X and the user Y is shorter than that between the user X and the user Z.
If the user X seeks for help, the user Y is obviously a better choice than the user
Z. According to an example, the user X may search for the user Z but cannot search for the user Y, resulting in inaccurate searching resuit.
[0019] In order to enhance the accuracy of the searching resuit, the présent disclosure provides a scheme for searching for nearby users.
[0020] Figure 2 is a flow chart illustrating a method for searching for nearby users in SNS in accordance with an example of the présent disclosure. As shown in figure 2, the method includes the following blocks.
[0021] In block 21, a surface of the earth may be divided into a grid array. A list may be set for a grid. According to an example, a list may be set for each grid.
[0022] According to an example of the présent disclosure, the surface of the earth may be divided into the grid array. Areas of grids in the grid array may be different or may be the same.
[0023] According to longitude and latitude information, the surface of the earth may be divided into the grid array, in which the area of each grid may be the 15 same. The area of the grid may be configured as needed, such as one square kilometers.
[0024] The list may be empty at an initial stage.
[0025] In block 22, when location information and a user ID is received from a client terminal device of a user X, a grid Y, to which the location information 20 belongs may be determined. As for the user X, the user ID and location information of the user X may be stored in list of the grid Y.
[0026] The location information may be the longitude and latitude information. Since the grids are divided according to the longitude and latitude information, the grid, to which the received location information belongs, may be determined.
[0027] For the convenience of description, in various example of the présent disclosure, any user may be denoted by the user X and the grid, to which the user X is located is denoted by the grid Y.
[0028] After determining the grid Y, the received user ID and location information may be stored in the list of the grid Y. Therefore, if another user searches for nearby users in the grid Y, the user X may be found.
[0029] It should be noted that the user X may search for nearby users repeatedly. 5 The user ID and the location information may be reported many times. In this example, the user ID and the location information of the user X may be stored in the list of the grid Y to ensure the uniqueness of the user information.
[0030] For example, assume that the user X is in a grid A and reports his/her user ID and location information. The user ID and location information of the user ίο X may be stored in a list of the grid A. Then, if the gird, at which the user X is located, is changed to a grid B, the user X may report his/her user ID and location information again. Therefore, the user ID and location information of the user X stored in the list of the grid A may be deleted and the user ID and the location information ofthe user X may be stored in the list of the grid B.
[0031] In block 23, users in the grid Y and other grids may be searched out. The grid Y and the other grids may form an N-grid and the grid Y may be the center of the N-grid. Wherein, N=n*n and n is an odd larger than or equal to 3.
i [0032] The structure of the N-grid may ensure that users on each direction around the user X may be found.
[0033] The value of n may be determined according to actual requirements. For example, compared with sparsely populated orties, such as Qinghai and Neimenggu, in densely populated cities, such as Guangzhou, Beijing and Shanghai, the value of N may be 5 or 7, etc.
[0034] Figure 3 is a schematic diagram illustrating a 9-grid formed by a Y grid 25 and nearby grids.
[0035] If the Ν-grid in this block is the 9-grid shown in figure 3, users in the list of the 9-grid may be the users which are searched out, except for the user X.
[0036] In block 24, users which are searched out may be ranked in an ascending order of distances between the user X and the users and the ranked user IDs of the users and distances between the user X and the user may be sent to the client terminal device of the user X.
[0037] Since the location information of the users which are searched out may 5 be known, the location information of the user X may be known. Therefore, the distances between the user X and the users which are searched out may be computed and the ranking ofthe user may be performed.
[0038] The searching scope in examples of the présent disclosure may be enlarged. Therefore, the number of the users which are searched out is increased.
For the user X, users ranked lower are basically not concerned. Therefore, the information of these users needs not to be sent to the user X, which may reduce amount of transmitted data and save bandwidth resources, etc.
[0039] After the ranking is finished, whether the number of users which are searched out is less than or equal to M may be determined. lf the number of the 15 users which are searched out is less than or equal to M, the user IDs of the users and the distances between the user X and the users may be sent to the client terminal device of the user X. lf the number of the users which are searched out is larger than M, the user IDs of users among top M and the distances between the user X and the users among the top M may be sent to the client terminal 20 device of the user X. M may be a positive integer larger than one. The value of M may be determined according to actual requirements.
[0040] Other information besides the user IDs of the users and the distances between the user X and the users, such as avatars of the users may be sent to the client terminal device ofthe user X.
[0041] Figure 4 is a flow chart illustrating another method for searching for nearby users in the SNS in accordance with an example of the présent disclosure. As shown in figure 4, the method may include following blocks.
[0042] In block 41, a surface of the earth may be divided into a grid array. A list may be set for a grid.
[0043] According to an example of the présent disclosure, the surface of the earth may be divided into the grid array. Areas of grids in the grid array may be different or may be the same.
[0044] In block 42, when location information and a user ID is received from a 5 client terminal device of a user X, a grid Y, to which the location information belongs may be determined. As for the user X, the user ID, location information and reporting time of the user X may be stored in list of the grid Y.
[0045] In block 43, users in the grid Y and other grids may be searched out. The grid Y and the grid may form an N-grid and the grid Y may be the center of the 10 N-grid. Wherein, N=n*n and n may be an odd larger than or equal to 3.
[0046] In block 44, users which are searched out may be ranked according to the distances between the users and the user X and the reporting time and ranked user IDs of the users and distances between the user X and the users may be sent to the client terminal device of the user X. The doser the distance 15 between the user X and a user is, the higher the rank of the user is. The shorter the time between the reporting time of the user and the current time is, the higher the rank of the user is.
[0047] Compared with the example shown in figure 2, when the ranking is performed in this example, the reporting time may be taken into considération. In 20 block 42, the report time of the user ID and the location information of the user X may be stored in the list of the grid Y.
[0048] In block 44, a weight of a user i A,=a*D,+b*Tt may be computed, a and b are weighting coefficients and values of a and b may be determined as needed. D, dénotés the distance between the user i and the user X. Tt dénotés 25 the time between the current time and the reporting time of the user i. The users are ranked in an ascending order of the weight.
[0049] Aftôr the ranking is finîshed, whether the number of users which are searched out is less than or equal to M may be determined. If the number of the users which are searched out is less than or equal to M, the user IDs of the users and the distances between the user X and the users may be sent to the client terminal device of the user X. If the number of the users which are searched out is larger than M, the user IDs of the users among top M and the distances between the user X and the users among the top M may be sent to the client 5 terminal device of the user X. M may be a positive integer larger than one.
[0050] ln the above two examples, the client terminal device of the user X may obtain the location information of the user X with following methods. That is, the client terminal device of the user X may obtain the location information of the user X via method one to method L. After the location information of the user X is 10 obtained, the client terminal device may report the location information. If the location information of the user X is not obtained with a method, the client terminal device of the user X may obtain the location information with a next method. L may be a positive integer larger than one. As for different methods, the smaller the number is, the higher the accuracy of the location information is.
[0051] The value of L may be three. Method one may be obtaining the location
4 information via a Global Positioning System (GPS) function. Method two may be obtaining the location information via a Cell ID of an eNode B. Method three may be obtaining the location information via a Media Access Control (MAC) address of a connected Wireless Fidelity (WiFi) access point.
[0052] The description of the methods in examples of the présent disclosure is finished.
[0053] On the basis of the above description, figure 5 is a schematic diagram illustrating structure of a server in accordance with an example of the présent disclosure. As shown in figure 5, the server 500 may include:
[0054] a first processing module 501, to divide a surface of the earth into a grid array, in which area of each grid may be the same and set a list for a grid; and [0055] a second processing module 502, when location information and a user Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID io and the location information of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the N-grid, N=n*n, n is an odd larger than or equal to 3, rank the users in an ascending order of distances between the users the 5 user X and send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X.
[0056] The second processing module 502 may further détermine whether number of the users is less than or equal to M after the users are ranked, send the ranked user IDs of the users and distances between the users and the user X 10 to the client terminal device of the user X if the number of the users is less than or equal to M and send ranked user IDs of users among top M and distances between the users among the top M and the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M may be a positive integer larger than one.
[0057] According to another example of the présent disclosure, the server 500 « · may include:
[0058] a first processing module 501, to divide a surface of the earth into a grid array, in which an area of each grid may be the same and set a list for a grid;
[0059] a second processing module 502, when location information and a user 20 Identification (ID) from a client terminal device of a user X ts received, to détermine a grid Y, to which the location information belongs, store the user ID, the location information and reporting time of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the Ν-grid, N=n*n, n is an odd 25 larger than or equal to 3, rank the users according to distances between the users and the user X and the reporting time of the user X and send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X; wherein the doser a distance between a user and the user X is, the higher rank of the user is, and the shorter time between the 30 reporting time of the user and a current time is, the higher the rank of the user is.
Il [0060] According to an example of the présent disclosure, the first processing module 501 may divide the surface of the earth into the grid array. Areas of grids in the grid array may be different or may be the same.
[0061] The second processing module 502 may further compute a weight 5 Dy b*T, 0| a user j. wherejn a and b are weighting coefficients, D· is a
T distance between the user i and the user X, · is time between the current time and the reporting time of the user i and rank the users in an ascending order of the weight.
[0062] The second processing module 502 may further détermine whether H) number of the users is less than or equal to M after the users are ranked, send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M and send ranked user IDs of users among top M and distances between the users among the top M and the user X to the client terminal device 15 of the user X if the number of the users is larger than M; wherein M may be a positive integer larger than one.
[0063] Figure 6 is a schematic diagram illustrating structure of another server in f accordance with an example of the présent disclosure.
[0064] The server 600 may include a memory 601 and a processor 602.
[0065] The memory 601 may store a first processing instruction and a second processing instruction.
• [0066] The processor 602 may communicate with the memory 601 to execute the first processing instruction, to divide a surface of the earth into a grid array, in which an area of each grid may be the same and set a list for a grid;
> 25 execute the second processing instruction to, when location information and a user Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID and the location information of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the Ν-grid, N=n*n, n is an odd larger than or equal to 3, rank the users in an ascending order of distances between the users the user X and send the ranked user IDs of the users and distances between the 5 users and the user X to the client terminal device of the user X.
[0067] According to an example of the présent disclosure, the surface of the earth may be divided into the grid array. Areas of grids in the grid array may be different or may be the same.
[0068] According to an example, the processor 602 may further execute the ίο second processing instruction, to détermine whether number of the users is less than or equal to M after the user are ranked, send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M and send ranked user IDs of users among top M and distances between the users 15 among the top M and the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M is a positive integer larger than one.
[0069] Figure 7 is a schematic diagram illustrating structure of another server in accordance with an example ofthe présent disclosure.
[0070] The server 700 may include a memory 701 and a processor 702.
[0071] The memory 701 may store a first processing instruction and a second processing instruction.
[0072] The processor 702 may communicate with the memory 701 and execute the first processing instruction, to divide a surface of the earth into a grid 25 array, in which an area of each grid may be the same and set a list for a grid; and the second processing instruction, when location information and a user Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID, the location information and reporting time of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the Ν-grid, N=n*n, n is an odd larger than or equal to 3, rank the users according to distances between the 5 users and the user X and the reporting time of the user X and send the ranked user IDs of the users and distances between the users and the user X to a client terminal device of the user X; wherein the doser a distance between a user and the user X is, the higher rank of the user is, and the shorter time between the reporting time of the user and a current time is, the higher the rank of the user is.
10 [0073] The processor 702 may further execute the second processing instruction to compute a weight A,=a*Dt+b*Tt ofa user i; wherein a and b are weighting coefficients, D, is a distance between the user I and the user X, Tt is time between the current time and the reporting time of the user i and rank the users in an ascending order of the weight. .
[0074] The processor 702 may further execute the second processing module to détermine whether number of the users is less than or equal to M after the users are ranked, send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M and send ranked user IDs of users among top 20 M and distances between the users among the top M and the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M is a positive integer larger than one.
[0075] With the technical scheme of the présent disclosure, the searching is performed in the grid, at which the user X is located and nearby grids of the grid.
The users which are searched out are ranked according to an ascending order of the distances between the users and the user X. Even a user is not located in the above grid, if the distance between the user the user X is short, the user may be searched out and sent to the user X, which may enhance the accuracy of the resuit of the searching. In addition, in the scheme of the présent disclosure, the 30 ranking may be further performed according to the reporting time in addition to the location information and the user ID of the user X. The shorter time between the reporting time of the user and a current time is, the more likely the user X may get in touch with the user and the higher the rank of the user is, which may enhance the accuracy of the searching resuit.
[0076] In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gâte array (FPGA) or an application-specific integrated circuit (AS1C)) to perform certain operations. A 10 hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in 15 temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considérations. , [0077] The foregoing only describes preferred embodiments of the présent invention. The protection scope of the présent invention, however, is not limited to the above description. Any change or substitution, * easily occurring to those 20 skilled in the art, should be covered by the protection scope of the présent invention.
Claims (5)
- WHAT IS CLAIMED IS:1. A method for searching for nearby users in Social Networking Services (SNS), comprising:receiving location information and a user Identification (ID) from a client5 terminal device of a user X;determining a grid Y, to which the location information belongs;storing the user ID and the location information of the user X in a list of the grid Y; wherein the grid Y is one of grids in a grid array obtained by dividing a surface of the earth into the grids;10 searching for users in the grid Y and other girds; wherein the grid Y and the other grids form an N-grid and the grid Y is a center of the N-grid, N=n*n, n is an odd larger than or equal to 3; · ranking the users in an ascending order of distances between the users the user X; and15 sending the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X.a 4
- 2. The method according to claim 1, wherein sending the ranked user IDs of the users and distances between the users and the user X to the client terminal20 device of the user X comprises:determining whether number of the users is less than or equal to M;sending the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M; and25 sending ranked user IDs of users among top M and distances between the users among the top M and the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M is a positive integer larger than one.30
- 3. The method according to claim 1 or 2, wherein before receiving the location information of the user X, the method further comprises:obtaining, by the client terminal device of the user X, the location information of the user X according to method one to method L; wherein L is the positive integer larger than one;reporting, by the client terminal device of the user X, the location information of the user X if the location information of the user X is successfully obtained with5 a method; and obtaining, by the client terminal device of the user X, the location information of the user X with a next method if the location information of the user X is not successfully obtained with the method; wherein the smaller the L is, the higher accuracy of the location information is.
- 4. A method for searching for nearby users in Social Networking Services (SNS), comprising:receiving location information and a user Identification (ID) from a client terminal device of a user X;15 determining a grid Y, to which the location information belongs;saving the user ID, the location information and reporting time of the user X in a list of the grid Y; wherein the grid Y is one of grids in a grid array obtained by dividing a surface of the earth into the grids;searching for users in the grid Y and other girds; wherein the grid Y and the 20 other grids form an N-grid and the grid Y îs a center of the N-grid, N=n*n, n is an odd larger than or equal to 3;ranking the users according to distances between the users and the user X and the reporting time of the user X; wherein the doser a distance between a user and the user X, the higher rank of the user is, and the shorter time between 25 the reporting time of the user and a current time is, the higher the rank of the user • is; and sending the ranked user IDs of the users and the distances between the users and the user X to the client terminal device of the user X.' 30 5. The method according to claim 4, wherein ranking the users according to the distances between the users and the user X and the reporting time of the user X comprises:computing a weight A,=a* Dt+b*T, of a user i; wherein a and b are weighting coefficients, Dt is a distance between the user i and the user X, T, is time between the current time and the reporting time of the user i; and ranking the users in an ascending order of the weight.6. The method according to claim 4, wherein sending the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X comprises:determining whether numberofthe users is less than orequal to M;10 sending the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M; and sending ranked user IDs of users among top M and distances between the users among the top M and the user X to the client terminal device of the user X 15 if the number of the users is larger than M; wherein M is a positive integer larger than one.7. The method according to any of claims 4 to 6, wherein before receiving the location information of the user X, the method further comprises:20 obtaining, by the client terminal device of the user X, the location information of the user X according to method one to method L; wherein L is the positive integer larger than one;reporting, by the client terminal device of the user X, the location information of the user X if the location information of the user X is successfully obtained with 25 a method; and obtaining, by the client terminal device of the user X, the location information of the user X with a next method if the location information of the user X is not successfully obtained with the method; wherein the smaller the L is, the higher accuracy of the location information is.8. A server, comprising:a first processing module, to divide a surface of the earth into a grid array, t8 and set a list for a grid; and a second processing module, when location information and a user Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID 5 and the location information of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an N-grid and the grid Y is a center of the N-grid, N=n‘n and n is an odd larger than or equal to 3, rank the users in an ascending order of distances between the users the user X and send the ranked user IDs of the users and distances between the 10 users and the user X to the client terminal device of the user X.9. The server according to claim 8, wherein the second processing module is further to détermine whether number of the users is less than or equal to M after the users are ranked, send the ranked user IDs of the users and distances15 between the users and the user X to the client terminal device of the user X if the number of the users is less than or equal to M and send ranked user IDs of users among top M and distances between'the users among the top M and the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M is a positive integer larger than one.20 '10. A server, comprising:a first processing module, to divide a surface of the earth into a grid array and set a list for a grid;a second processing module, when location information and a user 25 Identification (ID) from a client terminal device of a user X is received, to détermine a grid Y, to which the location information belongs, store the user ID, the location information and reporting time of the user X in a list of the grid Y, search for users in the grid Y and other girds, in which the grid Y and the other grids form an Ν-grid and the grid Y is a center of the Ν-grid, N=n*n and n is an 30 odd larger than or equal to 3, rank the users according to distances between the users and the user X and the reporting time of the user X and send the ranked user IDs of the users and distances between the users and the user X to theI9 client terminal device of the user X; wherein the doser a distance between a user and the user X is, the higher rank of the user is, and the shorter time between the reporting time of the user and a current time is, the higher the rank of the user is.
- 5 11. The server according to claim 10, wherein the second processing module is further to compute a weight A, =a*Dt +b*Tt of a user t; wherein a and b are weighting coefficients, Dt is a distance between the user ΐ and the user X, 7] is time between the current time and the reporting time of the user i and rank the users in an ascending order of the weight.12. The server according to claim 10 or 11, wherein the second processing module is further to détermine whether number of the users is Iess than or equal to M after the users are ranked, send the ranked user IDs of the users and distances between the users and the user X to the client terminal device of the 15 user X if the number of the users is Iess than or equal to M and send ranked user IDs of users among top M and distances between the users among the top M and4 H the user X to the client terminal device of the user X if the number of the users is larger than M; wherein M is a positive integer larger than one.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110363120.4 | 2011-11-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
OA16978A true OA16978A (en) | 2016-02-26 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9092532B2 (en) | Method and server for searching for nearby user in social networking services | |
US8818715B2 (en) | Systems and methods to suggest travel itineraries based on users' current location | |
US9959321B2 (en) | Ranking search results by social relevancy | |
US9241240B2 (en) | Techniques for server-controlled tiling of location-based information | |
US9477725B2 (en) | Search results using density-based map tiles | |
CA2808381C (en) | Location ranking using social graph information | |
JP5925338B2 (en) | Discovery of wireless network access points | |
US20140258201A1 (en) | Generating a geofence via an analysis of a gps fix utilization distribution | |
US9154984B1 (en) | System and method for estimating network performance | |
CN104281646B (en) | Urban waterlogging detection method based on microblog data | |
EP3149978B1 (en) | System for providing location-based social networking services to users of mobile devices | |
OA16978A (en) | Method and server for searching for nearby user in social network. | |
NZ625092B2 (en) | Method and server for searching for nearby user in social networking services | |
EP2846277A1 (en) | Techniques for server-controlled tiling of location-based information | |
WO2013136127A1 (en) | Supporting storage of data |