Email data storage platform and method

By grouping emails on the email server and creating new packet data files when they reach a predefined size, the disk I/O problem during high concurrent access is solved, and the performance and user experience of the email server is improved.

CN118612180BActive Publication Date: 2024-12-31BEIJING ANNING INNOVATION NETWORK TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411080350.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-08
Publication Date
2024-12-31
Estimated Expiration
2044-08-08

AI Technical Summary

Technical Problem

The existing email data storage method causes high disk I/O consumption during high concurrent access, resulting in reduced mail server performance, especially when concurrent users' mail data files are scrambling to load from disk to memory during working hours, causing system performance to degrade. .

Method used

Using the email data storage platform, the received emails are grouped in memory through preset email grouping rules and written to the corresponding packet data file. When the packet data file reaches the predefined size, a new packet data file is created. And write emails to avoid high disk I/O consumption of concurrent users.

Benefits of technology

It improves the storage read and write performance of the email server, improves the hit rate of hot data, reduces the I/O consumption of storage media, and improves system performance and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118612180B_ABST
    Figure CN118612180B_ABST
Patent Text Reader

Abstract

The present application discloses an email data storage platform and method, which relates to the field of computer software. The platform includes an email data storage system; the email data storage system runs in an email server, or runs independently and is connected to an email server and a storage medium respectively; the email data storage system is used to: group emails received by the email server in a memory based on a preset email grouping rule to obtain corresponding grouping marks; write the emails into corresponding grouping data files on the storage medium according to the grouping marks; 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 emails corresponding to the grouping mark received after the new grouping data file is established into the new grouping data file. The present application can improve the hot data hit rate of email data and improve system performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer software, and in particular to an email data storage platform and method. Background Art

[0002] Emails are often used for work communication between employees within an enterprise (such as sending office notices) or for business contacts with people outside the company. Email data is stored on the enterprise's email server. Based on the needs of historical email review or auditing, email data must be stored on the email server for a long time; and emails containing attachments will result in larger files, so email servers consume a lot of disk I / O when reading, writing, and querying email data. There are two existing ways to store email data.

[0003] The first is the Maildir method, which stores each email as an independent file and creates a user folder for each user. Under the user folder, subfolders such as "Inbox" and "Sentbox" are created, and email files are stored in each subfolder. The disadvantage of this storage method is that when the number of files (i.e. emails) in a subfolder exceeds a certain number, the mail server's read and write performance for the files in the subfolder will be greatly reduced, resulting in slow access to the user's mailbox.

[0004] The second method is the Mailbox method, which stores all the emails of a certain user in one file. This method solves the problem of read and write performance degradation when the number of files exceeds a certain limit in the Maildir method. When each user accesses the mailbox, the email data file of this user will be loaded into the memory of the mail server, which improves the access speed of the user's mailbox. However, in the application scenario of the enterprise mail system, the problem with this method is that when users access the mailbox concurrently during working hours, the email data files of concurrent users compete to be loaded from the disk to the memory, resulting in a high concurrent disk I / O, which reduces the overall operation performance of the mail server. Summary of the invention

[0005] The purpose of this application is to provide an email data storage platform and method, which can improve the hot data hit rate of email data, thereby significantly reducing the I / O consumption of the storage medium and improving system performance.

[0006] To achieve the above objectives, this application provides the following solutions.

[0007] In a first aspect, the present application provides an email data storage platform, including an email data storage system.

[0008] The email data storage system runs in an email server, and the email server includes a storage medium; or, the email data storage system runs independently, and the email data storage platform is connected to the email server and the storage medium respectively.

[0009] The email data storage system is used to: group emails received by the email server in a memory based on a preset email grouping rule to obtain corresponding grouping marks; write the emails into corresponding grouping data files on the storage medium according to the grouping marks; and create a new grouping data file for the grouping mark when the grouping data file corresponding to the grouping mark reaches a predefined size, and write emails corresponding to the grouping mark received after the new grouping data file is created into the new grouping data file.

