Dynamic intelligent retrieval method of address book organization permission tree based on compression algorithm

By adopting the dynamic intelligent search method of address book organization permission tree based on compression algorithm in large enterprise mailbox systems, the problem of low data processing efficiency of address book organization structure is solved, efficient intelligent search is achieved, and server memory pressure is reduced.

CN119336954BActive Publication Date: 2025-03-18彩讯科技股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411876178.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-03-18
Estimated Expiration
2044-12-19

AI Technical Summary

Technical Problem

The prior art has low efficiency in processing nearly one million address book organizational structure data in large enterprise mailbox systems, and cannot intelligently adjust the search order according to user usage habits, resulting in a linear decrease in query efficiency as the number of users and organizational structures increases.

Method used

The dynamic intelligent search method of address book organization permission tree based on compression algorithm is adopted. By obtaining the string to be retrieved, traversing the stored visible organization structure tree, calculating similarity scores, and dynamically adjusting the search results based on the current user's hotspot usage data.

Benefits of technology

It effectively reduces the server memory pressure and greatly improves the efficiency and intelligent retrieval capabilities of address book organizational structure search.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336954B_ABST
    Figure CN119336954B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method, device, equipment and computer-readable storage medium for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm. The method includes obtaining a string to be retrieved; based on the string, traversing the stored visible organization structure tree to obtain an initial retrieval result; calculating a similarity score based on the string and the initial retrieval result; and obtaining a target retrieval result based on the similarity score and the hotspot usage data of the current user that has been obtained. In this way, the server memory pressure can be effectively reduced, and the efficiency of the address book organization structure search and the intelligent retrieval capability can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of data processing, and in particular to a method, apparatus, device and computer-readable storage medium for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm. Background Art

[0002] For large-scale enterprise mailbox systems, it is often necessary to process nearly one million levels of address book organizational structure data in different usage scenarios. In one of the usage scenarios, for example, in an enterprise mailbox system, when entering the recipient for search on the letter writing page, only users in the organizational structure tree that can be viewed by the user can be searched, and there is no ability to intelligently adjust the search order according to user usage habits.

[0003] In the existing implementation of searching for address book information of address book users, each user stores a viewable organizational structure tree of the user in the cache middleware. Each time a search is performed, the viewable organizational structure tree of the user is obtained from the cache middleware and stored in the temporary memory. After the address book organizational structure is retrieved by the search string, the user can view the organizational structure tree for secondary filtering to obtain and construct the address book organizational structure information to be searched. On the one hand, the pressure on the middleware storage and IO transmission is increased. On the other hand, with the frequent use and release of temporary memory, the service memory recovery faces a lot of pressure. The efficiency of the query decreases linearly with the increase in the number of users and the number of organizational structures, which affects the query effect of the address book organizational structure. Summary of the invention

[0004] According to an embodiment of the present application, a dynamic intelligent retrieval solution for the address book organization permission tree based on a compression algorithm is provided, which can effectively reduce the server memory pressure and greatly improve the efficiency of the address book organization structure search and the intelligent retrieval capability.

[0005] In a first aspect of the present application, a method for dynamic intelligent retrieval of an address book organization authority tree based on a compression algorithm is provided. The method comprises:

[0006] Get the string to be searched;

[0007] Based on the character string, traverse the stored visible organizational structure tree to obtain an initial search result;

[0008] Calculating a similarity score based on the string and the initial search results;

[0009] Based on the similarity score and the acquired hotspot usage data of the current user, a target search result is obtained.

[0010] Furthermore, the visible organizational structure tree includes:

[0011] Traversing the stored address book organization structure tree; the address book organization structure tree includes visible permission information, and the node value is the organization structure ID;

[0012] Mark hidden nodes according to the visible permissions of the address book organizational structure tree and the organizational structure to which the current user belongs;

[0013] The hidden nodes in the address book organizational structure tree are deleted to obtain a visible organizational structure tree.

