Contact data processing method and device, electronic equipment and storage medium

By identifying tag features and user information, and combining tag visibility rules to filter the communication user set, the problem of complexity and inefficiency in user search in the communication system is solved, and more efficient selection of address book users is achieved.

CN115221268BActive Publication Date: 2026-07-21JINGDONG CITY BEIJING DIGITS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JINGDONG CITY BEIJING DIGITS TECH CO LTD
Filing Date
2022-07-06
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In communication systems, the process of searching for a desired user from a large address book is complex and inefficient.

Method used

By receiving the client's address book read command, identifying tag features, obtaining tag visibility rules and user information, calculating user-visible tags, filtering out the communication user set associated with the visible tags, and sending it to the client for display.

Benefits of technology

It simplifies the process of users selecting the desired users from their address book, improves operational efficiency, reduces the number of address book users need to search, and meets users' specific needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115221268B_ABST
    Figure CN115221268B_ABST
Patent Text Reader

Abstract

The application discloses a method and device for processing address book data, electronic equipment and a storage medium, and relates to the technical field of computers. A specific embodiment of the method comprises the following steps: receiving an address book reading instruction sent by a client, obtaining a user identifier and a label feature in the address book reading instruction; calling a preset recognition model to recognize an address book label corresponding to the label feature; obtaining a label visibility rule to calculate a visible label of the user identifier based on an address book label and user information corresponding to the user identifier; obtaining a user visibility rule to filter a communication user set that is visible to the user and is associated with the visible label based on the user information; and sending the communication user set to the client. The embodiment can solve the problems of complex operation process and low efficiency in finding a required user from a large number of address books.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, electronic device, and storage medium for processing contact list data. Background Technology

[0002] In some instant messaging (IM) systems, the address book is a frequently used function. Users can search for desired users by creating tasks or granting permissions through the address book. The system can set user visibility rules, then calculate and display the visible address book users when a user requests to access it, allowing the user to search from the displayed address book. However, when a user has a large number of visible address book users, searching through a vast number of contacts becomes complex and inefficient. Summary of the Invention

[0003] In view of this, embodiments of the present invention provide a method, apparatus, electronic device and storage medium for processing contact list data, which can solve the problem that the operation process of users searching for the users they need from a large number of contact lists is complicated and inefficient.

[0004] To achieve the above objectives, according to one aspect of the present invention, a method for processing contact list data is provided.

[0005] An embodiment of the present invention provides a method for processing contact data, comprising: receiving a contact reading instruction sent by a client; obtaining a user identifier and tag features from the contact reading instruction; calling a preset recognition model to identify contact tags corresponding to the tag features; obtaining tag visibility rules to calculate the visible tags of the user identifier based on the user information corresponding to the contact tags and the user identifier; obtaining user visibility rules to filter a set of communication users that are visible to the user and associated with the visible tags based on the user information; and sending the set of communication users to the client.

[0006] In one embodiment, it also includes:

[0007] In response to a tag addition instruction, obtain the tag identifier, the corresponding tag visibility rule, and the set of associated communication users from the tag addition instruction;

[0008] A preset generation model is invoked to generate a tag array corresponding to the tag identifier, so that the elements in the tag array correspond one-to-one with each contact user, wherein the element in the tag array corresponding to the contact user in the associated contact user set is the target value;

[0009] The mapping relationship between the tag identifier, the corresponding tag visibility rule, and the tag array is stored.

[0010] In yet another embodiment, the set of communication users visible to the user and associated with the visible tag includes:

[0011] Obtain the tag array of the visible tags, and filter the set of pending communication users associated with the visible tags based on the target value in the tag data;

[0012] Obtain the user information of each communication user in the set of pending communication users, and invoke the user visibility rules to determine the set of communication users from the set of pending communication users.

[0013] In yet another embodiment, before sending the communication user set to the client, the method further includes:

[0014] The user visibility rule is invoked to filter contact users who are visible to the user and have no associated contact tag based on the user information, and then add them to the contact user set.

[0015] In yet another embodiment, the step of invoking a preset recognition model to identify the contact tag corresponding to the tag feature includes:

[0016] A preset recognition model is invoked to identify the tag characters corresponding to the tag features;