[0010] In a second aspect, the present application provides an email data storage method, which is applied to an email data storage platform, and the method includes the following steps.

[0011] Receive emails through an email server.

[0012] The email data storage system performs the following operations: based on a preset email grouping rule, the emails are grouped in a memory to obtain corresponding grouping marks; according to the grouping marks, the emails are written into corresponding grouping data files on a storage medium; when the grouping data file corresponding to the grouping mark reaches a predefined size, a new grouping data file is created for the grouping mark, and emails corresponding to the grouping mark received after the new grouping data file is created are written into the new grouping data file.

[0013] According to the specific embodiments provided by the present application, the present application discloses the following technical effects: the present application provides an email data storage platform and method, and the email data storage system has two operating modes, one is to run in the email server, and the other is to run independently and be connected to the email server and the storage medium respectively. Regardless of the operating mode, the email data storage system can realize the following functions: grouping and storing emails, and storing them in the group data files at the corresponding positions; when the group data file reaches the predefined size, a new group data file is established and the emails corresponding to the group mark received after the new group data file is established are written into the new group data file. The email call realized based on the structure of the above-mentioned group data file storage avoids the problem that the email data files of concurrent users compete to load from the disk to the memory during working hours (that is, when the work is busy), which brings high concurrent disk I / O and reduces the overall operating performance of the email server. In other words, the present application can improve the storage, reading and writing 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. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0015] Figure 1 A schematic diagram of the structure of an email data storage system provided in one embodiment of the present application.

[0016] Figure 2 A flowchart of an email data storage method provided in one embodiment of the present application. DETAILED DESCRIPTION

[0017] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0018] In order to make the purpose, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0019] Embodiment 1.

[0020] In an exemplary embodiment, the present application provides an email data storage platform, which includes an email data storage system. The email data storage system includes two operating modes, one of which is that the email data storage system operates in an email server, and the email server includes a storage medium; and the other is that the email data storage system operates independently, and the email data storage platform is connected to the email server and the storage medium respectively.

[0021] The above two operating modes correspond to two usage scenarios in actual use. One is: the email data storage system provided by this 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 then combined with the corresponding storage medium to jointly realize the processing of emails. The other is: the email data storage system provided by this application is taken as a whole, which can be run in different email servers of different companies, replace its original storage system, and then connect or communicate with the corresponding storage media of different companies, and then perform the corresponding email data storage function.

[0022] The email data storage system is used to: group emails received by the email server in a memory based on a preset email grouping rule to obtain corresponding grouping marks; write the emails into corresponding grouping data files on the storage medium according to the grouping marks; and create a new grouping data file for the grouping mark when the grouping data file corresponding to the grouping mark reaches a predefined size, and write emails corresponding to the grouping mark received after the new grouping data file is created into the new grouping data file.

[0023] like Figure 1 As shown, the email data storage system includes an email attribute extraction unit, a user information unit, a grouping rule unit, a grouping and blocking information cache unit, a data grouping and blocking disk writing unit, a request response unit and a log unit.

[0024] The mail attribute extraction unit is used to extract the corresponding inherent attribute data of the mail received by the mail server. Specifically, the inherent attribute data of the mail includes: mail sending and receiving attribute data and attachment attribute data; wherein, the mail sending and receiving attribute data includes: recipient, sender, threshold interval of mail size, presence or absence of attachment, threshold interval of attachment size, mail receiving time range, mail domain to which the mail belongs, mail system to which the mail belongs, and mail header content attributes; the attachment attribute data includes: whether the attachment is encrypted, the type and form of attachment encryption, attachment size, attachment format type, attachment content characteristics, 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.

[0025] In an actual application, the mail attribute extraction unit is further used to form a mail queue in the memory of the mail server according to the order of receipt of multiple mails received from the Internet for subsequent processing.