[0014] Furthermore, obtaining a similarity score based on the character string and the initial search result includes:

[0015] Traversing the initial results to obtain field values ​​of each search result; the field values ​​include name and / or email address;

[0016] Based on the calculation method of the proportion of string matching, the field value of each search result is compared with the string to be searched, and the maximum value of the comparison result is used as the similarity score.

[0017] Furthermore, it also includes:

[0018] Obtaining pre-compressed and stored user hotspot usage data from the cache; the hotspot usage data includes a score for each hotspot and a corresponding organizational structure node array;

[0019] If there is no data in the current cache, then obtain and traverse the user's selected record; the selected record includes the information of the corresponding address book node and the selected time;

[0020] Calculate the temporary hotspot score of the selected record according to the interval between the selected time and the current time; add the temporary hotspot score to the temporary hotspot score of the corresponding address book node;

[0021] After the selected records are traversed, all address book nodes with temporary hotspot scores are traversed; the temporary hotspot score of each address book node is calculated according to the score interval to obtain the final hotspot score;

[0022] Store the address book node IDs with the same hotspot score into the same hotspot score address book array;

[0023] Compress the node IDs of the same hotspot score address book array using a compression algorithm;

[0024] Update the compression results of all hotspot groups into the cache.

[0025] Furthermore, compressing the node IDs of the same hotspot score address book array using a compression algorithm includes:

[0026] Initialize a byte array and multiple hash functions according to the total number of array nodes;

[0027] Calculate the hash function for each node ID in turn; save the calculated value into the corresponding byte group.

[0028] Furthermore, it also includes:

[0029] The hotspot score of each result can be calculated as follows:

[0030] Traverse the compressed usage data corresponding to each hotspot score from high to low;

[0031] The address book ID calculates the traversal results in sequence according to the function in the compressed data;

[0032] All calculation results are matched with the compressed byte data. When the match is successful, the address book ID belongs to the current hotspot score.

[0033] Furthermore, it also includes:

[0034] Record the target search results into the user's selected records;

[0035] Recalculating the hotspot score corresponding to the selected record;

[0036] The recalculated hotspot score is updated to the compressed user hotspot usage data.

[0037] In a second aspect of the present application, a device for dynamic intelligent retrieval of an address book organization authority tree based on a compression algorithm is provided. The device comprises:

[0038] The acquisition module is used to obtain the string to be retrieved;

[0039] A primary search module, used to traverse the stored visible organizational structure tree based on the character string to obtain an initial search result;

[0040] A calculation module, used for calculating a similarity score based on the character string and the initial search result;

[0041] The secondary search module is used to obtain a target search result based on the similarity score and the acquired hotspot usage data of the current user.

[0042] In a third aspect of the present application, an electronic device is provided, which includes a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method described above is implemented.

[0043] In a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method according to the first aspect of the present application is implemented.

[0044] The embodiment of the present application provides a dynamic intelligent retrieval method for the address book organization permission tree based on a compression algorithm, which obtains the character string to be retrieved; based on the character string, traverses the stored visible organization structure tree to obtain an initial retrieval result; based on the character string and the initial retrieval result, calculates a similarity score; based on the similarity score and the acquired hot spot usage data of the current user, obtains a target retrieval result, which can effectively reduce the server memory pressure and greatly improve the efficiency of the address book organization structure search and the intelligent retrieval capability.

[0045] It should be understood that the contents described in the Summary of the Invention are not intended to limit the key or important features of the embodiments of the present application, nor are they intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The above and other features, advantages and aspects of the embodiments of the present application will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0047] Figure 1 An exemplary system architecture 100 is shown to which the method for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm or the device for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm of the present application can be applied;

[0048] Figure 2 It is a flowchart of a method for dynamic intelligent retrieval of an address book organization authority tree based on a compression algorithm according to an embodiment of the present application;