[0017] Match contact tags containing the tag characters from a preset set of contact tags, and determine them as the contact tags corresponding to the tag features.

[0018] In yet another embodiment, receiving a contact list read instruction sent by a client and obtaining the user identifier and tag features from the contact list read instruction includes:

[0019] Receive the first contact list read instruction sent by the client, and obtain the user identifier in the first contact list read instruction;

[0020] Obtain the tag visibility rules and the user information corresponding to the user identifier, so as to calculate the address book tag set corresponding to the user identifier;

[0021] Send the contact list tag set to the client so that the client displays the contact list tag set;

[0022] Receive the second address book read instruction sent by the client, and obtain the tag features in the second address book read instruction.

[0023] In yet another embodiment, the step of obtaining user-visible rules includes:

[0024] Determine from the historical log whether it includes the historical address book user confirmation records corresponding to the user identifier and the visible tag;

[0025] If yes, then determine the set of communication users from the historical address book user determination records, and send it to the client; if not, then obtain the user visibility rules.

[0026] To achieve the above objectives, according to another aspect of the present invention, a device for processing contact list data is provided.

[0027] An embodiment of the present invention provides a contact data processing apparatus comprising: a receiving unit, configured to receive a contact reading instruction sent by a client, and to obtain a user identifier and tag features from the contact reading instruction; an identification unit, configured to invoke a preset identification model to identify contact tags corresponding to the tag features; a calculation unit, configured to obtain tag visibility rules to calculate visible tags for the user identifier based on the contact tags and user information corresponding to the user identifier; a filtering unit, configured to obtain user visibility rules to filter a set of communication users that are visible to the user and associated with the visible tags based on the user information; and a sending unit, configured to send the set of communication users to the client.

[0028] In one embodiment, the apparatus further includes:

[0029] The response unit is used to respond to the tag addition instruction by obtaining the tag identifier, the corresponding tag visibility rule, and the associated communication user set in the tag addition instruction;

[0030] The generation unit is used to call a preset generation model to generate a tag array corresponding to the tag identifier, so that the elements in the tag array correspond one-to-one with each contact user, wherein the element in the tag array corresponding to the contact user in the associated contact user set is the target value;

[0031] The storage unit is used to store the mapping relationship between the tag identifier, the corresponding tag visibility rule, and the tag array.

[0032] In yet another embodiment, the filtering unit is specifically used for:

[0033] Obtain the tag array of the visible tags, and filter the set of pending communication users associated with the visible tags based on the target value in the tag data;

[0034] Obtain the user information of each communication user in the set of pending communication users, and invoke the user visibility rules to determine the set of communication users from the set of pending communication users.

[0035] In yet another embodiment, the filtering unit is further configured to:

[0036] The user visibility rule is invoked to filter contact users who are visible to the user and have no associated contact tag based on the user information, and then add them to the contact user set.

[0037] In yet another embodiment, the identification unit is specifically used for:

[0038] A preset recognition model is invoked to identify the tag characters corresponding to the tag features;

[0039] Match contact tags containing the tag characters from a preset set of contact tags, and determine them as the contact tags corresponding to the tag features.

[0040] In yet another embodiment, the receiving unit is specifically used for:

[0041] Receive the first contact list read instruction sent by the client, and obtain the user identifier in the first contact list read instruction;

[0042] Obtain the tag visibility rules and the user information corresponding to the user identifier, so as to calculate the address book tag set corresponding to the user identifier;

[0043] Send the contact list tag set to the client so that the client displays the contact list tag set;

[0044] Receive the second address book read instruction sent by the client, and obtain the tag features in the second address book read instruction.

[0045] In yet another embodiment, the filtering unit is specifically used for:

[0046] Determine from the historical log whether it includes the historical address book user confirmation records corresponding to the user identifier and the visible tag;

[0047] If yes, then determine the set of communication users from the historical address book user determination records, and send it to the client; if not, then obtain the user visibility rules.

[0048] To achieve the above objectives, according to another aspect of the present invention, an electronic device is provided.

[0049] An electronic device according to an embodiment of the present invention includes: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the contact data processing method provided in the embodiment of the present invention.