[0026] The user information unit is connected to the email attribute extraction unit, and is used to: store user attribute data, and determine the corresponding recipient attribute data based on the email inherent attribute data and the user attribute data. The user attribute data includes user ID, name, email address, department, mobile phone number, identity authentication information (such as whether multi-factor identity authentication is used), preference and behavior habit records. The user ID is unique and can be used to distinguish users. The recipient attribute data includes recipient inherent attribute data and recipient behavior attribute data.

[0027] In an actual application, the log unit is used to record and store log information of users logging in to access the mailbox; the log information includes the terminal device information used by the user, the operating system environment information, the access program information (such as the browser or mail client software), the login mailbox address, the login time information, the login location information, and the identity authentication information and user operation information at the time of login. The user information unit is connected to the log unit, and the user information unit is also used to: match the email address in the inherent attribute data of the email in the user attribute data to obtain the corresponding inherent attribute data of the recipient; determine the recipient behavior attribute data based on the email address in the inherent attribute data of the email and the corresponding log information.

[0028] The grouping rule unit is connected to the mail attribute extraction unit and the user information unit respectively, and is used to determine the grouping mark corresponding to the email based on the preset email grouping rule, the email inherent attribute data and the recipient attribute data.

[0029] In an actual application, the preset grouping rule in the grouping rule unit is a combination of one or more of the first type of rule, the second type of rule and the third type of rule, all of which are pre-set rules. Generally speaking, the grouping rule types are divided for ease of understanding, and in actual applications, different types of rules can be used in combination.

[0030] (1) The first type of rule is: adding a first type of grouping mark to emails with the same inherent attribute data; that is, grouping emails according to the inherent attributes of the emails themselves. The specific rules of the first type of rule may include the following multiple rules, which are only examples and can be added, deleted or adjusted as needed.

[0031] 11) Emails to the same recipient.

[0032] 12) Emails from the same sender.

[0033] 13) Emails whose size is within a certain size range (multiple email size ranges are preset).

[0034] 14) Emails with or without attachments.

[0035] 15) Emails whose attachments are within a certain size range (multiple attachment size ranges can be preset).

[0036] 16) Emails with the same attachment type, or emails with a specified type set (multiple specified type sets can be preset).

[0037] 17) Emails whose email time (generally refers to the time of receipt) is within a certain time range (multiple time ranges can be preset).

[0038] 18) Emails from this mail domain.

[0039] 19) Emails from this mail system.

[0040] (2) The second type of rule is: add a second type of grouping mark to emails with the same recipient inherent attribute data; the recipient inherent attribute data includes: the recipient's unit data, the recipient's department data, the recipient's static group data and the 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. The dynamic group mentioned here refers to: an email group that can automatically increase or decrease members in the group according to changes in conditions, similar to the department group in instant messaging. For example: the "department mailbox" in the email system belongs to a dynamic group. Each department in the company will have a department mailbox address. All personnel in the department can receive emails sent to a department mailbox address. If there are increases or decreases in the number of personnel in the department in the unit's organizational structure, after sending an email to the department mailbox address, the personnel who can receive the email are the current personnel in the department. Static groups refer to group members manually set by administrators, similar to groups manually created in instant messaging. Group members will not change automatically based on other conditions and can only be manually added or removed by administrators.

[0041] When emails are grouped according to inherent attributes of users to whom the emails belong, specific rules of the second type of rules may include the following multiple rules, which are only examples and can be added, deleted or adjusted as needed.

[0042] 21) Emails of users in the same headquarters department (or subsidiary).

[0043] 22) Emails of users in the same first-level department.

[0044] 23) Emails of users in the same secondary department.

[0045] 24) Emails of users in the same x-level department.

[0046] 25) Emails of users in a department set (multiple department sets are preset).