[0049] Figure 3 A block diagram of a dynamic intelligent retrieval device for an address book organization authority tree based on a compression algorithm according to an embodiment of the present application;

[0050] Figure 4 It is a schematic diagram of the structure of a terminal device or a server suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION

[0051] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0052] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0053] Figure 1 An exemplary system architecture 100 is shown to which an embodiment of the method for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm or an apparatus for dynamic intelligent retrieval of an address book organization permission tree based on a compression algorithm of the present application can be applied.

[0054] like Figure 1 As shown, the system architecture 100 may include terminal devices 101, 102, 103, a network 104 and a server 105. The network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0055] Users can use terminal devices 101, 102, 103 to interact with server 105 through network 104 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 101, 102, 103, such as model training applications, video recognition applications, web browser applications, social platform software, etc.

[0056] Terminal devices 101, 102, 103 can be hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Compression Standard Audio Layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Compression Standard Audio Layer 4) players, laptop computers and desktop computers, etc. When terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, multiple software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0057] When the terminal devices 101, 102, and 103 are hardware, a video acquisition device may be installed thereon. The video acquisition device may be any device capable of acquiring video, such as a camera, a sensor, etc. A user may use the video acquisition device on the terminal devices 101, 102, and 103 to acquire video.

[0058] The server 105 may be a server that provides various services, such as a background server that processes data displayed on the terminal devices 101, 102, and 103. The background server may analyze the received data and feed back the processing results (such as search results) to the terminal device.

[0059] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or it can be implemented as a single server. When the server is software, it can be implemented as multiple software or software modules (for example, multiple software or software modules used to provide distributed services), or it can be implemented as a single software or software module. No specific limitation is made here.

[0060] It should be understood that Figure 1 The number of terminal devices, networks and servers in the above is only illustrative. According to the implementation requirements, there may be any number of terminal devices, networks and servers. In particular, when the target data does not need to be acquired remotely, the above system architecture may not include a network, but only include terminal devices or servers.

[0061] like Figure 2 , is a flow chart of a method for dynamic intelligent retrieval of an address book organization authority tree based on a compression algorithm according to an embodiment of the present application. Figure 2It can be seen from the figure that the dynamic intelligent retrieval method of the address book organization authority tree based on the compression algorithm of this embodiment includes the following steps:

[0062] S210, obtaining a character string to be searched.

[0063] In this embodiment, the execution subject (eg Figure 1 The server shown in the figure) can obtain the character string to be retrieved through a wired or wireless connection.