[0050] To achieve the above objectives, according to another aspect of the present invention, a computer-readable medium is provided.

[0051] An embodiment of the present invention provides a computer-readable medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method for processing contact data provided in the embodiment of the present invention.

[0052] One embodiment of the above invention has the following advantages or beneficial effects: In this embodiment of the invention, after receiving the address book reading instruction sent by the client, the corresponding address book tag can be identified based on the tag features therein, and then the visible tag corresponding to the user can be determined. Then, the first set of communication users and the second set of communication users are determined by combining the visible tag and the user visibility rules, and sent to the client for display. In this way, since address book tags are set, when the client reads the address book users, the server can combine the visible tag and the user visibility rules to determine the corresponding visible address book users, thereby further filtering the visible address book users of the user. This can reduce the number of visible address book users that the user can read, determine the address book users that are more in line with the user's needs, and thus simplify the operation process and improve the operation efficiency when the user selects from the visible address book.

[0053] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description

[0054] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein:

[0055] Figure 1 This is a schematic diagram of a client-side task creation interface according to an embodiment of the present invention;

[0056] Figure 2 This is a schematic diagram of the main flow of a method for processing contact data according to an embodiment of the present invention;

[0057] Figure 3 This is a schematic diagram of a client displaying a set of communication users according to an embodiment of the present invention;

[0058] Figure 4 This is a schematic diagram of another main process of the contact data processing method according to an embodiment of the present invention;

[0059] Figure 5 This is a schematic diagram of the main units of a contact data processing device according to an embodiment of the present invention;

[0060] Figure 6 This is an exemplary system architecture diagram in which embodiments of the present invention can be applied;

[0061] Figure 7 This is a schematic diagram of the structure of a computer system suitable for implementing embodiments of the present invention. Detailed Implementation

[0062] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0063] It should be noted that, unless otherwise specified, the embodiments and features described in the embodiments of this invention can be combined with each other. The acquisition, storage, use, and processing of data in the technical solutions of this application all comply with the relevant provisions of national laws and regulations.

[0064] This invention provides a contact data processing system, which can be used in scenarios involving contact data processing, specifically in scenarios involving reading contact users' contact information in a communication system.

[0065] In this embodiment of the invention, the contact data processing system can specifically be a communication system, which includes a server and a client. The server and client establish a data connection for data transmission. The client may include a display device for interaction with the user. When using the communication system, the user can input data through the client. The client can interact with the server based on the user's input data to obtain and display the data required by the user.

[0066] Specifically, in scenarios such as creating tasks through a communication system, users need to select participating users from their address book within the system. Therefore, when creating a task, users can access their address book. In this embodiment of the invention, the created task may include schedules, to-do items, meeting invitations, surveys, etc. Within the communication system, an organizational structure for address book users can be established, and visibility rules can be set to determine which address book users are visible to different users. For example, such as... Figure 1 The image shown is a schematic diagram of an interface for a user to create a task through a client in a communication system. Figure 1 In the context of the task, "New Task" indicates the currently created task. "Personnel Information" shows the personnel involved in the task, and "Collaborators" indicates the personnel required to participate. Users can trigger a contact list retrieval command by clicking the plus sign in the Collaborators section. The client then sends the contact list retrieval command to the server. The server processes the command and returns the result to the client for display. The processed contact list contains the user's visible contacts. The client can then display these contacts to help users find the desired user for task creation.

[0067] To enable the server to more accurately identify contacts when a user accesses their address book, thus better meeting the user's task creation requirements, this embodiment of the invention allows for the setting of address book tags for each user. These tags can include various types to represent the characteristics a user possesses. When a user accesses their address book, they input these tag characteristics, and the server, based on these characteristics and preset address book tags, can more accurately identify the user. Furthermore, each address book tag can be configured with corresponding tag visibility rules to determine which tags are visible to different users. Specifically, these tag visibility rules can be set based on RBAC (Role-Based Access Control) permissions.

[0068] In this embodiment of the invention, address book tags can be set by individuals, enterprises using communication systems, and artificial intelligence. Typically, individuals can only set tags for users in their visible address books, while enterprises using communication systems and artificial intelligence can also set address book tags for organizations, indicating that all users included in the organization are associated with the address book tags set for that organization.