[0047] (3) The third type of rule is: adding a third type of grouping mark to emails with the same recipient behavior attribute data. The recipient behavior attribute data includes: recipient access frequency, access time period, recipient activity, authentication factors contained in identity authentication information, and recipient access location; that is, emails are grouped according to the behavioral characteristics of the users to whom the emails belong. The specific rules of the third type of rule may include the following multiple rules, which are only examples and can be added, deleted, or adjusted as needed.

[0048] 31) Emails of users whose usual locations for logging into the mail system are the same as the usual locations, or emails of users whose usual locations for logging into the mail system are within a preset location set (preset multiple location sets).

[0049] 32) Emails of users who frequently log in during the same time periods (preset multiple time periods).

[0050] 33) Emails of users with the same level of activity (preset activity standard, such as logging into the mailbox at least once a week).

[0051] 34) Email of the user who logs into the mailbox using multi-factor authentication (such as password verification, verification code verification, etc.).

[0052] The grouping and blocking information cache unit is used to store the location of the grouped data file and the corresponding grouping mark; specifically, the grouping and blocking information cache unit caches the grouping mark and the location of the data file that can be written into the email in the memory of the email server.

[0053] The data grouping and block writing unit is connected to the grouping rule unit and the grouping and block information cache unit respectively, and the data grouping and block writing unit is used to: determine the location of the corresponding group data file based on the grouping mark corresponding to the email, and then write the email into the corresponding group data file on the storage medium. Specifically, 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, NAS storage device, SAN storage device or cloud storage.

[0054] In a practical application, when searching for the location of a corresponding group data file in a group block information cache unit based on the group mark corresponding to the email in the data group block writing unit, a first search result or a second search result is obtained; the first search result indicates that the location of the group data file corresponding to the group mark is found in the group block information cache unit; the second search result indicates that the location of the group data file corresponding to the group mark is not found in the group block information cache unit.

[0055] Based on this, the data grouping and blocking disk writing unit is also used to: 1) when a first search result is obtained, write the email into the group data file at the corresponding position; 2) when a second search result is obtained, establish a new group data file on the storage medium, write the email corresponding to the group mark received after the new group data file is established into the new group data file, and use the group mark as the group mark of the new group data file, and store it together with the position of the new group data file in the group blocking information cache unit.

[0056] The request response unit is used to: when receiving a user's mail access request, determine the corresponding group data file according to the email corresponding to the mail access request, and then cache all emails in the group data file or emails belonging to the user into the memory for calling.

[0057] In summary, the storage mechanism and storage structure in this application are designed based on the application access characteristics of the email data storage system (that is, users access newer emails more frequently, and access older emails less frequently). It takes time as the main line, data owners and relationships as the basis for grouping, and large-scale data blocks / files as block encapsulation units. It is suitable for storing unstructured data such as email data.

[0058] Embodiment 2.

[0059] In another exemplary embodiment, a method for storing email data is provided, which is applied to the email data storage platform described in Example 1. The method is executed by a computer device, and can be specifically executed by a computer device such as a terminal or a server alone, or by a terminal and a server together. In the embodiment of the present application, the method includes the following steps.

[0060] An email is received via an email server; then, the following operations are performed via an email data storage system: based on a preset email grouping rule, the email is grouped in a memory to obtain a corresponding grouping mark; according to the grouping mark, the email is written into a corresponding grouping data file on a storage medium; when the grouping data file corresponding to the grouping mark reaches a predefined size, a new grouping data file is created for the grouping mark, and emails corresponding to the grouping mark received after the new grouping data file is created are written into the new grouping data file.

[0061] The operations performed by the email data storage system may be replaced by the following steps 201 to 205, such as Figure 2 shown.

[0062] Step 201: extracting corresponding email intrinsic attribute data from the email received by the email server through a mail attribute extraction unit.

[0063] Specifically, the email is placed in the email server memory, and then the inherent attribute information of the email itself is extracted, including the recipient, sender, email size, whether there is an attachment, attachment size, attachment file format, email reception time, whether it is from this email domain, whether it is from this email system, email header content and other inherent attribute data.