[0064] Furthermore, the execution subject may obtain an electronic device (such as Figure 1 The character string to be retrieved may be a character string to be retrieved sent by a terminal device as shown in FIG. 1 , or may be a character string to be retrieved pre-stored locally.

[0065] S220: Based on the character string, traverse the stored visible organizational structure tree to obtain an initial search result.

[0066] In some embodiments, a visible organizational structure tree may be constructed based on a stored address book organizational structure tree.

[0067] Specifically, based on the pre-stored address book organizational structure tree, a copy of the current user's organizational structure tree is copied, and the user's organizational structure tree is traversed in order. According to the visible permissions of the address book organizational structure tree and the organizational structure to which the current user belongs, the hidden nodes are marked, and the hidden nodes in the address book organizational structure tree are deleted to obtain the visible organizational structure tree. That is, after the traversal is completed, the visible organizational structure tree of the current user is obtained.

[0068] In some embodiments, based on the string to be searched, the visible organizational structure tree is traversed to obtain initial search results.

[0069] S230: Calculate a similarity score based on the character string and the initial search result.

[0070] In some embodiments, based on the initial search results and the character string to be retrieved, a similarity score is calculated according to a character string matching percentage calculation method.

[0071] Specifically, traverse all the search results that hit, obtain the field value used for search in this address book data, such as name, email address, etc., compare it with the search string, and calculate the percentage of matches according to the percentage of string hit matches. For example, if the search field is Zhang and the user name is Zhang San, the percentage of matches is 50%. 100*matching percentage is used as the similarity score of the field. Take the calculated maximum value of the similarity scores of all search fields as the similarity score of this search result.

[0072] S240, obtaining a target search result based on the similarity score and the acquired hotspot usage data of the current user.

[0073] In some embodiments, pre-compressed and stored user hotspot usage data is obtained from a cache; the hotspot usage data includes a score of each hotspot and a corresponding organizational structure node array;

[0074] If there is no data in the current cache, obtain and traverse the user's selected records; the selected record includes the information of the corresponding address book node (department or user) and the selected time, and calculate the temporary hotspot score of the selected record based on the interval between the selected time and the current time. Add the temporary hotspot score to the temporary hotspot score of the corresponding address book node. For example, a record within 1 day can be marked as 16 points, a record within 7 days can be marked as 8 points, a record within a month can be marked as 4 points, a record within a quarter can be marked as 2 points, and a record within a year can be marked as 1 point.

[0075] After the above selected records are traversed, all address book nodes with temporary hotspot scores are traversed; the temporary hotspot score of each address book node is calculated according to the score range to obtain the final hotspot score. For example, if the temporary hotspot score is >= 32 points, the final hotspot score is 50 points; if the temporary hotspot score is 16<=temporary hotspot score<32 points, the final hotspot score is 25 points; if the temporary hotspot score is 8<=temporary hotspot score<16 points, the final hotspot score is 10 points; if the temporary hotspot score is 4<=temporary hotspot score<8 points, the final hotspot score is 5 points; if the temporary hotspot score is <4 points, the final hotspot score is 0 points.

[0076] The address book node IDs with the same hotspot score are stored in the same hotspot score address book array, which can be divided into 4 hotspot score address book arrays: 50 points, 25 points, 10 points, and 5 points.

[0077] The node IDs of the same hotspot score address book array are compressed using a compression algorithm; and the compression results of all hotspot groups are updated to the cache.

[0078] In some embodiments, the node IDs of the same hotspot score address book array may be compressed in the following manner:

[0079] Preferably, a byte array and five hash functions are initialized with a size of 1.5 times the total number of array nodes;

[0080] Calculate the hash function for each node ID in turn; save the calculated value into the corresponding byte group.

[0081] In some embodiments, based on the compressed user hotspot usage data, the hotspot score of each result may be calculated as follows:

[0082] The compressed usage data corresponding to each hotspot score is traversed from high to low. The address book ID calculates the traversal results in sequence according to the function in the compressed data; all calculation results are matched with the compressed byte[] data. When the match is successful, that is, all are matched, the address book ID belongs to the current hotspot score.

[0083] In some embodiments, after the hotspot scores and similarity scores of the search results are added and merged, the top five scores (which can be pre-set according to the actual application scenario) can be sorted to the front, and the remaining data can be returned in the original order to obtain the final search results.

[0084] Furthermore, it also includes:

[0085] The target search result is recorded in the user's selected record; the hotspot score corresponding to the selected record is recalculated; and the recalculated hotspot score is updated to the compressed user hotspot usage data.

[0086] Specifically, the user selects the desired search results from the returned search results and adds them to the recipients;

[0087] Record the selected results into the user's selected records;

[0088] Query all selected records of the node selected by the user, and recalculate the final hotspot score of the node in the above manner;

[0089] Based on the final hotspot score of the node id, obtain the compressed address book array corresponding to the hotspot score;

[0090] Calculate the node ID in turn according to the hash function of the array, and save the calculated value into the corresponding byte[] array;

[0091] Update the new compressed address book array to the cache corresponding to the hotspot score.

[0092] A specific embodiment of the present application is given below:

[0093] Receive the search string input by the user;

[0094] Get the pre-stored address book organization tree:

[0095] Construct the user's visible organizational structure tree based on the organizational structure tree visibility permissions and the organizational structure to which the user belongs;

[0096] According to the string to be searched, traverse the user's visible organizational structure tree to obtain the initial search results;

[0097] Based on the search results and the string to be searched, a similarity score is calculated;

[0098] Get the pre-compressed and stored user hotspot usage data. If it does not exist, go to step 7. Otherwise, go to step 12.

[0099] Get the user's selection record;

[0100] Traverse the records, calculate the temporary hotspot score according to the recorded time, and add it to the address book node;

[0101] Calculate the temporary hotspot score of each node according to the interval to get the final hotspot score;

[0102] Store the address book nodes with the same hotspot score into the same array;

[0103] The nodes in the same array are compressed and stored using a compression algorithm, and the cache is updated;

[0104] Traverse the search results and obtain the hotspot score of each result from the compressed user hotspot usage data;

[0105] After combining the hotspot scores and similarity scores of the search results, the top five data items are sorted to the front, and the remaining data items are returned in the original order to obtain the final search results;

[0106] The search results adopted by the user are recorded in the user's selected records, and the compressed hot spot data is updated.

[0107] According to the embodiments of the present disclosure, the following technical effects are achieved:

[0108] It can effectively reduce server memory pressure and improve the efficiency of address book organizational structure search and intelligent retrieval capabilities.

[0109] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present application.

[0110] The above is an introduction to the method embodiment. The following is a further explanation of the scheme described in this application through an apparatus embodiment.

[0111] Figure 3 FIG. 1 shows a block diagram of a dynamic intelligent retrieval device for an address book organization authority tree based on a compression algorithm according to an embodiment of the present application, as shown in FIG. Figure 3Shown include:

[0112] The acquisition module 310 is used to acquire the character string to be searched;

[0113] A primary search module 320, configured to traverse the stored visible organizational structure tree based on the character string to obtain an initial search result;

[0114] A calculation module 330, for calculating a similarity score based on the character string and the initial search result;

[0115] The secondary search module 340 is used to obtain a target search result based on the similarity score and the acquired hotspot usage data of the current user.

[0116] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the described module can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0117] Figure 4 A schematic diagram of the structure of a terminal device or server suitable for implementing an embodiment of the present application is shown.

