Email data storage platform and method
By grouping and storing emails in memory, the high-concurrency disk I/O problem caused by concurrent access is solved, improving the performance of the email server and the user experience.
Patent Information
- Application Number
- PCT/CN2025/112144
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-08
- Filing Date
- 2025-08-01
- Publication Date
- 2026-02-12
AI Technical Summary
Existing email data storage methods result in high-concurrency disk I/O during concurrent access, impacting mail server performance, and the issue of read/write performance degradation has not been effectively resolved.
An email data storage system is used to store emails in groups. Based on preset rules, emails are written to group data files on the storage medium, and when an access request is received, the group data files are cached in memory to reduce concurrent disk I/O.
It improves the hot data hit rate of email data, reduces I/O consumption of storage media, and enhances the system performance and user experience of the mail server.
Smart Images

Figure CN2025112144_12022026_PF_FP_ABST
Abstract
Description
An email data storage platform and method
[0001] The present application claims priority to the Chinese patent application No. 202411080350.3, filed on August 8, 2024, and entitled "An email data storage platform and method", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the field of computer software, in particular to an email data storage platform and method. BACKGROUND
[0003] Emails are commonly used for work communication between employees within an enterprise (such as sending office notices), or for business contact with people outside the enterprise. Email data is stored on the email server of the enterprise, and based on the need for historical email review or audit, the email data needs to be stored on the email server for a long time; and the email contains attachments, which will result in large files, so the email server consumes a large amount of disk I / O when reading, writing and querying email data. In some cases, there are two ways to store email data, as shown below.
[0004] The first way is Maildir, which stores each email as an independent file and establishes a user folder for each user, and further establishes subfolders such as "inbox" and "outbox" under the user folder, and the email files are saved under the subfolders. The defect of this storage method is that when the number of files (i.e. emails) in a subfolder exceeds a certain number, the read-write performance of the email server for the files in the subfolder will be greatly reduced, resulting in slow user mailbox access speed.
[0005] The second way is Mailbox, which stores all emails of a user in one file. This method solves the read-write performance degradation problem of Maildir when the number of files exceeds a certain number. When each user accesses the mailbox, the user's email data file will be loaded into the memory of the email server, improving the user's mailbox access speed. However, in the application scenario of enterprise email systems, this method has the following problems: when users access the mailbox concurrently during working hours, the email data files of concurrent users compete to load from the disk to the memory, resulting in high concurrent disk I / O, which reduces the overall performance of the email server. SUMMARY
[0006] The purpose of the present application is to provide an email data storage platform and method that can improve the hot data hit rate of email data, thereby greatly reducing the I / O consumption of storage media and improving system performance.
[0007] To achieve the above object, the application provides the following scheme.
[0008] In a first aspect, the application provides an email data storage platform, comprising an email data storage system; the email data storage system runs in an email server, and the email server comprises a storage medium; or, the email data storage system runs independently, and the email data storage platform is connected with the email server and the storage medium respectively.
[0009] The email data storage system is configured to: group the emails received by the email server in the memory based on a preset email grouping rule, to obtain a corresponding grouping mark; write the emails into a corresponding grouping data file on the storage medium according to the grouping mark; when the grouping data file corresponding to the grouping mark reaches a predefined size, establish a new grouping data file for the grouping mark, and write the emails corresponding to the grouping mark and received after the establishment of the new grouping data file into the new grouping data file; when receiving a mail access request of a user, determine the corresponding grouping data file according to the email corresponding to the mail access request, and then cache the emails in the grouping data file into the memory for calling.
[0010] In a second aspect, the application provides an email data storage method applied to an email data storage platform, comprising the following steps: receiving an email through an email server; performing the following operations through an email data storage system: grouping the email in the memory based on a preset email grouping rule, to obtain a corresponding grouping mark; writing the email into a corresponding grouping data file on a storage medium according to the grouping mark; when the grouping data file corresponding to the grouping mark reaches a predefined size, establishing a new grouping data file for the grouping mark, and writing the emails corresponding to the grouping mark and received after the establishment of the new grouping data file into the new grouping data file; when receiving a mail access request of a user, determining the corresponding grouping data file according to the email corresponding to the mail access request, and then caching the emails in the grouping data file into the memory for calling. BRIEF DESCRIPTION OF DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the following will briefly introduce the drawings needed in the embodiments. Obviously, the drawings in the following description are only some embodiments of the application, and for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.
[0012] FIG. 1 is a structural schematic diagram of an email data storage system according to one or more embodiments.
[0013] FIG. 2 is a flow schematic diagram of an email data storage method according to one or more embodiments. DETAILED DESCRIPTION
[0014] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.
[0015] In order to make the purposes, features and advantages of the present application more obvious and easy to understand, the present application will be further described in detail below with reference to the drawings and specific embodiments.
[0016] In an exemplary embodiment, the present application provides an email data storage platform, which comprises an email data storage system. The email data storage system comprises two running modes. One is that the email data storage system runs in an email server, and the email server comprises a storage medium. The other is that the email data storage system runs independently, and the email data storage platform is connected with the email server and the storage medium respectively.
[0017] The above two running modes correspond to two use scenarios in actual use. One is that the email data storage system provided by the present application is taken as a whole with the email server and the storage medium, the email data storage system runs in the email server, and the email data storage system and the corresponding storage medium jointly realize the processing of the email. The other is that the email data storage system provided by the present application is taken as a whole, can run in different email servers of different companies, replace the original storage system of the email server, and then be connected or communicated with the corresponding storage medium of the different companies, and then execute the corresponding email data storage function.
[0018] The email data storage system is configured to: group the emails received by the email server in memory based on preset email grouping rules to obtain corresponding grouping tags; write the emails into corresponding grouping data files on the storage medium according to the grouping tags; when the grouping data file corresponding to the grouping tag reaches a predefined size, establish a new grouping data file for the grouping tag, and write the emails corresponding to the grouping tag received after the establishment of the new grouping data file into the new grouping data file; when a user's mail access request is received, determine the corresponding grouping data file according to the emails corresponding to the mail access request, and then cache the emails in the grouping data file into memory for calling.
[0019] As shown in FIG. 1, the email data storage system includes a mail attribute extraction unit, a user information unit, a grouping rule unit, a grouping chunk information caching unit, a data grouping chunk writing unit, a request response unit, and a log unit.
[0020] The mail attribute extraction unit is configured to extract the corresponding email inherent attribute data from the emails received by the email server. In an embodiment, the email inherent attribute data includes mail sending and receiving attribute data and attachment attribute data; the mail sending and receiving attribute data includes the addressee, the sender, the threshold interval of the mail size, the presence or absence of an attachment, the threshold interval of the attachment size, the mail receiving time range, the mail domain to which the mail belongs, the mail system to which the mail belongs, and the mail header content attribute; and the attachment attribute data includes the encryption of the attachment, the category and form of the attachment encryption, the attachment size, the attachment format type, the attachment content characteristic, the attachment combination relationship (i.e., the mail to which the attachment file belongs), the association relationship between the attachment and the mail header, and the association relationship between the attachment and the mail body.
[0021] In an actual application, the mail attribute extraction unit is further configured to form a mail queue in the memory of the email server according to the order of the received emails from the Internet for subsequent processing.
[0022] The user information unit is connected with the mail attribute extraction unit, and the user information unit is configured to store user attribute data and determine corresponding addressee attribute data based on the email inherent attribute data and the user attribute data. The user attribute data includes a user ID, a name, an email address, a department to which the user belongs, a mobile phone number, identity authentication information (such as whether to use multi-factor identity authentication), preference and behavior habit records, and the user ID has uniqueness and can be used to distinguish users. The addressee attribute data includes addressee inherent attribute data and addressee behavior attribute data.
[0023] In one practical application, the log unit is configured to record and store log information of user login access to the mailbox; the log information includes terminal device information used by the user, operating system environment information, access program information (such as a browser or a mail client software), a login mailbox address, login time information, login location information, identity authentication information at login, and user operation information. The user information unit is connected to the log unit, and the user information unit is further configured to: based on the mailbox address in the email inherent attribute data, match in the user attribute data to obtain corresponding addressee inherent attribute data; and based on the mailbox address in the email inherent attribute data and the corresponding log information, determine addressee behavior attribute data.
[0024] In an embodiment, the grouping rule unit is connected to the mail attribute extraction unit and the user information unit respectively, and the grouping rule unit is configured to: based on preset email grouping rules, determine a grouping tag corresponding to the email according to the email inherent attribute data and the addressee attribute data.
[0025] In one practical application, the preset grouping rules in the grouping rule unit are one or more combinations of a first type rule, a second type rule, and a third type rule, which are all preset rules. Generally, grouping rule types are classified for ease of understanding, and in actual application, different types of rules can be combined for use.
[0026] (1) The first type rule is to add a first type grouping tag to emails with the same email inherent attribute data; that is, to group emails according to their inherent attributes, and the first type rule can include the following multiple rules, which are only examples and can be added, deleted, or adjusted as needed.
[0027] 11) Emails of the same addressee.
[0028] 12) Emails of the same sender.
[0029] 13) Emails with a size within a certain size interval (a plurality of preset email size intervals).
[0030] 14) Emails with attachments or emails without attachments.
[0031] 15) Emails with an attachment size within a certain size interval (a plurality of preset attachment size intervals).
[0032] 16) Emails with the same attachment type or emails of a specified type set (a plurality of preset specified type sets).
[0033] 17) Email whose mail time (usually refers to the receiving time) is in a certain time interval (preset multiple time intervals).
[0034] 18) Email from the same mail domain.
[0035] 19) Email from the same mail system.
[0036] (2) The second type of rule is to add a second type of group tag to emails with the same recipient inherent attribute data; the recipient inherent attribute data includes: recipient's unit data, recipient's department data, recipient's static group data, and recipient's dynamic group data; wherein the recipient's unit data, the recipient's department data, the recipient's static group data, and the recipient's dynamic group data all include corresponding names, levels, and types, such as: the user's unit headquarters department (or subsidiary), the user's first-level department, the user's second-level department, the user's x-level department, etc. Among them, the dynamic group refers to a mail group that can automatically add or remove members in the group according to conditions, similar to the department group in instant messaging. For example: the "department mailbox" in the mail system belongs to the dynamic group, and each department in the company will have a department mailbox address, and all personnel in the department can receive the mail sent to the department mailbox address. If the personnel in the unit organizational structure of the department increase or decrease, the personnel who can receive the mail after sending the mail to the department mailbox address are the current personnel in the department. Static group refers to a group member set manually by an administrator, similar to a manually pulled group in instant messaging. The group members will not automatically change according to other conditions, and can only be manually added or removed by the administrator.
[0037] When grouping emails according to the inherent attributes of the users to which the emails belong, the specific rules of the second type of rule can include the following multiple rules, which are only examples and can be added, deleted, or adjusted as needed.
[0038] 21) Emails of users in the same headquarters department (or subsidiary).
[0039] 22) Emails of users in the same first-level department.
[0040] 23) Emails of users in the same second-level department.
[0041] 24) Emails of users in the same x-level department.
[0042] 25) Emails of users in a certain department set (preset multiple department sets).
[0043] (3) The third type of rule is to add a third type of grouping tag to emails with the same recipient behavior attribute data. The recipient behavior attribute data includes the recipient's access frequency, access time period, recipient activity, authentication factors contained in the recipient's identity authentication information, and the recipient's access location. That is, emails are grouped according to the behavior characteristics of the user to which the email belongs. The specific rules of the third type of rule can include the following multiple rules, which are only examples and can be added, deleted, or adjusted as needed.
[0044] 31) Emails of users who log in to the email system at the same common location, or emails of users who log in to the email system at a common location within a preset set of locations (a preset multiple sets of locations).
[0045] 32) Emails of users who frequently log in at the same time (a preset multiple time periods).
[0046] 33) Emails of users with the same activity level (a preset activity level standard, such as logging into the mailbox at least once per week).
[0047] 34) Emails of users who log in to the mailbox using multi-factor authentication (such as password verification, verification code verification, etc.).
[0048] The grouping and chunking information caching unit is configured to store the location of the grouping data file and the corresponding grouping tag. Specifically, the grouping and chunking information caching unit caches the grouping tag and the data file location that can be written to the email in the memory of the email server.
[0049] The data grouping and chunking writing unit is connected to the grouping rule unit and the grouping and chunking information caching unit. The data grouping and chunking writing unit is configured to determine the location of the corresponding grouping data file based on the grouping tag corresponding to the email, and then write the email into the corresponding grouping data file on the storage medium. In an embodiment, the data storage type of the storage medium is file storage, block storage, or object storage, and the storage medium is a server local disk, a NAS (Network Attached Storage) storage device, a SAN (Storage Area Network) storage device, or cloud storage.
[0050] In one practical application, the data packet chunk writing disk unit is based on the packet mark corresponding to the email, and when the packet chunk information cache unit is used to find the location of the corresponding packet data file, a first search result or a second search result is obtained; the first search result indicates that the location of the packet data file corresponding to the packet mark is found in the packet chunk information cache unit; the second search result indicates that the location of the packet data file corresponding to the packet mark is not found in the packet chunk information cache unit.
[0051] Based on this, the data packet chunk writing disk unit is further used to: 1) when the first search result is obtained, write the email into the packet data file corresponding to the location; 2) when the second search result is obtained, establish a new packet data file on the storage medium, write the email corresponding to the packet mark received after the establishment of the new packet data file into the new packet data file, and store the packet mark as the packet mark of the new packet data file and the location of the new packet data file into the packet chunk information cache unit.
[0052] The request response unit is used to: when receiving a mail access request of a user, determine the corresponding packet data file according to the email corresponding to the mail access request, and then cache all emails in the packet data file or emails belonging to the user into the memory for calling.
[0053] In summary, the storage mechanism and storage structure in the present application are designed based on the application access characteristics of the email data storage system (i.e. the more recent the email accessed by the user, the higher the frequency of access, and the earlier the email accessed by the user, the lower the frequency of access), with time as the main line, data owner and relationship as the grouping basis, and large-scale data blocks / files as the block packaging unit, which is suitable for storing unstructured data such as email data.
[0054] The email data storage system has two operation modes, one of which is running in an email server, and the other of which is running independently and connected with an email server and a storage medium respectively. Regardless of which operation mode is used, the email data storage system can achieve the following functions: grouping storage of emails, and storage in corresponding group data files; when the group data file reaches a predefined size, a new group data file is established, and emails corresponding to the group mark received after the establishment of the new group data file are written into the new group data file. The email calling based on the above-mentioned group data file storage structure avoids the problem of high concurrent disk I / O (Input / Output) caused by the loading of email data files from the disk to the memory by concurrent users during working hours (i.e., when the work is busy), which reduces the overall running performance of the email server. In other words, the application can improve the storage and read / write performance of the email server for emails (unstructured data), improve the natural hit rate of email hot data, and thus greatly reduce the I / O of the storage medium, improve the performance of the email system, and improve the user experience.
[0055] In another exemplary embodiment, an email data storage method is provided, which is applied to the email data storage platform described in the above embodiment. The method is executed by a computer device, specifically by a terminal or a server, or by a terminal and a server together. In the embodiment of the application, the method comprises the following steps: receiving an email through an email server; then, performing the following operations through an email data storage system: grouping the email in the memory based on a preset email grouping rule to obtain a corresponding group mark; writing the email into a corresponding group data file on a storage medium according to the group mark; when the group data file corresponding to the group mark reaches a predefined size, establishing a new group data file for the group mark, and writing emails corresponding to the group mark received after the establishment of the new group data file into the new group data file.
[0056] The operations performed by the email data storage system can be replaced by steps 201 to 205 as shown in FIG. 2.
[0057] In step 201, the email attribute extraction unit extracts the corresponding email inherent attribute data from the email received by the email server.
[0058] In an embodiment, the email is put into the memory of the email server, and then the inherent attribute information of the email itself is extracted, including the addressee, the sender, the email size, whether there is an attachment, the attachment size, the attachment file format, the email receiving time, whether it is from the same email domain, whether it is from the same email system, the email header content, and other inherent attribute data.
[0059] In step 202, the user attribute data is stored in the user information unit, and the corresponding addressee attribute data is determined based on the email inherent attribute data and the user attribute data.
[0060] In an embodiment, according to the addressee attribute data in the email inherent attribute data, the user ID of the addressee is found in the user attribute data saved in the user information unit, and the user ID of the corresponding user is added to the email as a mark to distinguish the user to which the email belongs. Then, the addressee attribute data is determined, including the inherent attribute data of the addressee and the behavior attribute data of the addressee.
[0061] In step 203, the grouping rule unit is used to determine the grouping mark corresponding to the email based on the preset email grouping rule according to the email inherent attribute data and the addressee attribute data.
[0062] In an embodiment, the relevant content of the preset grouping rule is the same as that in the platform embodiment described above. When the preset grouping rule is the first type of rule, the judgment is made according to the email inherent attribute data; when the preset grouping rule is the second type of rule, the department to which the user belongs (i.e., the belonging unit department in the user attribute data) is found in the user information unit according to the user ID of the corresponding user in step 202 above, and then the judgment is made; when the preset grouping rule is the third type of rule, the behavior characteristics of the user (i.e., the addressee behavior attribute data) are found in the user information unit according to the user ID of the corresponding user in step 202 above, and then the judgment is made.
[0063] In step 204, the data grouping block writing unit is used to find the position of the corresponding grouping data file in the grouping block information cache unit based on the grouping mark corresponding to the email, and then the email is written into the corresponding grouping data file on the storage medium.
[0064] In a specific application example, step 204 specifically includes the following steps.
[0065] (1) When the data grouping block writing unit is used to find the position of the corresponding grouping data file in the grouping block information cache unit based on the grouping mark corresponding to the email, the first search result or the second search result is obtained.
[0066] The first search result represents that the position of the group data file corresponding to the group mark is found in the group chunk information cache unit; that is, at this time, the group mark cache information (group mark, position for continuing to write) in the group chunk information cache unit indicates that the mail containing the group mark has been stored on the storage medium.
[0067] The second search result represents that the position of the group data file corresponding to the group mark is not found in the group chunk information cache unit; that is, at this time, the group mark cache information in the group chunk information cache unit indicates that the mail containing the group mark has not been stored on the storage medium.
[0068] (2) When the first search result is obtained, the data group chunk writing unit writes the electronic mail into the corresponding group data file on the storage medium.
[0069] In a specific example, the process of writing the electronic mail into the group data file is as follows.
[0070] 21) According to the found position for continuing to write in the group chunk information cache unit, the electronic mail (including the user ID and the group mark) is stored into the group data file. If the electronic mail is too large and has not been completely stored, the size of the group data file will reach the threshold, at this time, one of the following two processing methods can be selected.
[0071] Processing method 1 allows the group data file to exceed the threshold, and the electronic mail is continuously written into the current group data file, and the subsequent electronic mail is written into a new group data file.
[0072] Processing method 2 prohibits the group data file from exceeding the threshold, and the data of the electronic mail that has not been written is written into a new group data file.
[0073] 22) After the writing of the electronic mail is completed, the following information is updated in the group chunk information cache unit as cache: group mark, start position of the group data file, and position for continuing to write the group data file.
[0074] (3) When the second search result is obtained, the data group chunk writing unit establishes a new group data file on the storage medium, writes the electronic mail corresponding to the group mark received after the establishment of the new group data file into the new group data file, and stores the group mark as the group mark of the new group data file and the position of the new group data file into the group chunk information cache unit.
[0075] In an embodiment, the data packet block writing unit will create a packet data file on the storage medium, which is composed of a file header and a file body, where the file header contains the packet mark and the file body contains the email (including the user ID belonging to the packet mark). The packet data file has a preset threshold value, and in general, the threshold value is much larger than the size of an email, so the packet data file can store multiple emails. From the perspective of the operating system, this data file is a binary file of unknown format. The processing process is as follows.
[0076] 31) Write a file header containing the packet mark on the storage medium as the file header of a new packet data file.
[0077] 32) Write the email into the file body of the new packet data file, at this time the new packet data file is not yet written, and subsequent emails with the same packet mark can be written after the previous email in the storage location (a fixed size of space can be reserved between two emails for adding extension information, or two emails are closely connected without reserving space).
[0078] In the above step 32), a data compression or data encryption step can be added according to the use requirements, that is, the email is compressed or encrypted (or compressed first and then encrypted) before being written into the file body of the data file.
[0079] 33) After the email is written, update the following information in the packet block information cache unit as cache: packet mark, start position of the data file, and position where the data file can continue to write.
[0080] The processing process of steps 201 to 204 above is the process from receiving an email by the email server to writing the email into the storage medium. The following results can be obtained from the process.
[0081] (1) The email server receives an email from the Internet, and the email data enters the email queue in the server memory of the email attribute extraction unit. After steps 201-204, the email is directly written from the memory to the storage medium, that is, from receiving the email to starting to write to the storage medium is a near real-time processing process.
[0082] (2) Due to the large amount of email sending and receiving, there will be a certain number of emails in the email queue of the email attribute extraction unit, so the above processing of the email is continuous and uninterrupted, and the process of writing the email into the packet data file is also continuous and uninterrupted.
[0083] (3) In the same packet data file, the writing order of the emails is in time sequence, i.e. the email received first is written first, and the email received later is written later.
[0084] (4) The two adjacent data files on the storage medium are also written in time sequence.
[0085] In summary, the data storage structure of the present application is that the emails are written to the storage medium in time sequence to form a packet data file, i.e. the emails in a packet data file have similar time, and the emails in a packet data file are adjacent to each other and have time sequence. In most cases, when a user uses a mailbox to access his / her emails, the most frequently accessed emails are the recent emails, and the more recent the emails are, the more frequently they are accessed, so the emails in a data file have the same or similar access frequency, and the two adjacent data files on the storage medium also have the same or similar access frequency.
[0086] Taking emails as an example, based on the characteristics of user accessing emails, the more recent the emails are, the higher the access frequency is, i.e. the hot and cold data of emails can be determined based on the time of sending and receiving emails, the current email data has much higher data hotness than the email data of the previous day, and the email data within a week has higher data hotness than the email data of the previous week. Based on this, the present application further includes step 205.
[0087] Step 205, when receiving a user's email access request, determining the corresponding packet data file according to the email corresponding to the email access request through a request response unit, and then caching all emails in the packet data file or the emails belonging to the user to the memory for calling.
[0088] In the busy time of an email server, the amount of email data written to the disk is large, and the packet block data file storage method of the present application continuously writes the continuous data in the email queue, avoids the additional consumption of disk I / O caused by writing each email separately, and at the same time ensures that the latest email data of the group always has a high cache hit rate and is not easily squeezed out by cold data access, and the higher the busyness, the higher the new data hit rate.
[0089] In the non-busy time of an email server, the amount of email data written to the disk is small, and the packet block data file storage method of the present application writes the emails in the email queue in sequence, which may have interval pauses. In addition, the busy time and the non-busy time mentioned above generally correspond to working hours and off-work hours, such as the one hour after work and the one hour before work as the busy time of the email server, and other working hours as the non-busy time.
[0090] In the plurality of grouped data files of the storage medium, the recent mail data access of each user in the group provides preheating for the access of other users, that is, when one user accesses the recent mail of his mailbox, the operating system will preload the corresponding data file containing these mails, and the corresponding data file is cached in the memory. Since these data files also contain the mails of other users in the group, when other users access the mailbox, the hot data access at the memory level is realized, and the new mail data hit degree of the mail server is always kept at a high level at non-busy time.
[0091] In summary, the present application relates to a data storage and hot data natural hit method based on time tree organization of unstructured data such as email, which uses data storage mechanism, data storage structure and hot data natural hit mechanism to achieve high hit rate of hot data natural hit, thereby greatly reducing the I / O of the storage medium and improving the system performance. At the same time, the grouping method based on time tree organization in the storage mechanism can be pre-defined and dynamically adjusted to achieve greater flexibility. Not only can it solve the I / O bottleneck problem of common businesses such as email, but also has wide adaptability to similar other businesses
[0092] The technical features of the above embodiments can be combined in any manner. To make the description concise, not all possible combinations of the technical features in the above embodiments are described, but as long as the combinations of the technical features do not exist contradictions, they should be considered as the scope of the present application.
[0093] The principles and implementation modes of the present application are described by applying specific examples in this paper, and the above embodiment description is only used to help understand the method and its core idea of the present application; at the same time, for those skilled in the art, according to the idea of the present application, the specific implementation mode and application range will be changed. In summary, the content of the present application should not be understood as a limitation.
Claims
1. An e-mail data storage platform, wherein, The email data storage platform comprises an email data storage system; The email data storage system runs in an email server, and the email server comprises a storage medium; or the email data storage system runs independently, and the email data storage platform is connected with the email server and the storage medium respectively; The email data storage system is configured to: group the emails received by the email server in the memory based on preset email grouping rules to obtain corresponding grouping marks; According to the grouping marks, the emails are written into corresponding grouping data files on the storage medium; When the grouping data file corresponding to the grouping mark reaches a predefined size, a new grouping data file is established for the grouping mark, and the emails corresponding to the grouping mark and received after the establishment of the new grouping data file are written into the new grouping data file; When a user's mail access request is received, the corresponding grouping data file is determined according to the email corresponding to the mail access request, and then the emails in the grouping data file are cached in the memory for calling.
2. The e-mail data storage platform of claim 1, wherein, The email data storage system comprises: A mail attribute extraction unit configured to extract the inherent attribute data of the emails received by the email server; A user information unit connected with the mail attribute extraction unit and configured to store user attribute data and determine the recipient attribute data based on the inherent attribute data of the emails and the user attribute data; the recipient attribute data comprises inherent attribute data and behavior attribute data of the recipient; A grouping rule unit connected with the mail attribute extraction unit and the user information unit respectively and configured to determine the grouping marks corresponding to the emails based on the inherent attribute data of the emails and the recipient attribute data according to preset email grouping rules; A grouping and chunking information caching unit configured to store the positions of the grouping data files and the corresponding grouping marks; A data grouping and chunking writing unit connected with the grouping rule unit and the grouping and chunking information caching unit respectively and configured to determine the positions of the corresponding grouping data files based on the grouping marks corresponding to the emails, and then write the emails into the corresponding grouping data files on the storage medium; A request response unit configured to, when a user's mail access request is received, determine the corresponding grouping data file according to the email corresponding to the mail access request, and then cache all the emails in the grouping data file or the emails belonging to the user in the memory for calling.
3. The e-mail data storage platform of claim 2, wherein, The email data storage system further comprises a log unit; The log unit is configured to record and store log information of the user's login access to the mailbox; the log information comprises terminal device information, operating system environment information, access program information, login mailbox address, login time information, login location information, identity authentication information at the time of login, and user operation information. The user information unit is connected with the log unit, and the user information unit is further configured to: match the mailbox address in the email inherent attribute data in the user attribute data to obtain corresponding recipient inherent attribute data; and determine recipient behavior attribute data based on the mailbox address in the email inherent attribute data and corresponding log information.
4. The e-mail data storage platform of claim 1, wherein, The data storage type of the storage medium is file storage, block storage or object storage, and the storage medium is a server local disk, a NAS storage device, a SAN storage device or cloud storage.
5. The e-mail data storage platform of claim 2, wherein, The user attribute data includes user ID, name, mailbox address, department of the unit to which the user belongs, mobile phone number, identity authentication information, preference and behavior habit record.
6. The e-mail data storage platform of claim 3, wherein, The preset grouping rule in the grouping rule unit is a combination of one or more of a first type rule, a second type rule and a third type rule. The first type rule is to add a first type grouping mark to emails with the same email inherent attribute data. The second type rule is to add a second type grouping mark to emails with the same recipient inherent attribute data. The third type rule is to add a third type grouping mark to emails with the same recipient behavior attribute data.
7. The e-mail data storage platform of claim 6, wherein, The email inherent attribute data includes email transmission attribute data and attachment attribute data. The email transmission attribute data includes recipient, sender, threshold interval of email size, presence or absence of attachment, threshold interval of attachment size, email receiving time range, email domain to which the email belongs, email system to which the email belongs, and email header content attribute. The attachment attribute data includes whether the attachment is encrypted, attachment encryption category and form, attachment size, attachment format type, attachment content characteristics, attachment combination relationship, attachment and email header association relationship, and attachment and email body association relationship. The recipient inherent attribute data includes recipient unit data, recipient department data, static group data in which the recipient is located and dynamic group data in which the recipient is located, and the recipient unit data, the recipient department data, the static group data in which the recipient is located and the dynamic group data in which the recipient is located all include corresponding name, level and type. The recipient behavior attribute data includes recipient access frequency, access time period, recipient activity level, authentication factor contained in the identity authentication information and recipient access location.
8. An email data storage method applied to the email data storage platform of any one of claims 1-7, wherein, The email data storage method includes: receiving an email through an email server; The following operations are performed by an email data storage system: grouping the emails in memory based on preset email grouping rules to obtain corresponding grouping tags; writing the emails to corresponding grouping data files on a storage medium according to the grouping tags; when the grouping data file corresponding to the grouping tag reaches a predefined size, establishing a new grouping data file for the grouping tag, and writing emails corresponding to the grouping tag received after the establishment of the new grouping data file to the new grouping data file; when a user's mail access request is received, determining the corresponding grouping data file according to the email corresponding to the mail access request, and then caching the emails in the grouping data file to memory for calling.
9. The electronic mail data storage method of claim 8, wherein, The emails are grouped in memory based on preset email grouping rules to obtain corresponding grouping tags; The emails are written to corresponding grouping data files on the storage medium according to the grouping tags, including: The email inherent attribute data of the email received by the email server is extracted by the mail attribute extraction unit; The user attribute data is stored by the user information unit, and the recipient attribute data is determined based on the email inherent attribute data and the user attribute data; The grouping rule unit determines the grouping tag corresponding to the email based on the preset email grouping rules and the email inherent attribute data and the recipient attribute data; The data grouping block writing unit writes the email to the corresponding grouping data file on the storage medium based on the grouping tag corresponding to the email. When the grouping data file corresponding to the grouping tag reaches a predefined size, a new grouping data file is established for the grouping tag, and emails corresponding to the grouping tag received after the establishment of the new grouping data file are written to the new grouping data file, including:
10. The electronic mail data storage method of claim 9, wherein, The data grouping block writing unit obtains a first search result or a second search result when searching for the position of the corresponding grouping data file in the grouping block information cache unit based on the grouping tag corresponding to the email; the first search result indicates that the position of the grouping data file corresponding to the grouping tag is found in the grouping block information cache unit; the second search result indicates that the position of the grouping data file corresponding to the grouping tag is not found in the grouping block information cache unit; When the first search result is obtained, the data grouping block writing unit writes the email to the corresponding grouping data file on the storage medium; When the second search result is obtained, the data grouping block writing unit writes the email to the corresponding grouping data file on the storage medium. When the second search result is obtained, the data packet chunk writing unit creates a new packet data file on the storage medium, writes the e-mail corresponding to the packet mark, which is received after the new packet data file is created, into the new packet data file, and stores the packet mark as the packet mark of the new packet data file together with the location of the new packet data file into the packet chunk information buffer unit.
Citation Information
Patent Citations
Automatic classification of electronic content into projects
CN103620587A
Mail classification method and device and electronic equipment
CN111222851A
Intelligent mail classification method and device
CN114528402A
E-mail data storage platform and method
CN118612180A
Electronic mail storage device
JP1995221784A