Retrieval method, computing device and storage medium based on attachment content in email
By distinguishing file type and multi-thread matching technology of mail attachments in computing devices, the problem of not being able to retrieve mail attachment content in the prior art is solved, efficient and fast retrieval of attachment content is achieved, and users' office efficiency and interactive experience are improved.
Patent Information
- Application Number
- CN202210130127.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-12
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-11-12
AI Technical Summary
Existing email retrieval technology cannot effectively search the content of email attachments, resulting in users who need to search emails or unzip the compressed packages one by one when looking for specific documents, which is cumbersome and time-consuming.
By receiving a search request in a computing device, it is divided into compressed files and non-compressed file queues according to the file type of the attachment. The content matching of the non-compressed file queue is used to use multi-threaded matching technology, and the compressed file queue is decompressed and merged into the non-compressed file queue to achieve efficient retrieval of the attachment content.
It realizes efficient retrieval of the content of email attachments, reduces user operation steps, improves search speed and user experience, and avoids the problems of missed attachment inspection and repeated searches.
Smart Images

Figure CN114281764B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application filed on November 12, 2021. The original application number is: 2021113364523. The name of the invention is: Retrieval method, computing device and storage medium based on the content of attachments in emails. Technical Field
[0002] The present invention relates to the field of the Internet, and in particular to a retrieval method based on attachment content in an email, a computing device, and a storage medium. Background Art
[0003] Internet technology has ushered in the 21st century into the Information Age, making the generation and dissemination of information more convenient than ever before. As one of the most important Internet services, email has become an integral part of people's work and daily lives. Email retrieval is a key function of email technology.
[0004] Currently, mainstream email search methods mainly focus on categorizing or searching for sender, recipient, subject, full text, attachment name, time information, etc. Although these search functions can basically cover most search operations on emails, they cannot search the attachment content in emails. Summary of the Invention
[0005] In view of the above problems, the present invention is proposed to provide a retrieval method based on the content of attachments in emails, a computing device, and a storage medium that overcome the above problems or at least partially solve the above problems.
[0006] According to one aspect of the present invention, a retrieval method based on the content of attachments in emails is provided, which is executed in a computing device, and includes: receiving a retrieval request, the retrieval request including retrieval information; adding each attachment to a first queue or a second queue based on the file type of the attachment in each email; using the retrieval information, matching the content of each attachment in the first queue, and displaying the attachment corresponding to the content when relevant content is matched; processing each attachment in the second queue, and adding the processed attachments to the first queue; repeating the matching step for each attachment added to the first queue until the matching is completed.
[0007] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, after repeating the matching step for each attachment added to the first queue until the matching is completed, it also includes: associating the attachments matched with relevant content with the retrieval information to generate a retrieval record; and saving the retrieval record.
[0008] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, before the step of dividing each attachment into a first queue and a second queue based on the file format of the attachments in each email, it also includes: matching the retrieval information with the retrieval record; if the match is successful, displaying the attachment corresponding to the successfully matched retrieval record.
[0009] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, the step of adding each attachment to the first queue or the second queue based on the file type of the attachment in each email includes: if the attachment is a non-compressed file, determining to add the attachment to the first queue; if the attachment is a compressed file, determining to add the attachment to the second queue.
[0010] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, the step of deleting audio and video files and binary files from the attachments in the first queue is further included.
[0011] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, the step of matching the content of each attachment in the first queue using the retrieval information includes: creating a thread pool based on the number of processor cores of the computing device; and calling the thread pool to match each attachment in the first queue.
[0012] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, the step of matching the content of each attachment in the first queue using the retrieval information, and displaying the attachment corresponding to the content when relevant content is matched includes: for each attachment in the first queue, reading content of a predetermined size from the attachment, and matching the read content with the retrieval information; if relevant content is matched, ending the matching task of the attachment and displaying the attachment; otherwise, reading content of a predetermined size from the attachment in sequence for matching until the matching task of the attachment is ended.
[0013] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, after the step of dividing each attachment into a first queue and a second queue based on the file type of the attachment in each email, it also includes: deduplicating each attachment in the first queue according to the message digest value of each attachment in the first queue.
[0014] Optionally, in the retrieval method based on the content of attachments in emails according to the present invention, the step of processing each attachment in the second queue and adding the processed attachments to the first queue includes: decompressing each attachment in the second queue and adding the decompressed attachments to the first queue.
[0015] According to another aspect of the present invention, a computing device is provided, comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be suitable for execution by the at least one processor, and the program instructions include instructions for executing the above method.
[0016] According to another aspect of the present invention, a readable storage medium storing program instructions is provided. When the program instructions are read and executed by a computing device, the computing device executes the above method.
[0017] According to the solution of the present invention, by matching the search information with the attachment content of the email, the problem of being unable to search for the attachment of the email in the current email search is compensated, the search function of the email search is expanded, and efficient and reasonable attachment content retrieval is achieved.
[0018] According to the solution of the present invention, by queuing the attachment contents, directly searching the retrievable queue attachments, and processing the attachments that are inconvenient to retrieve before searching (for example, decompressing the compressed files and then searching), the comprehensiveness of the search can be guaranteed, and problems such as missed detection or non-detection of the target attachments can be avoided.
[0019] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are specifically listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present invention. The same reference symbols are used throughout the drawings to represent the same components. In the drawings:
[0021] Figure 1 A schematic diagram of a computing device 100 according to one embodiment of the present invention is shown;
[0022] Figure 2 A flowchart of a search method 200 based on attachment content in an email according to an embodiment of the present invention is shown;
[0023] Figure 3 A flow chart of a method 300 for retrieving attachments in an email according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0024] Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0025] Email users rely on essential office software for both work and personal life, and email retrieval is a common and crucial feature in email technology. As emails in your mailbox continue to grow, the time required to retrieve each email also accumulates. Currently, mainstream email retrieval methods primarily categorize or search for sender, recipient, subject, full text, attachment name, and time information. These retrieval functions cover the majority of in-mail search operations. However, there is a scenario where a user needs to find a document among numerous email attachments, but they have forgotten the sender and the email title, only vaguely remembering the document's contents. Users don't want to search email by email, and even have to decompress compressed files one by one, which is tedious and time-consuming.
[0026] Therefore, there is a need for a mail attachment content retrieval function that can retrieve the mail attachment content in the mail client process. After finding the corresponding attachment file, the resulting attachment list information is displayed to the user for the user to judge and select.
[0027] Currently, mainstream attachment retrieval technologies only support retrieval of email attachment names, but do not support retrieval of attachment contents.
[0028] To solve the above problems in the prior art, the present invention proposes a solution. One embodiment of the present invention provides a search method based on the content of an attachment in an email, which can be executed in a computing device. Figure 1 FIG. 1 shows a block diagram of a computing device 100 according to an embodiment of the present invention. Figure 1 As shown, in a basic configuration 102, computing device 100 typically includes system memory 106 and one or more processors 104. A memory bus 108 may be used for communication between processor 104 and system memory 106.
[0029] Depending on the desired configuration, the processor 104 can be any type of processor, including, but not limited to, a microprocessor (μP), a microcontroller (μC), a digital signal processing unit (DSP), or any combination thereof. The processor 104 can include one or more levels of cache, such as a level 1 cache 110 and a level 2 cache 112, a processor core 114, and registers 116. An example processor core 114 can include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP core), or any combination thereof. An example memory controller 118 can be used with the processor 104, or in some implementations, the memory controller 118 can be an internal part of the processor 104.
[0030] Depending on the desired configuration, system memory 106 can be any type of memory, including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. Physical memory in a computing device typically refers to volatile RAM. Data stored on a disk must be loaded into physical memory before it can be read by processor 104. System memory 106 can include an operating system 120, one or more applications 122, and program data 124. Applications 122 are essentially multiple program instructions that instruct processor 104 to perform corresponding operations. In some embodiments, applications 122 can be arranged so that one or more processors 104 execute instructions on the operating system using program data 124. Operating system 120, for example, can be Linux, Windows, etc., and includes program instructions for handling basic system services and performing hardware-dependent tasks. Applications 122 include program instructions for implementing various user-desired functions. Applications 122 can be, for example, browsers, instant messaging software, software development tools (such as integrated development environments (IDEs), compilers, etc.), but are not limited thereto. When the application 122 is installed into the computing device 100 , a driver module may be added to the operating system 120 .
[0031] When the computing device 100 is started, the processor 104 reads and executes the program instructions of the operating system 120 from the memory 106. Applications 122 run on top of the operating system 120, utilizing the interfaces provided by the operating system 120 and the underlying hardware to implement various user-desired functions. When a user launches an application 122, the application 122 is loaded into the memory 106, and the processor 104 reads and executes the program instructions of the application 122 from the memory 106.
[0032] Computing device 100 also includes a storage device 132 including removable storage 136 and non-removable storage 138 , both of which are connected to storage interface bus 134 .
[0033] The computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (e.g., output devices 142, peripheral interfaces 144, and communication devices 146) to the basic configuration 102 via the bus / interface controller 130. Example output devices 142 include a graphics processing unit 148 and an audio processing unit 150. These can be configured to facilitate communication with various external devices such as a display or speakers via one or more A / V ports 152. Example peripheral interfaces 144 may include a serial interface controller 154 and a parallel interface controller 156, which can be configured to facilitate communication with external devices such as input devices (e.g., a keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., a printer, scanner, etc.) via one or more I / O ports 158. Example communication devices 146 may include a network controller 160, which can be arranged to facilitate communication with one or more other computing devices 162 via a network communication link via one or more communication ports 164.
[0034] A network communication link can be an example of a communication medium. Communication media can generally be embodied as computer-readable instructions, data structures, program modules in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery medium. A "modulated data signal" can be a signal in which one or more of its data sets or changes thereto can be performed in a manner that encodes information in the signal. As non-limiting examples, communication media can include wired media such as a wired network or a dedicated line network, and various wireless media such as sound, radio frequency (RF), microwave, infrared (IR) or other wireless media. The term computer-readable medium as used herein can include both storage media and communication media.
[0035] The computing device 100 also includes a storage interface bus 134 connected to the bus / interface controller 130. The storage interface bus 134 is connected to a storage device 132, which is suitable for storing data. Example storage devices 132 may include removable storage 136 (e.g., CDs, DVDs, USB flash drives, removable hard drives, etc.) and non-removable storage 138 (e.g., hard disk drives, HDDs, etc.).
[0036] In the computing device 100 according to the present invention, the application 122 includes a plurality of program instructions for executing the method 200 .
[0037] Figure 2 The flowchart of a method 200 for searching based on the content of an attachment in an email according to one embodiment of the present invention is shown. The method 200 is suitable for execution in a computing device (such as the aforementioned computing device 100).
[0038] like Figure 2 As shown, the purpose of method 200 is to implement a retrieval method based on the content of the attachment in the email, starting from step S202.
[0039] In step S202, a search request is received, which includes search information. The search information is the search content entered by the user in the search box of the mailbox. The search information is generally in text format. For example, if a user wants to search for emails related to salary, they can enter "salary" in the search box to retrieve emails related to their salary. "Salary" is the search information.
[0040] In step S204, based on the file type of the attachment in each email, each attachment is added to the first queue or the second queue. It is easy to understand that when searching for attachments, the search information entered by the user needs to be matched with the content of the attachment to obtain the target email. This requires that the content of the attachment can be read by the computing device. However, since the mailbox generally limits the size of the attachment when sending attachments, users generally compress some larger attachments before sending them. However, for attachments whose file type is a compressed file, the computing device cannot read their content. Therefore, it is necessary to search the compressed files and uncompressed files in the attachment separately. Based on this, in some embodiments, if the attachment is in an uncompressed format, it is determined to add the attachment to the first queue. If the attachment is a compressed file, it is determined to add the attachment to the second queue.
[0041] In a specific example, each attachment in the divided first queue is stored in a first directory (for example, the F drive under the computing device disk), and each attachment in the second queue is stored in a second directory (for example, the E drive under the computing device disk).
[0042] In addition to compressed files, attachments may also include some unreadable attachments, such as images, audio and video files, and binary files. Therefore, in some embodiments, audio and video files and binary files are deleted from the attachments in the first queue. Of course, after the attachments in the second queue are decompressed, the audio and video files and binary files also need to be deleted from the decompressed attachments.
[0043] In addition, when sending emails, users may repeatedly send multiple emails due to operational errors or errors in the emails sent, resulting in duplicate attachments in the attachments. To this end, in some embodiments, each attachment in the first queue is deduplicated based on the message digest value of each attachment in the first queue. The message digest value is the MD5 value of the attachment. The MD5 message digest algorithm (English: MD5 Message-Digest Algorithm) is a widely used cryptographic hash function that can generate a 128-bit (16-byte) hash value (hash value) to ensure that the information transmission is complete and consistent. It should be noted that for the attachments in the second queue, after decompression, the decompressed attachments are also deduplicated using the message digest value.
[0044] By filtering the attachment format and checking for duplicates based on the file's MD5 unique identifier, unnecessary file processing can be reduced and the speed and efficiency of attachment retrieval can be improved.
[0045] In step S206, the search information is used to match the content of each attachment in the first queue, and when relevant content is matched, the attachment corresponding to the content is displayed.
[0046] Specifically, first, a thread pool is created based on the number of processor cores on the computing device. The size of the thread pool is determined by the number of processor cores on the computing device. The number of processor (CPU) cores generally refers to the number of physical cores, also known as cores. A dual-core processor includes two independent CPU core units, while a quad-core processor includes four independent CPU core units. These are the central computing units that process various data. Multi-core processors can effectively improve the CPU's multitasking capabilities, or reduce CPU utilization and improve computing efficiency. Typically, one core corresponds to one thread. However, Intel has developed Hyper-Threading technology, which allows one core to handle two threads, and six cores to handle 12 threads. The advantage of Hyper-Threading is that it significantly enhances CPU multi-threading capabilities without adding physical cores. Currently, mainstream CPUs generally start with four cores, regardless of whether the CPU in the current email client's operating environment supports Hyper-Threading technology. However, the size of the thread pool should not affect the normal operation of the system or other user operations. Preferably, half of the CPU cores in the computing device are enabled to construct the thread pool. Specifically, the thread pool size is N = K / 2, where N is the thread pool size and K is the number of CPU cores on the computing device. The minimum value of K is 1.
[0047] Next, the thread pool is called to match each attachment in the first queue. Each thread is assigned to a matching task, which matches the searched information with the content of a single attachment. Enabling the thread pool for large-scale email searches can avoid interface lag, improve search efficiency, and reduce search time.
[0048] Furthermore, considering that attachments are large or contain a lot of content, it takes more time and resources to fully match the search information with the content of the attachment. Preferably, in some embodiments, when matching the search information with the content of an attachment, it specifically includes:
[0049] First, for each attachment in the first queue, content of a predetermined size is read from the attachment, and the read content is matched with the search information.
[0050] In a specific example, since attachments in daily office emails are not very large, typically only about 1 or 2 MB in size, and many attachments are only a few hundred KB in size, the predetermined size of the content read from the attachment each time can be set to 200 ± 50 KB by default.
[0051] Then, if relevant content is matched, the matching task of the attachment is ended and the attachment is displayed. Otherwise, the content of a predetermined size is read from the attachment in sequence for matching until the matching task of the attachment is ended. It should be noted that when the content read for the first time does not match the search information, when the content is read for the second time, the file reading pointer is offset forward by several characters. Preferably, the offset character length = the length of the attachment content search information, to prevent the problem that the search information exists at the end of each content block read and the head of the next content block, and the matching cannot be successful.
[0052] When a matching attachment is retrieved, the matching attachment is saved in a designated storage directory so that the user can view and use it conveniently and quickly.
[0053] In this embodiment, when matching the content of an attachment with the search information, only a certain size of data of the attachment content is read each time to match the search information. If the match is successful, the search matching of the current attachment is terminated and the file information is displayed in the result display window. Preferably, the file can be copied to a designated directory for storage so that subsequent users can easily access it. If the match is not successful, the remaining content in the attachment is read again for matching until all the contents of the attachment are read. By reading the file content of a fixed size each time for search matching, especially for relatively large files, unnecessary file reading is reduced, and user search efficiency and search speed are improved.
[0054] In some embodiments, the Sunday algorithm is used to match the read content with the search information. Using the current mainstream and efficient Sunday algorithm for string retrieval to implement attachment file content retrieval and matching can improve string retrieval and query efficiency, thereby improving retrieval efficiency.
[0055] In step S208, each attachment in the second queue is processed and added to the first queue. As previously mentioned, each attachment in the second queue is a compressed file. Therefore, after the attachments in the first queue are retrieved, each attachment in the second queue is decompressed and added to the first queue. After decompressing each attachment in the second queue, the storage directory used to store the attachments in the second queue is cleared to avoid wasted disk space on the user's system. The decompressed attachments are then restored to the corresponding storage directory in the first queue.
[0056] In step S210, the matching step is repeated for each attachment added to the first queue until the matching is completed. Thus, the search for all attachments in the email is completed.
[0057] In some embodiments, the method 200 further includes:
[0058] The attachments that match the relevant content are associated with the search information to generate a search record. Specifically, the search information, email account name, email ID, attachment name, and result file name are used to represent a search result file (i.e., a search record).
[0059] Save search records. When the user searches for attachments again, the search records can be used to match historical search information, avoiding full search comparison each time, reducing search time, improving repeated search efficiency, and enhancing user interaction experience. Search records can be saved to a storage device, which refers to a device used to save search records. In some embodiments, the storage device can be a local disk, such as the C drive or D drive in the computing device, or a relational database such as MySQL, ACCESS, or a non-relational database such as NoSQL. It can also be a local database residing in the computing device 100, or it can be set up in multiple geographical locations as a distributed database such as HBase. In short, the storage device is used to store data, and the present invention does not limit the specific deployment and configuration of the storage device. The computing device 100 can be connected to the storage device and obtain data stored in the storage device. For example, the computing device 100 can directly read data in the storage device (when the storage device is a local database of the computing device 100), or it can access the Internet through a wired or wireless method and obtain data in the storage device through a data interface.
[0060] Based on this, when performing a new attachment search, after receiving the user's search request, the search information is matched with the search record. If the match is successful, the attachment corresponding to the successfully matched search record is displayed. Otherwise, the execution step is based on the file format of the attachment in each email, and each attachment is divided into a first queue and a second queue. Of course, different search interfaces can also be set in the search interface of the mailbox, for example, a first interface and a second interface. When the user selects the first interface to search, only the search information is matched with the search record. When the user selects the second interface to search, the above method 200 is executed.
[0061] In a specific example, refer to Figure 3 , Figure 3 A flow chart of a method 300 for retrieving attachments in an email according to an embodiment of the present invention is shown.
[0062] like Figure 3 As shown, in the first step, the user clicks on the email attachment search item and enters the search information. For ease of description, for example, if AAA is currently entered, the user can choose the first search mode (first interface) or the second search mode (second interface) (the second search mode does not perform a record matching check in the storage device).
[0063] In the second step, if the "first interface" is clicked, the input search information AAA is matched with the search records in the storage device to detect whether there is a matching historical search record.
[0064] The third step is to display the matching historical search results if there are matching historical records, that is, to display the attachments corresponding to the search records.
[0065] Step 4: If no matching attachment is found in the search record, perform a second search mode search.
[0066] The fifth step is to go through all emails, find all attachments, and add the attachments to the first and second queues based on whether they are compressed files. (The first queue is for uncompressed files, and the second queue is for compressed files.) Files whose content cannot be retrieved from the first queue (such as binary files like images) are removed. Then, each attachment in the first queue is deduplicated using the file's MD5 as a unique identifier.
[0067] In the sixth step, multi-threading technology is used to create a thread pool of N threads to search the contents of each attachment in the first queue. When searching for the content of an attachment, only Y (KB) of content is read at a time, and the efficient string Sunday algorithm is used to match the search information. If a match is successful, the search and matching of the current attachment is terminated, the attachment content is displayed in the result display window, and the attachment is copied to a designated directory for subsequent user access. If a match is not successful, the remaining content of the attachment is read and matched until all the contents of the attachment are read.
[0068] In step 7, after processing the first queue, the second queue is checked for compressed files. If there are any, a compressed attachment is retrieved and decompressed into the specified directory. Step 5 is repeated, going through all the decompressed attachments and saving them to the first queue. The process then continues with any additional attachments added to the first queue.
[0069] In the eighth step, users can view the search results in real time through the search result display dialog box. Users can terminate the attachment content search operation at any time. When users see the attachment they need to search, they can terminate the search to reduce unnecessary search operations and reduce the performance consumption of the email client.
[0070] The ninth step is to associate the retrieved attachment with the retrieval information and save the retrieval information to a storage device.
[0071] The method provided by the present invention provides an attachment content retrieval function that is not available on the market. It can help users use multi-threaded background retrieval of attachment content to find attachment objects without affecting their own work, reducing users' unnecessary email searches or compressed attachment files, decompressing and viewing them one by one, etc., thereby improving users' office efficiency and enhancing users' interactive usage experience.
[0072] The various techniques described herein may be implemented in conjunction with hardware or software, or a combination thereof. Thus, the methods and apparatus of the present invention, or certain aspects or portions of the methods and apparatus of the present invention, may be implemented in the form of program codes (i.e., instructions) embedded in a tangible medium, such as a removable hard disk, a USB flash drive, a floppy disk, a CD-ROM, or any other machine-readable storage medium, wherein when the program is loaded into a machine such as a computer and executed by the machine, the machine becomes an apparatus for practicing the present invention.
[0073] When the program code is executed on a programmable computer, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store the program code; the processor is configured to execute the method of the present invention according to the instructions in the program code stored in the memory.
[0074] By way of example and not limitation, readable media include readable storage media and communication media. Readable storage media store information such as computer-readable instructions, data structures, program modules, or other data. Communication media typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and include any information delivery medium. Combinations of any of the above are also included within the scope of readable media.
[0075] In the description provided herein, the algorithms and displays are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems may also be used in conjunction with the examples of the present invention. Based on the above description, it is apparent that the structure required for constructing such systems is well understood. In addition, the present invention is not directed to any specific programming language. It should be understood that various programming languages may be utilized to implement the present invention described herein, and the description of specific languages above is provided for the purpose of disclosing preferred embodiments of the present invention.
[0076] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.
[0077] Similarly, it should be understood that in order to streamline the disclosure and aid understanding of one or more of the various inventive aspects, in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim.
[0078] Those skilled in the art will appreciate that the modules, units, or components of the devices in the examples disclosed herein may be arranged in the device described in the embodiment, or alternatively may be located in one or more devices different from the devices in the examples. The modules in the foregoing examples may be combined into one module or further divided into multiple submodules.
[0079] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition may be divided into multiple submodules or subunits or subcomponents. All features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed herein may be combined in any combination, except that at least some of such features and / or processes or units are mutually exclusive. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0080] Furthermore, those skilled in the art will appreciate that although some embodiments described herein include certain features and not other features included in other embodiments, the combination of features from different embodiments is intended to be within the scope of the invention and to form different embodiments.
[0081] In addition, some of the embodiments are described herein as methods or combinations of method elements that can be implemented by a processor of a computer system or by other devices that perform the functions described. Thus, a processor having the necessary instructions for implementing the method or method element forms a device for implementing the method or method element. Furthermore, the elements described herein of the device embodiments are examples of devices for implementing the functions performed by the elements for the purpose of implementing the invention.
[0082] As used herein, unless otherwise specified, the use of ordinal numbers "first," "second," "third," etc. to describe common objects merely indicates that different instances of similar objects are involved and are not intended to imply that the objects so described must have a given order in time, space, ranking, or in any other manner.
[0083] Although the present invention has been described with respect to a limited number of embodiments, it will be apparent to those skilled in the art, having benefit of the foregoing description, that other embodiments are contemplated within the scope of the invention thus described. Furthermore, it should be noted that the language used in this specification has been selected primarily for readability and didactic purposes, rather than for the purpose of explaining or limiting the subject matter of the present invention. Consequently, many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the appended claims. The disclosure of the present invention is intended to be illustrative and not restrictive of the scope of the invention, which is defined by the appended claims.
Claims
1. A retrieval method based on the content of an attachment in an email, executed in a computing device, the method comprising: receiving a search request, wherein the search request includes search information; matching the search information with the search records; If the match is successful, the attachment corresponding to the successfully matched search record will be displayed; Based on the file type of the attachment in each email, each attachment is added to the first queue or the second queue respectively, wherein if the attachment is an uncompressed file, the attachment is determined to be added to the first queue; if the attachment is a compressed file, the attachment is determined to be added to the second queue; Matching the contents of each attachment in the first queue using the search information, and displaying the attachment corresponding to the content when relevant content is matched, specifically comprising: for each attachment in the first queue, reading a predetermined size of content from the attachment, and matching the read content with the search information; if relevant content is matched, ending the matching task for the attachment and displaying the attachment; otherwise, sequentially reading a predetermined size of content from the attachment for matching until the matching task for the attachment is ended, wherein each time the content read from the attachment is offset forward by a predetermined number of characters from the end character of the content read previously, and the predetermined number is the same as the number of characters in the search information; Processing each attachment in the second queue and adding each processed attachment to the first queue, specifically comprising: decompressing each attachment in the second queue and adding each decompressed attachment to the first queue; clearing a storage directory for storing each attachment in the second queue; Repeat the matching step for each attachment added to the first queue until the matching is completed.
2. The method according to claim 1, wherein After repeating the matching step for each attachment added to the first queue until the matching is completed, the method further includes: Associating the attachments that match the relevant content with the search information to generate a search record; The search record is saved.
3. The method according to claim 1, wherein Also includes the steps: Delete audio and video files and binary files from the attachments in the first queue.
4. The method according to claim 1, wherein The step of matching the contents of each attachment in the first queue using the search information includes: Creating a thread pool according to the number of processor cores of the computing device; The thread pool is called to match each attachment in the first queue.
5. The method according to claim 3, wherein: After the step of dividing the attachments in each email into a first queue and a second queue based on the file type of the attachments, the method further includes: Deduplication processing is performed on each attachment in the first queue according to the message digest value of each attachment in the first queue.
6. A computing device comprising: at least one processor; and A memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, and the program instructions include instructions for executing the method according to any one of claims 1 to 5.
7. A readable storage medium storing program instructions, wherein when the program instructions are read and executed by a computing device, the computing device is caused to execute the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Mail look-up processing method and system based on attachments
CN103490988A
System and method for sorting attachments in an integrated information management application
US20090037407A1