[0064] Step 202: storing user attribute data via a user information unit, and determining corresponding recipient attribute data based on the inherent attribute data of the email and the user attribute data.

[0065] Specifically, according to the recipient attribute data in the inherent attribute data of the email, the user ID of the recipient is searched in the user attribute data stored in the user information unit, and the user ID is added to the email as a mark to distinguish the user to whom the email belongs. Then, the recipient attribute data is determined, including the inherent attribute data of the recipient and the behavior attribute data of the recipient.

[0066] Step 203: using a grouping rule unit to determine a grouping mark corresponding to the email based on a preset email grouping rule and according to the email inherent attribute data and the recipient attribute data.

[0067] Specifically, the relevant content of the preset grouping rule is the same as that in the above embodiment 1. When the preset grouping rule is a first type rule, a judgment is made based on the inherent attribute data of the email; when the preset grouping rule is a second type rule, first, according to the user ID in the above step 202, the user's department (i.e., the unit department in the user attribute data) is searched in the user information unit, and then a judgment is made; when the preset grouping rule is a third type rule, first, according to the user ID in the above step 202, the user's behavioral characteristics (i.e., the recipient's behavioral attribute data) are searched in the user information unit, and then a judgment is made.

[0068] Step 204: the data grouping and blocking writing unit searches for the location of the corresponding grouped data file in the grouping and blocking information cache unit based on the grouping mark corresponding to the email, and then writes the email into the corresponding grouped data file on the storage medium.

[0069] In a specific application example, step 204 specifically includes the following steps.

[0070] (1) The data grouping and blocking writing unit searches for the location of the corresponding group data file in the grouping and blocking information cache unit based on the grouping mark corresponding to the email, and obtains the first search result or the second search result.

[0071] The first search result indicates that the location of the group data file corresponding to the group mark is found in the group block information cache unit; that is, at this time, the group block information cache unit has cache information of the group mark (group mark, location where writing can continue), indicating that there is already an email containing the group mark on the storage medium.

[0072] The second search result indicates that the location of the group data file corresponding to the group mark is not found in the group block information cache unit; that is, at this time, there is no cache information of the group mark in the group block information cache unit, indicating that there is no email containing the group mark on the storage medium.

[0073] (2) When the first search result is obtained, the email is written into a corresponding packet data file on the storage medium by the data packet and block writing unit.

[0074] In a specific example, the process of writing an email into a packet data file is as follows.

[0075] 21) According to the location that can be continued to be written in the group block information cache unit, the email (including the user ID and group mark) is stored in the group data file. If the email is too large and has not been stored completely, the size of the group data file will reach the threshold. At this time, one of the following two processing methods can be selected.

[0076] Processing method 1: allowing the group data file to exceed the threshold, continuing to write the email to the current group data file, and writing subsequent emails to a new group data file.

[0077] Processing method 2: prohibiting the group data file from exceeding the threshold, and writing the subsequent data of the email that has not been written into a new group data file.

[0078] 22) After the email is written, the following information is updated in the grouping and block information cache unit as a cache: grouping mark, the start position of the grouping data file, and the position where the grouping data file can continue to be written.

[0079] (3) When the second search result is obtained, a new grouped data file is created on the storage medium by the data grouping and blocking disk writing unit, and an email corresponding to the grouping mark received after the new grouped data file is created is written into the new grouped data file, and the grouping mark is used as the grouping mark of the new grouped data file and stored in the grouping and blocking information cache unit together with the position of the new grouped data file.

[0080] Specifically, the data grouping and block writing unit will create a grouped data file on the storage medium. The grouped data file consists of a file header and a file body, wherein the file header content is a grouping mark, and the file body content is an email (including the user ID and grouping mark). The size of the grouped data file has a preset threshold, and usually, the threshold is much larger than the size of an email, so multiple emails can be stored in the grouped data file. From the perspective of the operating system, this data file is a binary file of unknown format. The processing process is as follows.