[0118] like Figure 4 As shown, the terminal device or server includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 402 or the program loaded from the storage part 408 to the random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the terminal device or server are also stored. The CPU 401, the ROM 402, and the RAM 403 are connected to each other through a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0119] The following components are connected to the I / O interface 405: an input section 406 including a keyboard, a mouse, etc.; an output section 407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, a modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 410 as needed, so that a computer program read therefrom is installed into the storage section 408 as needed.

[0120] In particular, according to an embodiment of the present application, the above method flow steps can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a machine-readable medium, and the computer program includes a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 409, and / or installed from the removable medium 411. When the computer program is executed by the central processing unit (CPU) 401, the above-mentioned functions defined in the system of the present application are executed.

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

[0122] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of the code, and the aforementioned module, program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0123] The units or modules involved in the embodiments described in the present application may be implemented by software or hardware. The units or modules described may also be arranged in a processor. The names of these units or modules do not, in some cases, constitute limitations on the units or modules themselves.

[0124] As another aspect, the present application further provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable storage medium stores one or more programs, and when the above programs are used by one or more processors to execute the method described in the present application.

[0125] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of application involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the aforementioned application concept. For example, the above features are replaced with (but not limited to) technical features with similar functions applied in the present application.

Claims

1. A dynamic intelligent retrieval method for an address book organization authority tree based on a compression algorithm, characterized in that: include: Get the string to be searched; Based on the character string, traverse the stored visible organizational structure tree to obtain an initial search result; Calculating a similarity score based on the string and the initial search results; Obtaining a target search result based on the similarity score and the acquired hotspot usage data of the current user; Also includes: Obtaining pre-compressed and stored user hotspot usage data from the cache; the hotspot usage data includes a score for each hotspot and a corresponding organizational structure node array; If there is no data in the current cache, then obtain and traverse the user's selected record; the selected record includes the information of the corresponding address book node and the selected time; Calculate the temporary hotspot score of the selected record according to the interval between the selected time and the current time; add the temporary hotspot score to the temporary hotspot score of the corresponding address book node; After the selected records are traversed, all address book nodes with temporary hotspot scores are traversed; the temporary hotspot score of each address book node is calculated according to the score interval to obtain the final hotspot score; Store the address book node IDs with the same hotspot score into the same hotspot score address book array; Compress the node IDs of the same hotspot score address book array using a compression algorithm; Update the compression results of all hotspot groups to the cache; A target retrieval result is determined according to the similarity score and the final hotspot score.