[0069] This invention provides a method for processing contact list data, which can be executed by a server in a communication system, such as... Figure 2 As shown, the method includes:

[0070] S201: Receive the address book read command sent by the client and obtain the user identifier and tag features in the address book read command.

[0071] The contact list retrieval command is sent by the client after being triggered by the user. The user can trigger it by clicking a control or entering a command. The command includes a user identifier and tag features. The user identifier indicates which user triggered the command through the client, meaning the user needs to access their contacts. The tag features represent the tag characteristics of the corresponding contact tags within the contact list. Specifically, the tag features can be a characteristic of a contact tag. For example, it could be part of the contact tag name, or characters related to the contact tag, etc.

[0072] S202: Call the preset recognition model to identify the address book tags corresponding to the tag features.

[0073] The recognition model can be pre-trained and can identify tag features to derive the corresponding contact tags. For example, the recognition model can match tag features with a preset set of contact tags to obtain contact tags that include the tag features, and then determine them as the contact tags corresponding to the tag features.

[0074] In some embodiments, the tag feature is not part of the address book tag name, but is a feature used to refer to the address book tag name. In this case, the tag feature needs to be converted first. Therefore, in this step, a preset recognition model needs to be called to identify the tag character corresponding to the tag feature; then, address book tags containing the tag character are matched from the preset tag set and determined as the address book tags corresponding to the tag feature.

[0075] For example, a tag feature can be a single letter, such as 's'. The recognition model then converts this letter into characters in the contact tag name that begin with the pinyin 's', thus deriving the corresponding text, i.e., the tag character.

[0076] S203: Obtain tag visibility rules to calculate the visible tags of user identifiers based on the user information corresponding to the address book tags and user identifiers.

[0077] The tag visibility rules are pre-configured and used to determine the contact tags visible to each user. After obtaining the tag visibility rules in this step, it is possible to determine which contact tags are visible to the user based on the user information corresponding to the user identifier. Then, by combining the contact tags identified in step S202 and taking the intersection of the two, the tags of the contact users required by the user can be determined.

[0078] It should be noted that user information can be obtained based on tag visibility rules. For example, if the tag visibility rule is based on the user's job title, then the user information includes the user's job title.

[0079] S204: Obtain user visibility rules to filter the set of communication users that are visible to the user and associated with the visibility tag based on user information.

[0080] The user visibility rules are pre-set and can be used to determine which contacts are visible to each user in their address book. In this step, after obtaining the user visibility rules, the user information can be combined to determine the contacts visible to the user, and then the set of contact users whose associated tags are the visibility tags calculated in step S203 can be filtered out.

[0081] It should be noted that in a communication system, not all communication users are associated with address book tags. Among these untagged users, there may be users needed to create the task. Therefore, in this step, after determining the address book users visible to the user through visibility rules and user information, users without associated address book tags can be filtered out and added to the communication user set. Alternatively, this step can first request the communication system to set address book tags for untagged users before executing this step, ensuring accurate execution.

[0082] In some embodiments, contact tags can be stored using an inverted index or a Bitmap.

[0083] Specifically, contact tags can be stored in a key-value format, where the key represents the identifier of the contact tag, such as its name, and the value represents the user identifier and organization identifier of the user associated with the contact tag.

[0084] For example, if the contact tag is "graduate student," then the key can be "graduate student," and the value can be a set of user identifiers, organization identifiers, etc., such as [1001, 10098, 20311, 3819]. If it is a contact tag set by an individual, the key value can be obtained by concatenating the individual ID and the tag identifier. For example, if the contact tag is "graduate student" and set for the user with user identifier 20009, then key = 20009 - "graduate student." Since personally set tags are usually visible only to the user, this contact tag storage method allows the server to quickly determine the contact tags that the user can see.

[0085] If the contact tags are stored using a Bitmap method, a tag array needs to be created for the contact tags. Each element in the tag array corresponds one-to-one with a user in the contact list. The element value associated with a user's contact tag is set to a target value, such as 1. For example, if the contact tag is "graduate student," its corresponding tag array is shown in Formula 1, where b0 and b1 are both tag arrays. Each element corresponds to a user in the contact list; an element value of 1 indicates that the user is associated with the graduate student's contact tag, and an element value of 0 indicates that the user is not associated with the graduate student's contact tag.