[0081] 31) Write a file header containing the group mark on the storage medium as the file header of a new group data file.

[0082] 32) The email is written into the file body of the new grouped data file. At this time, the new grouped data file is not completely written, and subsequent emails with the same grouping mark can continue to be written in the storage location after the previous email (it can be preset that a fixed size of space is reserved between two emails for adding extended information when writing, or the two emails are closely connected without reserving space).

[0083] In the above step 32), a data compression or data encryption step may be added according to usage requirements, that is, the email is first compressed or encrypted (or compressed and then encrypted) and then written into the file body of the data file.

[0084] 33) After the email is written, the following information is updated in the grouping and block information cache unit as a cache: the grouping mark, the start position of the data file, and the position where the data file can continue to be written.

[0085] The processing from step 201 to step 204 is the process from the email server receiving the email to writing the email to the storage medium. The following results can be obtained from this process.

[0086] (1) When an email server receives an email from the Internet, the email data enters the email queue in the server memory of the email attribute extraction unit. After processing in steps 201 to 204, the email is directly written from the memory to the storage medium. That is, the process from receiving the email to starting to write to the storage medium is a near real-time processing process.

[0087] (2) Due to the large volume of emails sent and received, there are usually a certain number of emails in the email queue of the email attribute extraction unit. Therefore, the above-mentioned processing of emails is carried out continuously and uninterruptedly, and the process of writing emails into the grouped data file is also continuous and uninterrupted.

[0088] (3) Within the same group data file, emails are written in chronological order, that is, emails received first are written first, and emails received later are written later.

[0089] (4) Two adjacent data files on the storage medium are also written to the storage medium in chronological order.

[0090] In summary, the data storage structure of the present application writes emails to the storage medium in chronological order to form a grouped data file, that is, the emails in a grouped data file have similar times, and the emails in a grouped data file are between two adjacent emails and have a chronological order. When users use mailboxes to access their emails, in most cases, the most frequently accessed emails are recent emails, and the more recent the emails are, the more times they are accessed. Therefore, the emails in a data file have the same or similar access popularity, and the two adjacent data files on the storage medium also have the same or similar access popularity.

[0091] Taking email as an example, based on the characteristics of users accessing email: the more recent the email, the higher the access frequency, that is, the hot and cold data of email can be judged by the email sending and receiving time, the current email data heat is much higher than the data heat of the email of the previous day, and the email data heat within a week is higher than the email data heat of the previous week. Based on this, the present application also includes step 205.

[0092] Step 205, upon receiving the user's mail access request, the request response unit determines the corresponding group data file according to the email corresponding to the mail access request, and then caches all emails in the group data file or emails belonging to the user into the memory for calling.

[0093] During busy times of the email server, a large amount of email data is written to the disk. The grouped and block data file storage method of the present application avoids the extra consumption of disk I / O for writing each email individually by continuously writing continuous data in the email queue. At the same time, it ensures that the latest email data of the group always maintains a high cache hit rate and is not easily squeezed out by cold data access. The busier the server is, the higher the hit rate of new data.

[0094] During the non-busy hours of the email server, the amount of email data written to the disk is small. The grouped and block data file storage method of the present application writes the emails in the mail queue in sequence, which will cause interval pauses. In addition, the busy hours and non-busy hours mentioned above generally correspond to working hours and off-get off work hours. For example, the hour after work and the hour before off-get off work are the busy hours of the email server, and the rest of the working hours are non-busy hours.

[0095] In the multiple grouped data files of the storage medium, the recent email data access of each user in the group provides preheating for the access of other users. That is, when a user accesses the recent emails in his mailbox, the operating system will preload the corresponding data files containing these emails. The corresponding data files are cached in the memory. Because these data files also contain the emails of other users in the group, other users can achieve memory-level hot data access when accessing their mailboxes. The new email data hit rate of the mail server also remains high during non-busy hours.