2. The method according to claim 1, characterized in that The visible organizational structure tree includes: Traversing the stored address book organization structure tree; the address book organization structure tree includes visible permission information, and the node value is the organization structure ID; Mark hidden nodes according to the visible permissions of the address book organizational structure tree and the organizational structure to which the current user belongs; The hidden nodes in the address book organizational structure tree are deleted to obtain a visible organizational structure tree.

3. The method according to claim 2, characterized in that The obtaining of a similarity score based on the character string and the initial search result includes: Traversing the initial search results to obtain field values ​​of each search result; the field values ​​include name and / or email address; Based on the calculation method of the proportion of string matching, the field value of each search result is compared with the string to be searched, and the maximum value of the comparison result is used as the similarity score.

4. The method according to claim 1, characterized in that: The method of compressing the node IDs of the same hotspot score address book array by using a compression algorithm includes: Initialize a byte array and multiple hash functions according to the total number of array nodes; Calculate the hash function for each node ID in turn; save the calculated value into the corresponding byte group.

5. The method according to claim 4, characterized in that Also includes: The hotspot score of each result can be calculated as follows: Traverse the compressed usage data corresponding to each hotspot score from high to low; The address book ID calculates the traversal results in sequence according to the function in the compressed data; All calculation results are matched with the compressed byte data. When the match is successful, the address book ID belongs to the current hotspot score.

6. The method according to claim 5, characterized in that Also includes: Record the target search results into the user's selected records; Recalculating the hotspot score corresponding to the selected record; The recalculated hotspot score is updated to the compressed user hotspot usage data.

7. A dynamic intelligent retrieval device for address book organization authority tree based on compression algorithm, characterized in that: include: The acquisition module is used to obtain the string to be retrieved; A primary search module, used to traverse the stored visible organizational structure tree based on the character string to obtain an initial search result; A calculation module, used for calculating a similarity score based on the character string and the initial search result; A secondary search module, used to obtain a target search result based on the similarity score and the acquired hotspot usage data of the current user; Also includes: Obtaining pre-compressed and stored user hotspot usage data from the cache; the hotspot usage data includes a score for each hotspot and a corresponding organizational structure node array; If there is no data in the current cache, then obtain and traverse the user's selected record; the selected record includes the information of the corresponding address book node and the selected time; Calculate the temporary hotspot score of the selected record according to the interval between the selected time and the current time; add the temporary hotspot score to the temporary hotspot score of the corresponding address book node; After the selected records are traversed, all address book nodes with temporary hotspot scores are traversed; the temporary hotspot score of each address book node is calculated according to the score interval to obtain the final hotspot score; Store the address book node IDs with the same hotspot score into the same hotspot score address book array; Compress the node IDs of the same hotspot score address book array using a compression algorithm; Update the compression results of all hotspot groups to the cache; A target retrieval result is determined according to the similarity score and the final hotspot score.

8. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Information search method and device, storage medium and computer equipment

    CN112612961A

  • Address book information searching method and device, equipment and storage medium

    CN115510058A