[0086] b0=[0 1 0 1 0 1 1 0] b1=[1 0 1 1 0 0 0 0] (1)

[0087] Therefore, in this embodiment of the invention, the process of setting contact list tags can be executed as follows: in response to a tag addition instruction, obtain the tag identifier, the corresponding tag visibility rule, and the associated communication user set in the tag addition instruction; call a preset generation model to generate a tag array corresponding to the tag identifier, so that the elements in the tag array correspond one-to-one with each contact list user, wherein the element in the tag array corresponding to the communication user in the associated communication user set is the target value; and store the mapping relationship between the tag identifier, the corresponding tag visibility rule, and the tag array.

[0088] The tag addition command can be sent by the client, and the associated communication user set represents the set of communication users associated with the added address tag.

[0089] It should be noted that, in this embodiment of the invention, the address book tags created by Bitmap can also be stored in a key-value format, where the key represents the identifier of the address book tag, such as the name, and the value represents the tag array corresponding to the address book tag.

[0090] The contact list tags established based on Bitmap can be filtered in step S204 as follows: obtain the tag array of visible tags, and filter the set of undetermined contact users associated with the visible tags based on the target value in the tag data; obtain the user information of each contact user in the set of undetermined contact users, and call the user visibility rules to determine the set of contact users from the set of undetermined contact users.

[0091] The set of pending communication users can be filtered out by the target value in the tag array of each visible tag. Specifically, taking the target value as 1 and the non-target value as 0 as an example, the tag array corresponding to each visible tag can be subjected to the "&" operation to obtain the tag array after the operation. Then, the communication users corresponding to the element values ​​with a value of 1 in the tag array after the operation are determined as the set of pending communication users. The set of communication users is then determined by the user visibility rules.

[0092] It should be noted that in this step, after obtaining the visible tag array, the user visibility rule is called to generate a tag array of users visible to the user's address book. The element corresponding to the user visible to the user's address book is 1, while the element corresponding to the user invisible to the user's address book is 0. Then, the two tag data are combined with an "AND" operation, and the set of communication users is determined based on the elements with a value of 1 in the array after the operation.

[0093] In some embodiments, to simplify the server-side processing, before performing this step, it can be determined from the historical log whether it includes historical address book user identification records corresponding to user identifiers and visible tags. If yes, it means that the server has already processed the address book read instruction including the user identifier and tag features obtained in step S201, so the set of communication users can be directly determined from the historical address book user identification records; if no, it means that the server has not processed the address book read instruction including the user identifier and tag features obtained in step S201, so this step still needs to be performed.

[0094] It should be noted that, in this embodiment of the invention, after obtaining the first set of communication users and the second set of communication users, the two sets can be merged, that is, the union of the two sets can be taken.

[0095] S205: Send the communication user set to the client.

[0096] In this step, the set of communication users is sent to the client so that the client can display it, and then the user can select the user needed to create the task from the contact list displayed on the client.

[0097] It should be noted that, in this embodiment of the invention, the client can group the contact users included in the communication user set to facilitate convenient viewing by the user. Specifically, it can be as follows: Figure 3 The image shown is a schematic diagram illustrating how a client displays a set of communication users. Figure 3 In the client, the address book is divided into several parts: frequently used contacts, organizational structure, my groups, and my contacts, which makes it easier for users to search and create tasks.

[0098] In some embodiments, a user can trigger an address book read command through multiple operations on the client, so that the server can obtain the user identifier and tag features. Therefore, step S201 can be specifically executed as follows: receiving a first address book read command sent by the client, and obtaining the user identifier in the first address book read command; obtaining the tag visibility rules and user information corresponding to the user identifier, so as to calculate the address book tag set corresponding to the user identifier; sending the address book tag set to the client so that the client can display the address book tag set; receiving a second address book read command sent by the client, and obtaining the tag features in the second address book read command.