[0096] In summary, the present application relates to a data storage and hot data natural hit method for unstructured data such as emails, which is organized based on a time tree. The data storage mechanism, data storage structure, and hot data natural hit mechanism are used to achieve a natural hit with a high hit rate for hot data, thereby greatly reducing the I / O of the storage medium and improving system performance. At the same time, the grouping method organized based on the time tree in the storage mechanism can be predefined and dynamically adjusted to achieve greater flexibility. It can not only solve the I / O bottleneck problem of common businesses such as emails, but also has wide adaptability to other similar businesses.

[0097] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0098] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.

Claims

1. An email data storage platform, characterized in that: The email data storage platform includes an email data storage system; The email data storage system runs in an email server, and the email server includes a storage medium; or, the email data storage system runs independently, and the email data storage platform is connected to the email server and the storage medium respectively; The email data storage system is used to: group the emails received by the email server in the memory based on a preset email grouping rule to obtain corresponding grouping marks; writing the email into a corresponding group data file on the storage medium according to the group mark; When the group data file corresponding to the group mark reaches a predefined size, a new group data file is created for the group mark, and an email corresponding to the group mark received after the new group data file is created is written into the new group data file; When receiving a mail access request from a user, the corresponding group data file is determined according to the email corresponding to the mail access request, and then the email in the group data file is cached in the memory for calling.

2. The email data storage platform according to claim 1, characterized in that: The email data storage system specifically comprises: The mail attribute extraction unit is used to extract the corresponding inherent attribute data of the mail received by the mail server; A user information unit connected to the email attribute extraction unit, used to: store user attribute data, and determine corresponding recipient attribute data based on the email inherent attribute data and the user attribute data; the recipient attribute data includes recipient inherent attribute data and recipient behavior attribute data; A grouping rule unit, connected to the mail attribute extraction unit and the user information unit, respectively, for determining a grouping mark corresponding to the email based on a preset email grouping rule and the email inherent attribute data and the recipient attribute data; The grouping and blocking information cache unit is used to store the location of the grouping data file and the corresponding grouping mark; A data grouping and block writing unit is connected to the grouping rule unit and the grouping and block information buffer unit respectively, and is used to: determine the location of the corresponding group data file based on the group mark corresponding to the email, and then write the email into the corresponding group data file on the storage medium; The request response unit is used to: when receiving a user's email access request, determine the corresponding group data file according to the email corresponding to the email access request, and then cache all emails in the group data file or emails belonging to the user into the memory for calling.

3. The email data storage platform according to claim 2, characterized in that: The email data storage system further comprises a log unit; The log unit is used to record and store log information of users logging in to access the mailbox; the log information includes the terminal device information used by the user, the operating system environment information, the access program information, the login mailbox address, the login time information, the login location information, the identity authentication information at the time of login and the user operation information; The user information unit is connected to the log unit, and the user information unit is also used to: match the user attribute data based on the email address in the email inherent attribute data to obtain the corresponding recipient inherent attribute data; determine the recipient behavior attribute data based on the email address in the email inherent attribute data and the corresponding log information.

4. The email data storage platform according to claim 1, characterized in that: 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, NAS storage device, SAN storage device or cloud storage.

5. The email data storage platform according to claim 2, characterized in that: The user attribute data includes user ID, name, email address, department, mobile phone number, identity authentication information, preferences and behavioral habit records.

6. The email data storage platform according to claim 3, characterized in that: The preset grouping rule in the grouping rule unit is a combination of one or more of the first type of rule, the second type of rule and the third type of rule; The first type of rule is: adding a first type of grouping mark to emails with the same inherent attribute data; The second type of rule is: adding a second type of grouping mark to emails with the same inherent attribute data of the recipients; The third type of rule is: adding a third type of grouping mark to emails with the same recipient behavior attribute data.