[0099] After receiving a user's task creation request, the client can first send a first address book read instruction to the server, which includes the user identifier. After obtaining the user identifier, the server can determine the address book tags visible to the user (i.e., the address book tag set) based on tag visibility rules and send this set to the client for display. This allows the user to input tag features based on the displayed address book tag set, making the user's input more accurate. After receiving the user's input tag features, the client can send them to the server via a second address book read instruction, allowing the server to obtain the tag features. Since the server has already calculated the visible tags after receiving the first address book read instruction, subsequent steps S202 and S203 do not need to be executed.

[0100] In this embodiment of the invention, because address book tags are set, when the client reads address book users, the server can combine the visibility tags and user visibility rules to determine the corresponding visible address book users. This further filters the visible address book users, thereby reducing the number of visible address book users that the user can read and identifying address book users that better meet the user's needs. This simplifies the user's selection process from the visible address book and improves operational efficiency.

[0101] The following is combined Figure 4 The illustrated embodiments provide a detailed explanation of the contact data processing method in this invention. Figure 4 As shown, the method includes:

[0102] S401: Receive the address book read command sent by the client and obtain the user identifier and tag features in the address book read command.

[0103] S402: Call the preset recognition model to identify the tag characters corresponding to the tag features; match the address book tags containing the tag characters from the preset address book tag set, and determine them as the address book tags corresponding to the tag features.

[0104] S403: Obtain tag visibility rules to calculate the visible tags of user identifiers based on the user information corresponding to the address book tags and user identifiers.

[0105] S404: Obtain the array of visible tags to filter the set of pending communication users associated with the visible tags based on the target value in the tag data.

[0106] S405: Invoke the user visibility rule to determine the communication user set from the pending communication user set.

[0107] S407: Sends the communication user set to the client.

[0108] It should be noted that the data processing principle in the embodiments of the present invention is the same as... Figure 2 The data processing principles in the illustrated embodiments are the same and will not be repeated here.

[0109] In this embodiment of the invention, because address book tags are set, when the client reads address book users, the server can combine the visibility tags and user visibility rules to determine the corresponding visible address book users. This further filters the visible address book users, thereby reducing the number of visible address book users that the user can read and identifying address book users that better meet the user's needs. This simplifies the user's selection process from the visible address book and improves operational efficiency.

[0110] To address the problems existing in the prior art, embodiments of the present invention provide a contact data processing device 500, such as... Figure 5 As shown, the device 500 includes:

[0111] The receiving unit 501 is used to receive the address book reading instruction sent by the client and obtain the user identifier and tag features in the address book reading instruction;

[0112] The identification unit 502 is used to call a preset identification model to identify the address book tags corresponding to the tag features;

[0113] The calculation unit 503 is used to obtain the tag visibility rules, so as to calculate the visibility tag of the user identifier based on the address book tags and the user information corresponding to the user identifier;

[0114] The filtering unit 504 is used to obtain user visibility rules to filter the set of communication users that are visible to the user and associated with the visibility tag based on the user information;

[0115] The sending unit 505 is used to send the set of communication users to the client.

[0116] It should be understood that the manner in which embodiments of the present invention are implemented is different from the implementation method. Figure 2 The embodiments shown are the same and will not be described again here.

[0117] In one embodiment, the device 500 further includes:

[0118] The response unit is used to respond to the tag addition instruction by obtaining the tag identifier, the corresponding tag visibility rule, and the associated communication user set in the tag addition instruction;

[0119] The generation unit is used to call a preset generation model to generate a tag array corresponding to the tag identifier, so that the elements in the tag array correspond one-to-one with each contact user, wherein the element in the tag array corresponding to the contact user in the associated contact user set is the target value;

[0120] The storage unit is used to store the mapping relationship between the tag identifier, the corresponding tag visibility rule, and the tag array.

[0121] In yet another embodiment, the filtering unit 504 is specifically used for:

[0122] Obtain the tag array of the visible tags, and filter the set of pending communication users associated with the visible tags based on the target value in the tag data;

[0123] Obtain the user information of each communication user in the set of pending communication users, and invoke the user visibility rules to determine the set of communication users from the set of pending communication users.

[0124] In yet another embodiment, the filtering unit 504 is further configured to:

[0125] The user visibility rule is invoked to filter contact users who are visible to the user and have no associated contact tag based on the user information, and then add them to the contact user set.

[0126] In yet another embodiment, the identification unit 502 is specifically used for:

[0127] A preset recognition model is invoked to identify the tag characters corresponding to the tag features;

[0128] Match contact tags containing the tag characters from a preset set of contact tags, and determine them as the contact tags corresponding to the tag features.

[0129] In yet another embodiment, the receiving unit 501 is specifically used for:

[0130] Receive the first contact list read instruction sent by the client, and obtain the user identifier in the first contact list read instruction;

[0131] Obtain the tag visibility rules and the user information corresponding to the user identifier, so as to calculate the address book tag set corresponding to the user identifier;

[0132] Send the contact list tag set to the client so that the client displays the contact list tag set;

[0133] Receive the second address book read instruction sent by the client, and obtain the tag features in the second address book read instruction.

[0134] In yet another embodiment, the filtering unit 504 is specifically used for:

[0135] Determine from the historical log whether it includes the historical address book user confirmation records corresponding to the user identifier and the visible tag;

[0136] If yes, then determine the set of communication users from the historical address book user determination records, and send it to the client; if not, then obtain the user visibility rules.

[0137] It should be understood that the manner in which embodiments of the present invention are implemented is different from the implementation method. Figure 2 or Figure 4 The embodiments shown are the same and will not be described again here.

[0138] In this embodiment of the invention, because address book tags are set, when the client reads address book users, the server can combine the visibility tags and user visibility rules to determine the corresponding visible address book users. This further filters the visible address book users, thereby reducing the number of visible address book users that the user can read and identifying address book users that better meet the user's needs. This simplifies the user's selection process from the visible address book and improves operational efficiency.

[0139] According to embodiments of the present invention, an electronic device and a readable storage medium are also provided.

[0140] An electronic device according to an embodiment of the present invention includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to cause the at least one processor to perform the contact data processing method provided in the embodiment of the present invention.

[0141] Figure 6 An exemplary system architecture 700 is shown, which can be applied to a method or apparatus for processing contact data according to embodiments of the present invention.

[0142] like Figure 6 As shown, system architecture 600 may include terminal devices 601, 602, and 603, a network 604, and a server 605. Network 604 serves as the medium for providing communication links between terminal devices 601, 602, and 603 and server 605. Network 604 may include various connection types, such as wired or wireless communication links or fiber optic cables, etc.

[0143] Users can use terminal devices 601, 602, and 603 to interact with server 605 via network 604 to receive or send messages, etc. Various client applications can be installed on terminal devices 601, 602, and 603.

[0144] Terminal devices 601, 602, and 603 may be, but are not limited to, smartphones, tablets, laptops, and desktop computers, etc.

[0145] Server 605 can be a server that provides various services. The server can analyze and process data such as received product information query requests, and feed back the processing results (such as product information - just an example) to the terminal device.

[0146] It should be noted that the contact data processing method provided in this embodiment of the invention is generally executed by server 605, and correspondingly, the contact data processing device is generally located in server 605.

[0147] It should be understood that Figure 6 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.

[0148] The following is for reference. Figure 7 It shows a schematic diagram of the structure of a computer system 700 suitable for implementing embodiments of the present invention. Figure 7 The computer system shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.

[0149] like Figure 7 As shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 702 or programs loaded from storage section 708 into random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the system 700. The CPU 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0150] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, mouse, etc.; an output section 707 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 710 as needed so that computer programs read from it can be installed into the storage section 708 as needed.

[0151] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 709, and / or installed from removable medium 711. When the computer program is executed by central processing unit (CPU) 701, it performs the functions defined above in the system of this invention.

[0152] It should be noted that the computer-readable medium shown in this invention can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this invention, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this invention, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media can also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0153] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a unit, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0154] The units described in the embodiments of the present invention can be implemented in software or hardware. The described units can also be located in a processor; for example, a processor can be described as including a receiving unit, an identification unit, a calculation unit, a filtering unit, and a sending unit. The names of these units do not necessarily limit the specific unit; for example, a receiving unit can also be described as a "unit with instruction receiving function."

[0155] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs that, when executed by the device, cause the device to perform the contact data processing method provided by the present invention.

[0156] In another aspect, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the method for processing contact data provided in the embodiments of the present invention.