7. The email data storage platform according to claim 6, characterized in that: The inherent attribute data of the email includes: email sending and receiving attribute data and attachment attribute data; The email sending and receiving attribute data includes: recipient, sender, email size threshold interval, attachment presence, attachment size threshold interval, email receiving time range, email domain, email system, and email header content attributes; The attachment attribute data includes: whether the attachment is encrypted, the type and form of attachment encryption, the size of the attachment, the format type of the attachment, the content characteristics of the attachment, the combination relationship of the attachment, the association relationship between the attachment and the email header, and the association relationship between the attachment and the email body; The recipient's inherent attribute data includes: data of the recipient's unit, data of the recipient's department, data of the recipient's static group, and data of the recipient's dynamic group; wherein the data of the recipient's unit, data of the recipient's department, data of the recipient's static group, and data of the recipient's dynamic group all include corresponding names, levels, and types; The recipient behavior attribute data includes: the recipient's access frequency, access time period, recipient activity, authentication factors included in the identity authentication information, and the recipient's access location.

8. An email data storage method, applied to the email data storage platform according to any one of claims 1 to 7, characterized in that: The email data storage method comprises: Receive email via an email server; The email data storage system performs the following operations: based on a preset email grouping rule, the emails are grouped in a memory to obtain corresponding grouping marks; according to the grouping marks, the emails are written into corresponding grouping data files on a storage medium; when the grouping data file corresponding to the grouping mark reaches a predefined size, a new grouping data file is created for the grouping mark, and emails corresponding to the grouping mark received after the new grouping data file is created are written into the new grouping data file; when a user's email access request is received, the corresponding grouping data file is determined according to the email corresponding to the email access request, and then the emails in the grouping data file are cached in the memory for calling.

9. The method for storing email data according to claim 8, characterized in that: Based on a preset email grouping rule, the emails are grouped in the memory to obtain corresponding grouping marks; Writing the email into a corresponding group data file on the storage medium according to the group mark specifically includes: Extracting corresponding email inherent attribute data from the email received by the email server through the email attribute extraction unit; The user attribute data is stored in the user information unit, and the corresponding recipient attribute data is determined based on the inherent attribute data of the email and the user attribute data; Using a grouping rule unit to determine a grouping mark corresponding to the email based on a preset email grouping rule and according to the email inherent attribute data and the recipient attribute data; Using a data grouping and block writing unit to search for a location of a corresponding group data file in a grouping and block information cache unit based on a grouping mark corresponding to the email, and then writing the email into a corresponding group data file on the storage medium; When receiving a user's mail access request, the request response unit determines the corresponding group data file according to the email corresponding to the mail access request, and then caches all emails in the group data file or emails belonging to the user into the memory for calling.

10. The method for storing email data according to claim 9, characterized in that: When the group data file corresponding to the group mark reaches a predefined size, a new group data file is created for the group mark, and an email corresponding to the group mark received after the new group data file is created is written into the new group data file, specifically comprising: When the data grouping and blocking writing unit searches for the location of the corresponding grouped data file in the grouping and blocking information cache unit based on the grouping mark corresponding to the email, a first search result or a second search result is obtained; the first search result indicates that the location of the grouped data file corresponding to the grouping mark is found in the grouping and blocking information cache unit; the second search result indicates that the location of the grouped data file corresponding to the grouping mark is not found in the grouping and blocking information cache unit; When a first search result is obtained, the email is written into a corresponding packet data file on the storage medium by the data packet block writing unit; When the second search result is obtained, a new grouped data file is created on the storage medium by the data grouping and blocking disk writing unit, and an email corresponding to the grouping mark received after the new grouped data file is created is written into the new grouped data file, and the grouping mark is used as the grouping mark of the new grouped data file and stored in the grouping and blocking information cache unit together with the position of the new grouped data file.