[0157] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for processing contact list data, characterized in that, include: Receive a contact list read command sent by the client, and obtain the user identifier and tag features in the contact list read command; The preset recognition model is invoked to identify the address book tags corresponding to the tag features; Obtain tag visibility rules to calculate the visible tags of the user identifier based on the address book tags and the user information corresponding to the user identifier. The user information is obtained based on the information of setting tag visibility rules. Calculating the visible tags of the user identifier includes: determining the address book tags visible to the user based on the user information corresponding to the user identifier, and determining the intersection between the address book tags visible to the user and the identified address book tags as the visible tags of the user identifier. Obtain user visibility rules to filter the set of communication users that are visible to the user and associated with the visibility tag based on the user information; Send the set of communication users to the client; The step of calling a preset recognition model to identify the contact tag corresponding to the tag feature includes: A preset recognition model is invoked to identify the tag characters corresponding to the tag features; Match contact tags containing the tag characters from a preset set of contact tags, and determine them as contact tags corresponding to the tag features. Here, the tag features refer to features that represent contact tag names and do not belong to contact tag names.

2. The method according to claim 1, characterized in that, Also includes: In response to a tag addition instruction, obtain the tag identifier, the corresponding tag visibility rule, and the set of associated communication users from the tag addition instruction; A preset generation model is invoked to generate a tag array corresponding to the tag identifier, so that the elements in the tag array correspond one-to-one with each contact user, wherein the element in the tag array corresponding to the contact user in the associated contact user set is the target value; The mapping relationship between the tag identifier, the corresponding tag visibility rule, and the tag array is stored.

3. The method according to claim 2, characterized in that, The set of communication users visible to the filtered user and associated with the visible tag includes: Obtain the tag array of the visible tags, and filter the set of pending communication users associated with the visible tags based on the target values ​​in the tag array; Obtain the user information of each communication user in the set of pending communication users, and invoke the user visibility rules to determine the set of communication users from the set of pending communication users.

4. The method according to claim 1, characterized in that, Before sending the set of communication users to the client, the method further includes: The user visibility rule is invoked to filter contact users who are visible to the user and have no associated contact tag based on the user information, and then add them to the contact user set.

5. The method according to claim 1, characterized in that, The method of receiving a contact list read instruction sent by the client, and obtaining the user identifier and tag features in the contact list read instruction, includes: Receive the first contact list read instruction sent by the client, and obtain the user identifier in the first contact list read instruction; Obtain the tag visibility rules and the user information corresponding to the user identifier, so as to calculate the address book tag set corresponding to the user identifier; Send the contact list tag set to the client so that the client displays the contact list tag set; Receive the second address book read instruction sent by the client, and obtain the tag features in the second address book read instruction.

6. The method according to claim 1, characterized in that, The rules for obtaining user visibility include: Determine from the historical log whether it includes the historical address book user confirmation records corresponding to the user identifier and the visible tag; If yes, then determine the set of communication users from the historical address book user determination records, and send it to the client; if not, then obtain the user visibility rules.

7. A device for processing contact list data, characterized in that, include: The receiving unit is used to receive the address book reading instruction sent by the client and obtain the user identifier and tag features in the address book reading instruction; The identification unit is used to call a preset identification model to identify the address book tags corresponding to the tag features; A calculation unit is used to obtain tag visibility rules to calculate the visible tags of the user identifier based on the address book tags and the user information corresponding to the user identifier. The user information is obtained based on information about setting tag visibility rules. Calculating the visible tags of the user identifier includes: determining the address book tags visible to the user based on the user information corresponding to the user identifier, and determining the intersection between the address book tags visible to the user and the identified address book tags as the visible tags of the user identifier. A filtering unit is used to obtain user visibility rules to filter a set of communication users that are visible to the user and associated with the visibility tag based on the user information; A sending unit is used to send the set of communication users to the client; The identification unit is specifically used for: A preset recognition model is invoked to identify the tag characters corresponding to the tag features; Match contact tags containing the tag characters from a preset set of contact tags, and determine them as contact tags corresponding to the tag features. Here, the tag features refer to features that represent contact tag names and do not belong to contact tag names.

8. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.

9. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.