Schedule synchronization methods, devices, equipment and storage media
By receiving email change information from email applications within an organization's social applications, and automatically synchronizing and retrieving schedule information, the inconvenience of schedule management across multiple applications is resolved. This achieves seamless synchronization and unified management of schedule information, thereby enhancing the user experience.
Patent Information
- Application Number
- CN202411699264.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2026-05-26
AI Technical Summary
When managing schedules across multiple applications, users need to manually migrate or rebuild schedule information, which is inconvenient and makes it impossible to achieve unified viewing and management.
By receiving email change information from email applications in organizational social applications, automatically synchronizing emails and extracting schedule information, schedule synchronization between different applications can be achieved.
It enables seamless synchronization of schedule information across different applications, improving the efficiency and convenience for users to manage and view schedules across multiple applications.
Smart Images

Figure CN122093494A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information processing technology, and in particular to a method, apparatus, device and storage medium for synchronizing schedules. Background Technology
[0002] Many applications supported by smart terminals have calendar functions, which allow users to pre-set events that will occur at a future time or to pre-set reminders for tasks that need to be performed. When the set time arrives, the system can automatically remind the user. This calendar management effectively reminds users of events that they should pay attention to, providing great assistance. Users can create calendars using different applications based on their actual usage, but each application has its own independent calendar management information. If users want to view calendars in a unified manner, such as work arrangements, especially work meetings, they need to create a new calendar management system in the target application or migrate calendar management information from one application to the target application. However, the calendar function cannot be used normally during the migration process, which causes great inconvenience to users. Summary of the Invention
[0003] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0004] This application provides a schedule synchronization method, apparatus, and storage medium that can achieve seamless schedule synchronization across multiple applications.
[0005] On one hand, this application provides a calendar synchronization method applied to an organizational social application running on a first terminal. The first terminal also runs a first email application. When a first object sends a first email to a second object through the first email application to inform them of participation in a first meeting, the first email application creates a new meeting schedule for the first meeting in the first calendar application. The method includes the following steps:
[0006] Receive first email change information pushed by the server corresponding to the first email application, wherein the first email change information is used to indicate that the first email has been added in the first email application.
[0007] Based on the first email change information, the first email in the first email application is synchronized to the second email application in the organization's social application;
[0008] Extract the schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule;
[0009] Based on the schedule information, the first meeting schedule in the first schedule application is synchronized to the second schedule application in the organization's social application.
[0010] On the other hand, this application embodiment also provides a schedule synchronization device, installed on a first terminal, the first terminal running an organized social application and a first email application, when a first object sends a first email to a second object through the first email application to inform them of participating in a first meeting, the first email application creates a first meeting schedule for the first meeting in the first schedule application;
[0011] The schedule synchronization device includes:
[0012] The information receiving unit is used to receive first email change information pushed by the server corresponding to the first email application, wherein the first email change information is used to indicate that the first email has been added in the first email application.
[0013] The email synchronization unit is used to synchronize the first email in the first email application to the second email application in the organization's social application based on the first email change information.
[0014] The schedule extraction unit is used to extract schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule.
[0015] A schedule synchronization unit is used to synchronize the first meeting schedule in the first schedule application to the second schedule application in the organization's social application based on the schedule information.
[0016] Optionally, the schedule synchronization unit is further configured to:
[0017] Based on the meeting time, create a new target schedule in the second schedule application of the organization's social application;
[0018] Add the schedule information to the target schedule to synchronize the first meeting schedule in the first schedule application to the second schedule application.
[0019] Optionally, the schedule creation unit is further configured to:
[0020] Obtain the first schedule identifier of the first meeting schedule from the server corresponding to the first email application, and associate the first schedule identifier with the object identifier of the first object;
[0021] Obtain the second schedule identifier of the target schedule and associate the second schedule identifier with the object identifier.
[0022] Optionally, the information receiving unit is further configured to receive second email change information pushed by the server corresponding to the first email application, wherein the second email change information is used to indicate that the second email has been added to the first email application.
[0023] The email synchronization unit is further configured to synchronize the second email in the first email application to the second email application based on the second email change information;
[0024] The schedule synchronization unit is also used to delete the corresponding schedule in the second schedule application based on the email content of the second email in the second email application.
[0025] Optionally, the schedule synchronization unit is further configured to:
[0026] In the second email application, the first schedule identifier of the first meeting schedule is determined based on the content of the second email.
[0027] Based on the first schedule identifier, the association between the first schedule identifier and the object identifier, and the association between the second schedule identifier and the object identifier, the target schedule is determined in the second schedule application, and the target schedule is deleted.
[0028] Optionally, the information receiving unit is further configured to receive third email change information pushed by the server corresponding to the first email application, wherein the third email change information is used to indicate that the third email has been added in the first email application.
[0029] The email synchronization unit is further configured to synchronize the third email in the first email application to the second email application based on the third email change information.
[0030] The schedule synchronization unit is further configured to add the third object as a new participant to the target schedule in the second schedule application based on the email content of the third email in the second email application.
[0031] Optionally, the information receiving unit is further configured to receive fourth email change information pushed by the server corresponding to the first email application, wherein the fourth email change information is used to indicate that the fourth email has been added in the first email application.
[0032] The email synchronization unit is further configured to synchronize the fourth email in the first email application to the second email application based on the fourth email change information.
[0033] The schedule extraction unit is further configured to determine, based on the content of the fourth email in the second email application, the remaining participants of the first meeting after deleting the fourth object.
[0034] The schedule synchronization unit is also used to update the first meeting schedule in the second schedule application based on the remaining personnel results.
[0035] Optionally, the schedule synchronization unit is further configured to:
[0036] If the remaining personnel result only includes the meeting organizer of the first meeting, delete the first meeting schedule in the second schedule application;
[0037] Alternatively, if the remaining personnel result includes the meeting organizer and other participants of the first meeting, the fourth object is removed from the participants of the first meeting in the first meeting schedule applied by the second schedule.
[0038] Optionally, the schedule creation unit is further configured to create a second meeting schedule for the second meeting in the second schedule application when the first object sends a fifth email to the fifth object through the second email application in the organization's social application to inform the fifth object of participation in the second meeting;
[0039] The email synchronization unit is also used to synchronize the fifth email in the second email application to the first email application.
[0040] The schedule synchronization unit is also used to synchronize the second meeting schedule in the second schedule application to the first schedule application in the first email application.
[0041] Optionally, the schedule creation unit is further configured to send a personal schedule request to the server corresponding to the first email application, wherein the personal schedule request is used to request a personal schedule in the first schedule application within the first email application.
[0042] The information receiving unit is further configured to receive a target personal schedule and a synchronization key value sent by the server corresponding to the first email application according to the personal schedule request, wherein the target personal schedule is the personal schedule of the first object recorded in the first schedule application;
[0043] The schedule synchronization unit is also used to add the target personal schedule to the second schedule application in the organizational social application;
[0044] The schedule creation unit is also used to request a new target personal schedule from the server corresponding to the first email application at preset intervals, based on the synchronization key value.
[0045] The schedule synchronization unit is also used to update the schedule content in the second schedule application according to the new target personal schedule.
[0046] Optionally, the email synchronization unit is also used for
[0047] Based on the email identifier, generate an email retrieval request including the email identifier;
[0048] Send the email retrieval request to the server corresponding to the first email application, so that the server corresponding to the first email application can find the first email based on the email identifier in the email retrieval request;
[0049] Receive the first email sent by the server corresponding to the first email application, and save the first email to the sent items folder of the second email application in the organization's social application.
[0050] On the other hand, embodiments of this application also provide a schedule synchronization device, including:
[0051] At least one processor;
[0052] At least one memory for storing at least one program;
[0053] The schedule synchronization method described above is implemented when at least one of the programs is executed by at least one of the processors.
[0054] On the other hand, embodiments of this application also provide a computer-readable storage medium storing a processor-executable computer program, which, when executed by a processor, is used to implement the schedule synchronization method as described above.
[0055] On the other hand, embodiments of this application also provide a computer program product, including a computer program or computer instructions, the computer program or computer instructions being stored in a computer-readable storage medium, a processor of a schedule synchronization device reading the computer program or computer instructions from the computer-readable storage medium, and the processor executing the computer program or computer instructions to cause the schedule synchronization device to perform the schedule synchronization method as described above.
[0056] The embodiments of this application include at least the following beneficial effects: When a first object sends a first email to a second object using a first email application running on a first terminal to notify the second object of participation in a first meeting, a new meeting schedule for the first meeting is created in the first calendar application of the first email application. Since the first object sends the first email through the first email application, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application. The first email change information indicates that a new sent email has been added in the first email application. Then, through the first email change information, the first email in the first email application can be identified and synchronized to the second email application in the organizational social application. The first email change information can break down information barriers between different applications, realizing automatic synchronization of schedule-related emails in different email applications. Simultaneously, by utilizing the first email change information synchronized in the second email application, the first email can provide the meeting schedule information of the first meeting to the organizational social application, providing a data foundation for subsequent schedule synchronization. Then, the schedule information is extracted from the first email synchronized in the second email application to obtain the schedule information of the first meeting. Using the schedule information, the first meeting schedule in the first schedule application is synchronized to the second schedule application in the organizational social application, realizing unified management and viewing of schedules across different applications. This allows users to manage their schedules in one stop within the organizational social application. Since email synchronization is used to transmit schedule changes, seamless synchronization and sharing of schedule information can be achieved, improving the efficiency and convenience for users to manage and view schedules across multiple applications, and providing users with a smoother and more efficient user experience.
[0057] Other features and advantages of this application will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the description and the accompanying drawings. Attached Figure Description
[0058] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0059] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application;
[0060] Figure 2 This is a schematic diagram of another implementation environment provided in the embodiments of this application;
[0061] Figure 3 This is a flowchart of a schedule synchronization method provided in an embodiment of this application;
[0062] Figure 4 This is a schematic diagram illustrating the process of creating a first meeting schedule provided in an embodiment of this application;
[0063] Figure 5 This is a schematic diagram illustrating the process of pushing first email change information according to an embodiment of this application;
[0064] Figure 6 This is a schematic diagram of the first email synchronization process provided in an embodiment of this application;
[0065] Figure 7 This is a schematic diagram illustrating the process of extracting the schedule information of the first meeting provided in an embodiment of this application;
[0066] Figure 8 This is a schematic diagram illustrating the process of associating a schedule identifier with an object identifier as provided in an embodiment of this application;
[0067] Figure 9 This is a schematic diagram illustrating the data interaction process during schedule synchronization provided in the embodiments of this application;
[0068] Figure 10 This is a schematic diagram illustrating the process of removing attendees provided in an embodiment of this application;
[0069] Figure 11 This is a schematic diagram illustrating the overall process of creating, updating, and deleting meeting schedules provided in the embodiments of this application;
[0070] Figure 12 This is a flowchart illustrating a specific example of a schedule synchronization method provided in this application;
[0071] Figure 13 This is a schematic diagram of a schedule synchronization device provided in an embodiment of this application;
[0072] Figure 14 This is a schematic diagram of another schedule synchronization device provided in the embodiments of this application. Detailed Implementation
[0073] The present application will be further described below with reference to the accompanying drawings and specific embodiments. The described embodiments should not be considered as limitations on the present application, and all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of the present application.
[0074] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0075] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0076] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0077] 1) The EWS (Exchange Web Service) protocol is a protocol used for exchanging information between clients and servers. It allows clients to communicate with Exchange servers to perform tasks such as creating, sending, receiving, deleting, and searching emails, or managing calendars.
[0078] 2) Notification subscription is a messaging mechanism that allows one or more entities (called subscribers) to subscribe to events of interest from another entity (called a publisher or event source). When these events occur, the publisher sends a notification to all subscribers who have subscribed to these events. Notification subscription mechanisms can be applied to areas such as email, calendar events, and system updates. For example, an email application can send a subscription request to an email server, specifying the types of email events it wants to subscribe to and the method of receiving notifications (such as streaming, pull, or push notifications). When the specified email event occurs in the mailbox, the email server will send a notification according to the method specified by the user or application.
[0079] 3) Asynchronous notification is an efficient data exchange method that refers to one party sending notifications or data updates to another without needing to wait for a real-time response. The asynchronous notification mechanism allows the sender to continue performing other tasks after sending data without waiting for the receiver's processing or response. Upon receiving the notification, the receiver will process or update accordingly based on its content.
[0080] Many applications supported by smart terminals have calendar functions, which allow users to pre-set events that will occur at a future time or to pre-set reminders for tasks that need to be performed. When the set time arrives, the system can automatically remind the user. This calendar management effectively reminds users of events that they should pay attention to, providing great assistance. Users can create calendars using different applications based on their actual usage, but each application has its own independent calendar management information. If users want to view calendars in a unified manner, such as work arrangements, especially work meetings, they need to create a new calendar management system in the target application or migrate calendar management information from one application to the target application. However, the calendar function cannot be used normally during the migration process, which causes great inconvenience to users.
[0081] To achieve seamless schedule synchronization across multiple applications, this application provides a schedule synchronization method, a schedule synchronization device, a computer-readable storage medium, and a computer program product. When a first object sends a first email to a second object using a first email application running on a first terminal to notify them of participation in a first meeting, a new meeting schedule is created in the first schedule application within the first email application. Since the first object sends the first email through the first email application, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application. The first email change information indicates that a new sent email has been added in the first email application. Then, based on the first email change information, the first email in the first email application can be identified and synchronized to the second email application within the organizational social application. This information system breaks down information barriers between different applications, enabling automatic synchronization of schedule-related emails across various email applications. Simultaneously, by utilizing the first email's change information and synchronizing it in the second email application, the system provides the first meeting's schedule information to the organization's social application, laying the data foundation for subsequent schedule synchronization. Then, schedule information is extracted from the first email synchronized in the second email application to obtain the first meeting's schedule information. This schedule information is then used to synchronize the first meeting's schedule from the first schedule application to the second schedule application within the organization's social application. This achieves unified management and viewing of schedules across different applications, allowing users to manage their schedules in one place within the organization's social application, sharing schedule information, and improving the efficiency and convenience of managing and viewing schedules across multiple applications. This provides users with a smoother and more efficient user experience.
[0082] The solutions provided in this application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, organizational social networking, education and training, and meeting management. The specific implementation details are provided in the following embodiments.
[0083] Figure 1 This is a schematic diagram of an implementation environment provided in an embodiment of this application. (Refer to...) Figure 1 The implementation environment includes a first user terminal 101 and a first server 102. The first user terminal 101 and the first server 102 are directly or indirectly connected through wired or wireless communication. The first user terminal 101 and the first server 102 can be nodes in a blockchain, but this embodiment does not specifically limit them.
[0084] The first user terminal 101 may include, but is not limited to, smart devices with image acquisition capabilities such as smartphones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Optionally, the first user terminal 101 may install and run a first email application and an organizational social application, and has the function of sending emails through the first email application and creating meeting schedules through a first schedule application within the first email application. The user terminal with the organizational social application installed can use emails synchronized from the first email application in the second email application within the organizational social application to synchronize meeting schedules from the first email application to the second schedule application within the organizational social application.
[0085] In one embodiment, the first user terminal 101 has at least the functions of sending emails, receiving email push information, and creating schedules. For example, the first user terminal 101 can send a first email to a second object through a first email application, and at the same time create a first meeting schedule for a first meeting through a first schedule application in the first email application. Then, the organization social application receives the first email change information pushed by the server corresponding to the first email application, and synchronizes the first email in the first email application to the second email application in the organization social application according to the first email change information. Then, the schedule information of the first email in the second email application is extracted, and the first meeting schedule in the first schedule application is synchronized to the second schedule application in the organization social application using the extracted schedule information of the first meeting schedule.
[0086] The first server 102 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The first server 102 can...
[0087] In one embodiment, the first server 102 may be a server that provides backend support to the first email application. It is responsible for storing, managing and maintaining email data in the email application, and also has the function of subscribing to and pushing email change notifications. For example, after the first object sends the first email to the second object through the first email application, the first server 102 can push the first email change information to a designated terminal device or application, such as the organizational social application of the first user terminal 101, so that the organizational social application can synchronize emails between the first email application and the second email application according to the first email change information.
[0088] Reference Figure 1 As shown, in one application scenario, assume that the first user terminal 101 is a computer terminal, and that the first user terminal 101 has a first email application and an organizational social application installed and running. When the first object uses the first email application on the first user terminal 101 to send a first email to the second object informing them of participation in the first meeting, the first schedule application in the first email application creates a new meeting schedule for the first meeting. At this time, the sent items in the first email application's outbox will be updated with the first email, and the first server 102 corresponding to the first email application will push the first email change information to the organizational social application of the first user terminal 101 to inform the first user terminal that a first email has been added in the first email application. Thus, the organizational social application can synchronize the first email in the first email application to the second email application in the organizational social application based on the first email change information. Then, it can extract the schedule information from the first email synchronized in the second email application to obtain the schedule information of the first meeting. Finally, based on the schedule information, it can synchronize the first meeting schedule in the first schedule application to the second schedule application in the organizational social application.
[0089] Figure 2 This is a schematic diagram of another implementation environment provided in the embodiments of this application. (Refer to...) Figure 2 The implementation environment includes a second user terminal 201, a third user terminal 202, and a second server 203. The second user terminal 201, the third user terminal 202, and the second server 203 are directly or indirectly connected via wired or wireless communication. The second user terminal 201, the third user terminal 202, and the second server 203 can be nodes in a blockchain, but this embodiment does not specifically limit this.
[0090] The second user terminal 201 and the third user terminal 202 may include, but are not limited to, smart devices with image acquisition capabilities such as smartphones, computers, smart voice interaction devices, smart home appliances, vehicle terminals, and aircraft. Both the second user terminal 201 and the third user terminal 202 can install and run a first email application and an organizational social application, and have the function of sending emails through the first email application and creating meeting schedules through the first calendar application within the first email application. Specifically, the user terminal with the organizational social application installed can use emails synchronized from the first email application in the second email application within the organizational social application to synchronize meeting schedules from the first email application to the calendar application within the organizational social application. It is worth noting that the first terminal may include multiple terminals; that is, the first terminal may include the second user terminal 201 and the third user terminal 202. In other words, emails and schedules in the first email application, as well as emails and schedules in the organizational social application, can be synchronized and shared between the second user terminal 201 and the third user terminal 202.
[0091] In one embodiment, the second user terminal 201 has at least the functions of sending emails and creating schedules, and the third user terminal 202 has at least the functions of receiving email change information and creating schedules. For example, the second user terminal 201 can send a first email to a second object through a first email application, and at the same time create a first meeting schedule for a first meeting through a first schedule application in the first email application. At this time, the organizational social application in the third user terminal 202 can receive the first email change information pushed by the server corresponding to the first email application triggered by the second user terminal 201 sending the first email, and synchronize the first email sent by the second user terminal 201 in the first email application to the second email application in the organizational social application running on the third user terminal 202 according to the first email change information. Then, the schedule information of the first email in the second email application is extracted, and the first meeting schedule in the first schedule application is synchronized to the second schedule application in the organizational social application using the extracted schedule information.
[0092] The second server 203 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN networks, and big data and artificial intelligence platforms.
[0093] In one embodiment, the second server 203 may be a server that provides backend support to the first email application. It is responsible for storing, managing and maintaining email data in the email application, and also has the function of subscribing to and pushing email change notifications. For example, after the first object sends the first email to the second object through the first email application, the second server 203 can push the first email change information to a designated terminal device or application, such as an organizational social application, so that the organizational social application can synchronize emails between the first email application and the second email application according to the first email change information.
[0094] Reference Figure 2 As shown, in another application scenario, assuming the second user terminal 201 is a computer and the third user terminal 202 is a mobile phone, and the second user terminal 201 has a first email application installed, while the third user terminal 202 has an organizational social application installed. When the first user uses the first email application running on the second user terminal 201 to send a first email to the second object informing them of participation in the first meeting, the first meeting schedule is created in the first schedule application of the first email application on the second user terminal 201. At this time, the sent email will be added to the sent items box of the first email application. The second server 203 corresponding to the first email application can then push the first email change information to the organizational social application on the third user terminal 202 to inform them that a first email has been added to the first email application. Thus, the organizational social application can synchronize the first email from the first email application to the second email application in the organizational social application based on the first email change information. Then, it can extract the schedule information from the first email synchronized in the second email application to obtain the schedule information of the first meeting. Finally, based on the schedule information, the first meeting schedule in the first schedule application can be synchronized to the second schedule application in the organizational social application.
[0095] It should be noted that in various specific embodiments of this application, when processing data related to the characteristics of a target object (such as a user) or a set of attribute information is required, the target object's permission or consent will be obtained first. Furthermore, the collection, use, and processing of this data will comply with relevant laws, regulations, and standards. In addition, when embodiments of this application need to obtain the target object's attribute information, separate permission or consent from the target object will be obtained through pop-ups or redirection to a confirmation page. Only after obtaining the target object's separate permission or consent will the necessary target object-related data for the normal operation of the embodiments of this application be obtained.
[0096] The embodiments of this application can be applied to various scenarios that require schedule synchronization, including but not limited to schedule management scenarios in fields such as meetings, personal appointments, and course education.
[0097] Figure 3 This is a flowchart illustrating a schedule synchronization method provided in an embodiment of this application. This schedule synchronization method can be executed by a terminal, or jointly by a terminal and a server. In this embodiment, the method is described using an example of execution by a terminal. (Refer to...) Figure 3 The schedule synchronization method includes, but is not limited to, steps S310 to S340.
[0098] Step S310: Receive the first email change information pushed by the server corresponding to the first email application.
[0099] In one embodiment, the first email change information may be used to indicate that a first email has been added to the sent items folder of the first email application. It should be noted that when the first object sends the first email to the second object through the first email application running on the first terminal to inform them of participation in the first meeting, the first email application will create a new meeting schedule for the first meeting in the first calendar application. Simultaneously, the server corresponding to the first email application will push the first email change information to the organizational social application running on the first terminal.
[0100] In one embodiment, the first object can refer to the user using the first email application on the first terminal, that is, the sender of the first email and the organizer of the first meeting; the second object can refer to the participants of the first meeting, that is, the recipients of the first email sent by the first object; it is worth noting that there can be multiple second objects, that is, the first object can send the first email to multiple second objects through the first email application to inform multiple objects to participate in the first meeting, that is, there are multiple recipients of the first email.
[0101] In one embodiment, the first email application refers to an application installed on the first terminal for sending, receiving, and managing emails. In addition to basic email functions, the first email application integrates calendar management functionality, allowing users to create, edit, and delete meeting schedules. For example, the first email application could be an email client such as Exchange, Outlook, or Gmail, all of which integrate calendar or schedule management functions. When the first recipient sends a first email to the second recipient through the first email application to inform them of participation in the first meeting, the first email application will create a new meeting schedule for the first meeting in the first schedule application.
[0102] In one embodiment, the first object and the second object described above can establish a communication connection between the first terminal running the first email application and the server corresponding to the first email application by logging in with a user account. Thus, the first object can upload the first email to the server through the first email application running on the first terminal, and the server can send the first email to the terminal where the second object logs in and runs the first email application by logging in with a user account. It's worth noting that email and calendar data in the First Email application can be stored locally on the terminal or uploaded to the database of the server corresponding to the First Email application via cloud services. This data is structured and can include information such as the sender, recipient, subject, body, and attachments of emails, as well as information such as the date, time, location, and participants of events. After a user logs in, the First Email application can retrieve the corresponding email and calendar data from the local or server database based on the user's login account, such as token information. To maintain data real-time performance, the terminal running the First Email application can periodically synchronize with the server. When the data on the server changes (such as adding emails or editing calendar events), the terminal running the First Email application can receive a change notification pushed by the server and update the locally stored data. To protect data privacy, the First Email application can manage data access permissions, restricting the email and calendar data that each logged-in user account can access.
[0103] In one embodiment, email data and calendar data in the first email application can share data. That is, the first email application and its corresponding calendar application can share data through application logic. For example, when a first object sends an email related to creating a new calendar event through the first email application, the calendar application within the first email application can automatically identify and parse the calendar event information of the email, and add the corresponding calendar event in the first calendar application based on the parsed calendar event. Similarly, when a first object creates a new calendar event in the calendar application within the first email application, the calendar application can extract calendar data from this event, obtain the calendar data, and then save the calendar data locally or upload it to a server database. At the same time, the first email application can also send this calendar event (including the calendar data) in the first calendar application as an email attachment or body content to the participants, so that the participants can create the calendar event based on the email.
[0104] In one embodiment, the software applications running on the first terminal may include multiple applications; that is, multiple email applications may run on the first terminal. The organizational social application can refer to a software application running on the terminal for communication among members within an organization. The organizational social application is the software application that aims to synchronize its schedule with the first calendar application within the first email application. The second email application can refer to an email application integrated into the organizational social application, which supports functions such as sending and receiving emails, managing email contacts, archiving emails, and filtering emails.
[0105] In one embodiment, the first email can refer to a meeting notification email from a first object informing a second object of participation in a first meeting, or it can refer to an email initiating a meeting. The first email may include meeting information such as the date, time, location, and participants of the first meeting. The first email can be an email created by the first object through a first email application, or it can be a pre-created email forwarded by the first object through the first email application. For example, the first object can send email A, created in an email application other than the first email application, to the first email application corresponding to the first object, and then send email A received in the first email application as the first email to the second object; or, the first object can receive email B from another object in the first email application, and then send email B as the first email to the second object. When the first object sends a first email related to the creation of the first meeting to the second object through the first email application, the first scheduling application can automatically identify and parse the scheduling event information related to the first meeting in the first email, and create a new first meeting schedule based on the parsed scheduling event information (such as the date, time, location, and participants of the first meeting).
[0106] In one embodiment, the first meeting can refer to a scheduled event in which the meeting organizer and at least one participant attend to a specified matter on a specified date, at a specified time, or at a specified location. The first meeting can be a periodic single meeting, i.e., a meeting held regularly at fixed time intervals, such as a weekly departmental meeting, a monthly project progress meeting, a quarterly meeting, or an annual meeting. The first meeting can also be an ad hoc meeting, i.e., a meeting that can be convened at any time as needed, with no fixed frequency. It should be noted that the first meeting can be an offline meeting where all participants gather at the same physical location, such as a seminar, lecture, exhibition, or traditional conference room meeting. The first meeting can also be an online meeting where participants communicate remotely via the internet or a dedicated network, such as a video conference, telephone conference, or online course. The first meeting can also be a hybrid meeting combining online and offline elements, where some participants can be physically present while others can join remotely.
[0107] In one embodiment, the first terminal can refer to a terminal device on which the first object logs in and runs the first email application through a user account. The first object can log in and run the first email application on multiple terminals, thereby sharing email data and calendar data of the user account corresponding to the first object on the first email application across multiple first terminals. For example, if both terminal A and terminal B have the first email application installed, the first object can log in to the same user account on both terminals A and B. The first object can send a first email to a second object through the first email application running on terminal A, and a new first email is added to the sent items folder of the first email application. At this time, terminal B can synchronously share the email data and calendar data of the first object in the first email application; that is, the first email is also synchronously added to the sent items folder of the first email application running on terminal B.
[0108] In one embodiment, such as Figure 4 As shown, the first object runs the first email application on the first terminal and sends a first email to the second object to inform them of their participation in the first meeting. At this time, the information display area 430 of the first email is displayed on the sent items interface 410 of the first email application. The information display area 430 of the first email can display the meeting topic of the first meeting "group discussion", the meeting time "2024 / 6 / 1 9:00-10:00", the meeting location "meeting room B" and the invited participants "the second object" (i.e., the recipient). After the first email is sent, the first meeting schedule of the first meeting is created in the first schedule application of the first email application. At this time, the first meeting schedule mark can be displayed in the first schedule application of the first email application. That is, the schedule mark can be displayed in the date cell with the same date as the first meeting in the calendar display interface 430 of the first schedule application, and the first meeting schedule can be displayed in the schedule display bar 440 below the date cell. Specifically, the meeting time and meeting location of the first meeting schedule can be displayed in the schedule display bar 440.
[0109] In one embodiment, a first email application is installed and run on a first terminal. The first email application (first terminal) establishes a communication connection with the server corresponding to the first email application, allowing the first email application (first terminal) and the server to exchange data. The server can continuously monitor the email status of the mailbox in the first email application, including changes such as the arrival of new emails, the deletion of emails, and the movement of emails to other folders. When an email change is detected, the server can generate corresponding email change information. The first email change information is generated because the server detects that a new email has been added to the sent items folder in the first email application. The first email change information contains key data about the first email, such as the email identifier, subject, and sender of the first email. After generating the email change information, the server can push this email change information to the first email application on the first terminal of the first object through the pre-established communication connection to inform the first email application that a new email has been added.
[0110] In one embodiment, an organizational social application running on the first terminal can utilize the subscription service of the server corresponding to the first email application to receive email change information when events occur in the mailbox or one or more folders of the first email application. Subscribed events include adding emails to the inbox / outbox, deleting emails from the inbox, and changes, moves, copies, or creations of mailbox folders. Specifically, different subscription types can be used to receive email change information, including streaming notifications, pull notifications, and push notifications. Notably, different types of subscriptions can be used simultaneously to receive the first email change information. For example, the organizational social application on the first terminal can create a pending GET request on the server corresponding to the first email application to keep the streaming subscription connection open. When a new email is added in the first email application, the server can send email change information to the organizational social application. During the period the connection remains open, the organizational social application can receive multiple email change notifications pushed by the server. If the connection between the server and the organizational social application expires, the organizational social application can resend the GET request through the first terminal. Alternatively, a web service listener can be created (the callback unified resource specified in the subscription request). (Source locator URL) When a new email is added in the first email application, the server can send email change information to the web service listener on the first terminal. The web server listener can be a subscription module in the organizational social application running on the first terminal. The subscription module refers to a component in the organizational social application used to handle subscription requests and events. The subscription module allows the software application to subscribe to specific events or data and receive notifications or data when the event occurs. In addition to using streaming notification subscriptions and push notification subscriptions, the organizational social application can also use a pull notification subscription that periodically requests email change information from the server. By sending a GET request to the server periodically, such as every 30 minutes, to retrieve email change information, the organizational social application ensures that no email change information is missed and the synchronization between emails and calendars is lost.
[0111] In one embodiment, the first email application can be an Exchange email application, and the organizational social application on the first terminal can subscribe using Exchange Web Services (EWS). Specifically, it can adopt a push notification subscription method, that is, using the subscription module in the organizational social application as a Web service listener to detect events occurring in the first email application corresponding to the first object. Figure 5As shown, the sent items interface 410 of the first email application can display information display areas 430 of each sent email. When the first object sends the first email to the second object through the first email application running on the first terminal, the first email is added to the sent items of the first email application. At this time, the information display area 430 of the first email is also added to the sent items interface 410 of the first email application. Therefore, when the first email application experiences an event change, the server corresponding to the first email application will generate first email change information. The first email change information will carry an email identifier to indicate the first email and push the first email change information to the subscription module of the organizational social application running on the first terminal.
[0112] Step S320: Based on the first email change information, synchronize the first email in the first email application to the second email application in the organization's social application.
[0113] In one embodiment, the first email change information is used to indicate that the first email application has added a first email. Therefore, the first email change information may include the email identifier of the first email. The email identifier may refer to the email index file or a tag used to find the email index file. The email is found or recovered through the email index file. Thus, the email identifier in the first email change information can be used to instruct the organization's social application to call the email-related email data in the first email application to synchronize emails between the first email application and the organization's social application.
[0114] In one embodiment, after a first email is sent to a second object via a first email application on a first terminal, the first email can be stored locally on the terminal. Therefore, by using the email identifier of the first email in the first email change information, the first email can be found locally on the first terminal, the email data of the first email can be retrieved and imported into the sent items box of the second email application in the organizational social application running on the first terminal. Thus, the sent items box of the second email application in the organizational social application can save and display the first email from the first email application, thereby realizing the synchronization of the first email from the first email application to the second email application in the organizational social application running on the first terminal.
[0115] In one embodiment, such as Figure 6As shown, after the first email is sent to the second object via the first email application on the first terminal, the first email can be stored in the server's database. Therefore, the organization's social application can first extract the email identifier of the first email from the first email's change information and generate an email retrieval request, which includes the email identifier of the first email. Then, it can send the email retrieval request to the server corresponding to the first email application to instruct the server corresponding to the first email application to accurately send the first email. After the server receives the email retrieval request sent by the first terminal, it can retrieve the first email from the database based on the email identifier in the email retrieval request and return the first email to the organization's social application. After the organization's social application receives the first email sent by the server, it can save the first email to the sent items folder of the organization's social application's second email application.
[0116] In one embodiment, when saving the first email to the inbox of a second email application within an organizational social application, in addition to saving the text content of the first email, the email identifier or the index file of the first email can also be saved simultaneously.
[0117] In one embodiment, in addition to synchronizing the first email from the first email application to the second email application in the organizational social application, all historical emails from the first email application can also be synchronized to the second email application in the organizational social application. This includes historical emails from the first email application stored locally on the first terminal, as well as historical emails stored on the server corresponding to the first email application.
[0118] Step S330: Extract the schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule.
[0119] In one embodiment, schedule information may refer to information such as the date, time, location, meeting topic, and attendees of the first meeting. The first email is a meeting notification email used to initiate the first meeting, and the first meeting schedule is successfully created in the first schedule application of the first email application. That is, the first email includes schedule information related to the first meeting. By parsing the content of the first email, the body, title, attachments, and other parts of the first email can be read to obtain the schedule information related to the meeting schedule. Specifically, such as... Figure 7As shown, after the second email application receives the first email, its content can be parsed. During parsing, text in formats such as "Meeting Time: June 1, 2024, 9:00 AM to 10:00 AM," "Meeting Room B," "Participants: First Subject, Second Subject," and "Meeting Topic: Group Discussion" can be identified and extracted. Machine learning algorithms can be used to identify non-standard formatted schedule information during extraction, improving accuracy and flexibility. After extraction, the schedule information can be formatted into a standardized format, facilitating the creation of target schedules in the second scheduling application. For example, the iCalendar format can be used. iCalendar is a widely adopted calendar data format and a standard for calendar data exchange, capable of storing and exchanging calendar information for subsequent synchronization and display across different applications.
[0120] In one embodiment, a rule-based matching method can be used to parse the content of the first email. Specifically, a set of rules can be predefined, including matching patterns for key information such as time, location, attendees, and topic. This set of rules can be constructed based on the standard meeting invitation email format, using regular expressions, keyword matching, or parsing logic specific to a particular format. The email content of the first email is obtained from a second email application, and the email content is preprocessed, including cleaning, word segmentation, and removal of stop words. Then, the preprocessed email content is traversed, and the predefined rule set is applied for matching. When a match is found, the corresponding schedule information is extracted, and the extracted schedule information is semantically verified to ensure the completeness and accuracy of the information. Finally, the verified schedule information is formatted into a standardized schedule information format.
[0121] In one embodiment, natural language processing (NLP) technology can be used to parse the content of the first email. Specifically, a set of meeting invitation emails (such as the first email) can be collected in advance as training data. Then, the email content is preprocessed, including decryption, word segmentation, and stop word removal. Then, a pre-trained model from a NLP tool or library can be selected, such as the pre-trained Named Entity Recognition (NER) model from the SpaCy library, or the pre-trained BERT (Bidirectional Encoder Representations from Transformers) model from the Transformers library. In the pre-trained model, word segmentation, part-of-speech tagging, and named entity recognition are performed on the pre-processed email content. Based on the entity recognition results, meeting time, location, attendees, topic, and other schedule information are extracted from the email content. The extracted schedule information is then structured to form a standardized schedule information format (such as iCalendar).
[0122] Step S340: Based on the schedule information, synchronize the first meeting schedule in the first schedule application to the second schedule application in the organization's social application.
[0123] In one embodiment, after obtaining the schedule information, a schedule check can be performed on the second schedule application in the organizational social application to check whether the same schedule already exists in the second schedule application. If it does not exist, a new schedule can be created in the second schedule application in the organizational social application using the schedule information. This schedule includes the same information as the schedule information in the first email, that is, the first meeting schedule is created in the second schedule application, thereby synchronizing the first meeting schedule in the first schedule application to the second schedule application in the organizational social application.
[0124] In one embodiment, the specific method for creating a new schedule using schedule information in a second schedule application within an organizational social application can be as follows: first, extract the meeting time from the schedule information of the first email; then, based on the meeting time, create a new target schedule in the second schedule application within the organizational social application; and finally, copy the schedule information from the first email (such as meeting topic, location, attendees, etc.) item by item into the corresponding fields of the target schedule, thereby forming a target schedule identical to the first meeting schedule in the first schedule application, i.e., the first meeting schedule in the second schedule application. If the second schedule application supports the function of importing schedule information to create a schedule, this function can be used directly to import schedule information to create the target schedule. After creating a target schedule in the second schedule application, you can check if the information of the target schedule is completely consistent with the schedule information in the first email. If they are consistent, you can save the target schedule in the second schedule application and mark it as "synchronized". If they are inconsistent, you can adjust the target schedule according to the schedule information in the first email and then mark it as "modified and synchronized". This realizes the synchronization of the first meeting schedule in the first schedule application to the second schedule application. By synchronizing schedules in different applications, users can meet their needs to view and manage schedules in one application without switching between multiple applications. It also avoids the problem of errors that are easy to make by manually entering schedule information. It can also realize team schedule sharing. The schedule synchronization function can help team members collaborate and arrange schedules better.
[0125] In one embodiment, after obtaining the schedule information, a schedule check can be performed on the second schedule application in the organization's social application to check whether the same schedule already exists in the second schedule application. If the first object has pre-created this meeting schedule in the second schedule application, but the time or location has changed, the schedule information of the first email can be used to adjust the meeting schedule already created in the second schedule application to ensure the consistency between the first meeting schedule in the first schedule application and the second meeting schedule in the second schedule application.
[0126] In one embodiment, after the first schedule application creates the first meeting schedule, the first schedule identifier of the first meeting schedule can be obtained from the server corresponding to the first email application, and the first schedule identifier can be associated with the object identifier of the first object; after the target schedule is created in the second schedule application, the second schedule identifier of the target schedule can be obtained, and the second schedule identifier can be associated with the object identifier, thereby realizing the association and binding of the first schedule identifier, the second schedule identifier and the object identifier.
[0127] In one embodiment, the first schedule identifier can be a unique identifier for the first meeting schedule, used to identify the schedule in the first schedule application of the first email application, while the object identifier for the first object can be an identifier used to uniquely identify the first object. Associating the extracted first schedule identifier with the object identifier of the first object helps to accurately identify and locate the first meeting schedule and related participants in subsequent processing. At the same time, the association between the first schedule identifier and the object identifier is also the basis for ensuring that the meeting schedule can be accurately and uniquely identified and synchronized, avoiding the inability to accurately synchronize the meeting schedule.
[0128] In one embodiment, the second schedule identifier is a unique identifier for the target schedule (i.e., the first meeting schedule synchronized in the second schedule application), used to uniquely identify a meeting schedule in the second schedule application. Associating the obtained second schedule identifier with an object identifier ensures that both schedule identifiers point to the same meeting schedule or the same object. This establishes a relationship between the first meeting schedule in the first schedule application and the target schedule in the second schedule application. Therefore, during subsequent synchronization, this relationship can be used to accurately locate the schedule that needs to be synchronized and perform corresponding operations, ensuring that schedule information remains consistent across different applications.
[0129] In one embodiment, such as Figure 8 As shown, after the first scheduling application creates the first meeting schedule, the first email application reports the creation of the first meeting schedule to the server corresponding to the first email application. The server corresponding to the first email application assigns a first schedule identifier to the first meeting schedule and sends the first schedule identifier to the organization's social application. The organization's social application can then associate the first schedule identifier with an object identifier, establishing a relationship between the two. Similarly, when a target schedule is created in the second scheduling application, the organization's social application or its corresponding server can assign a second schedule identifier to the target schedule. The organization's social application can then associate the second schedule identifier with an object identifier, establishing a relationship between the two. After obtaining the relationships between the first and second schedule identifiers, the organization's social application can return these two relationships to the servers corresponding to the first email application and the organization's social application, respectively, and save them locally on the first terminal.
[0130] In one embodiment, the association between the first schedule identifier, the second schedule identifier, and the object identifier during schedule synchronization can be represented by the following main code:
[0131] message CalendarBindInfo
[0132] {
[0133] optional bytes itemid = 1;
[0134] optional bytes uid=2;
[0135] optional bytes folderid=3;
[0136] }
[0137] The field `itemid` represents the identifier of the first schedule identifier, which is unique for each schedule in the first schedule application; the field `uid` represents the identifier of the object identifier; the field `folderid` represents the identifier of the second schedule identifier, which is also unique for each schedule in the second schedule application; and the field `CalendarBindInfo` represents the data structure representing the association between the first schedule identifier, the second schedule identifier, and the object identifier. This data structure stores the specific number of the first schedule identifier, the specific number of the second schedule identifier, and the specific number of the object identifier, so that the first schedule identifier, the second schedule identifier, and the object identifier with the corresponding numbers are associated and bound. This can be used to create, query, update, or delete schedules in the schedule application, as well as synchronize schedule information across applications.
[0138] In one embodiment, after a new schedule is created in the second schedule application, the second schedule identifier of the newly created schedule can be obtained from the server corresponding to the second email application, or the social application can assign a second schedule identifier to the newly created schedule, and the second schedule identifier can be associated with the object identifier of the first object. After the newly created schedule in the second schedule application is synchronized to the first schedule application, the first schedule identifier of the schedule created synchronously in the first schedule application is obtained, and the first schedule identifier is associated with the object identifier. This enables the first schedule identifier, second schedule identifier and object identifier of the synchronized schedule to be associated and bound when a new schedule is created in either the first schedule application or the second schedule application, so that the corresponding schedule can be determined and updated based on these associations when updating the schedule in the future.
[0139] In one embodiment, such as Figure 9As shown, the organizational social application includes a client synchronization module, a mail receiving module, a subscription module, a calendar synchronization module, a calendar storage module, a pass-through module, and an interaction proxy module. When the email status of the first email application changes, such as when the first email application adds a new email, the server corresponding to the first email application can push the email change information of the first email application to the subscription module in the organizational social application. The subscription module can act as a web middleware, capable of handling HTTP requests and responses between the server and the organizational social application, and can be responsible for request forwarding, authentication, etc. After receiving the email change information pushed by the server, the subscription module can inform the email change information and forward it to the calendar synchronization module. The calendar synchronization module can retrieve the email corresponding to the email identifier in the email change information from the server of the first email application. Then, the calendar synchronization module can pass the retrieved email to the calendar storage module. The calendar storage module creates a corresponding calendar event in the second calendar application within the organizational social application based on the retrieved email. The calendar storage module can store calendar data within the organizational social application, providing access and storage services for this data. Besides creating calendar events for emails transmitted by the calendar synchronization module, the calendar storage module can also receive emails from the mail receiving module and the client synchronization module, and create calendar events for them. The mail receiving module specifically handles emails received from the server corresponding to the first email application or other servers. It is responsible for receiving, parsing, and initially storing or forwarding email data to ensure that emails correctly enter the second email application within the organizational social application. The client synchronization module can synchronize data from the first email application logged into the same account across different devices. It can synchronize data types such as emails, contacts, and calendars from the first email application, ensuring data consistency across different devices. When the schedule storage module receives emails from the schedule synchronization module or the mail receiving module, it can parse the email content, extract schedule information, and create new schedules in the second schedule application within the organizational social application based on this information. The schedule storage module can also receive schedule data from the client synchronization module for synchronizing schedules across different clients, importing this data into the second schedule application to create or modify the corresponding schedules. When schedules in the schedule storage module change, such as when a schedule is created, deleted, or modified, the corresponding schedule information can be transmitted to the interaction agent module within the organizational social application. This allows the interaction agent module to generate corresponding schedule emails to notify the organizational social application or the first email application, such as for schedule synchronization or reminders.The interaction proxy module can have email functions related to the second email application, including sending, receiving, parsing, and storing emails. Therefore, the client synchronization module can obtain or send emails, synchronize contact information, etc., through the interaction proxy module. When the schedule of the second calendar application in the organizational social application changes, the server corresponding to the organizational social application can generate schedule change information and transmit this information to the schedule synchronization module through the pass-through module. The schedule synchronization module then sends it to the server corresponding to the first email application, so that the changed schedule in the second calendar application can be synchronized to the first calendar application of the first email application.
[0140] In one embodiment, after the first meeting schedule has been successfully created in the first schedule application, the first object can also cancel the first meeting schedule. Specifically, the first object can send a second email to the second object through the first email application to inform them of the cancellation of the first meeting. At this time, the first email application can delete the first meeting schedule in the first schedule application.
[0141] In one embodiment, the second email may be a meeting notification email from the first object to the second object informing them of the cancellation of the first meeting. It is an email about canceling a schedule or meeting schedule. The second email contains schedule information of the schedule to be canceled, such as the schedule information of the first meeting to be canceled at this time, namely the date, time, location, and attendees of the first meeting. The second email may also contain an email identifier of the first email, associating the second email with the first email, so that the schedule created through the first email can be canceled accurately.
[0142] In one embodiment, after the first object sends a second email to the second object through the first email application, a second email will also be added to the sent items folder of the first object's first email application. Therefore, the server corresponding to the first email application detects that there is an email update in the first object's first email application, and thus the server corresponding to the first email application can generate corresponding email change information, namely, the second email change information. Similarly, the second email change information can refer to the addition of a second email to the first email application, generated because the server detects that a new email has been added to the sent items folder of the first email application. The second email change information contains key data of the second email, such as the email identifier, subject, sender, and recipient of the second email. After generating the second email change information, the server can push the second email change information to the organizational social application through a pre-established communication connection with the organizational social application. It is worth noting that the second email change information can be received through the organizational social application. The specific receiving method can be referred to the above embodiment, and will not be repeated here.
[0143] In one embodiment, after receiving the second email change information, the second email in the first email application can be synchronized to the second email application using the second email change information. The second email change information indicates that the first email application has added a second email; that is, the second email change information may include the email identifier of the second email. Therefore, the second email can be retrieved from the server corresponding to the first email application or locally on the first terminal using the email identifier, and then stored in the sent items folder of the second email application. Thus, both the sent items folders of the first and second email applications contain the second email, achieving synchronization of emails across different applications.
[0144] In one embodiment, after synchronizing the second email to the second email application, schedule information can be extracted from the second email in the second email application to obtain the schedule information corresponding to the schedules that need to be deleted. Then, based on this schedule information, the corresponding schedules that need to be deleted in the second schedule application can be determined. The schedule information extraction can be performed using rule-based matching methods or natural language processing techniques. Specific schedule information extraction methods can refer to the above embodiments and will not be repeated here. After obtaining the schedule information corresponding to the schedules that need to be deleted, the schedule time to be deleted can be extracted from this schedule information. Based on the schedule time, the schedule to be deleted can be found in the second schedule application, and then deleted from the second schedule application.
[0145] In one embodiment, since the first schedule identifier of a schedule created in the first schedule application and the second schedule identifier of a schedule created in the second schedule application are associated with the object identifier of a first object when the schedule is created, and the first schedule identifier and the second schedule identifier are unique and used to locate and identify a specific schedule in the schedule application, the corresponding schedule can be deleted from the second schedule application through the association relationship between the first schedule identifier, the second schedule identifier and the object identifier. Specifically, the first schedule identifier of the first meeting schedule can be determined based on the content of the second email. Then, through the first schedule identifier of the first meeting schedule and the association relationship between the first schedule identifier and the object identifier, the object identifier is determined, i.e., the user whose schedule needs to be deleted is determined. Then, based on the object identifier of the user and the association relationship between the second schedule identifier and the object identifier, the second schedule identifier of the target schedule is determined. Thus, the target schedule can be determined in the second schedule application through the second schedule identifier of the target schedule, and then the target schedule can be deleted.
[0146] In one embodiment, after determining the first schedule identifier of the first meeting schedule to be deleted and the second schedule identifier of the target schedule to be deleted, and after deleting the first meeting schedule in the first scheduling application and the target schedule in the second scheduling application, the first schedule identifier, the association between the first schedule identifier and the object identifier, the second schedule identifier, and the association between the second schedule identifier and the object identifier can be deleted. By deleting the schedules in the two scheduling applications, as well as the related schedule identifiers and associations, data consistency can be ensured, confusion or errors caused by data redundancy or inconsistency can be avoided, and effective management and maintenance of schedule data can be achieved.
[0147] In one embodiment, after the first object sends a first email to the second object through the first email application to inform them of their participation in the first meeting, and the first meeting schedule has been successfully created in the first schedule application, the first object can also invite new participants to join the first meeting. Specifically, the first object can send a third email to the third object through the first email application to invite the third object to participate in the first meeting. At this time, the third object can be added as a new participant to the first meeting schedule in the first schedule application. That is, the participants in the first meeting schedule in the first schedule application change, and the composition of the participants changes from the first object and the second object to the first object, the second object, and the third object.
[0148] In one embodiment, the third email may refer to an email from the first object inviting the third object to participate in the first meeting, or an email about adding new participants to the first meeting. The third email contains the date, time, location, existing participants, and newly added participants of the first meeting. The third email may contain the email identifier of the first email, thus associating the third email with the first email, thereby accurately inviting the third object to join the first meeting schedule created through the first email.
[0149] In one embodiment, after a first object sends a third email to a third object through a first email application, a new third email will be added to the sent items folder of the first object's first email application. Therefore, the server corresponding to the first email application detects another email change in the first object's first email application. The server can then generate third email change information, which indicates that a third email has been added to the first email application. This third email change information may include the email identifier of the third email. After generating the third email change information, the server can push the third email change information to a social networking application running on a first terminal. This informs the first email application that a third email has been added, triggering the first terminal to retrieve the third email from the first email application based on the third email change information, and then synchronize the third email from the first email application to the second email application.
[0150] In one embodiment, after receiving the third email change information, the organization's social application can use the email identifier of the third email carried in the third email change information to find the third email from the server corresponding to the first email application or the local machine of the first terminal. If the third email is stored on the server corresponding to the first email application, the server can send the third email to the sent items box of the organization's social application's second email application; if the third email is stored locally on the first terminal, the third email locally on the first terminal can be copied and saved to the sent items box of the organization's social application's second email application, thereby synchronizing the third email between the first email application and the second email application.
[0151] In one embodiment, after synchronizing the third email to the second email application, schedule information can be extracted from the email content of the third email in the second email application to determine the schedule for which new participants need to be added (i.e., the target schedule). The third participant is then added to this schedule as a new participant. The method for extracting schedule information from email content can refer to the above embodiment and will not be repeated here. After obtaining the schedule information of the third email, i.e., the schedule information of the schedule for which new participants need to be added, the meeting time of this schedule is determined. The target schedule can then be determined in the second schedule application based on the meeting time, and the third participant is then added to the target schedule in the second schedule application as a new participant.
[0152] In one embodiment, a third object can be added as a new participant to the corresponding schedule in the second schedule application by using the first schedule identifier of the schedule created in the first schedule application, the second schedule identifier of the schedule created in the second schedule application, and the association relationship between the first schedule identifier, the second schedule identifier, and the object identifier. Specifically, the third email may contain email content indicating the first schedule identifier of the first meeting schedule. The first schedule identifier of the first meeting schedule is determined by the email content of the third email. The object identifier of the first object is determined by the first schedule identifier of the first meeting schedule and the association relationship between the first schedule identifier and the object identifier. Then, based on the object identifier of the first object and the association relationship between the second schedule identifier and the object identifier, the second schedule identifier of the target schedule is determined. Thus, the target schedule can be determined in the second schedule application by using the second schedule identifier of the target schedule, and the third object can be added as a new participant to the target schedule.
[0153] In one embodiment, when the first object sends a first email or a third email to the participants through a first email application running on a first terminal, the participants can receive the first email or the third email through the corresponding email application running on their terminals. At this time, the participants can reply to the first object to confirm their participation in the first meeting. If a participant is unable to attend the first meeting, they can send a fourth email to the first object requesting cancellation of participation. The fourth email is an email sent by the participant to the meeting organizer requesting cancellation of participation. The fourth email contains an instruction to "request cancellation of participation in the meeting" and the schedule information of the meeting for which cancellation is requested. Therefore, when the first email application receives the fourth email from the fourth object requesting cancellation of participation in the first meeting, the first email application can first determine the participants of the first meeting, then delete the fourth object from the participants of the first meeting, calculate the remaining participants of the first meeting after deleting the fourth object, and at this time, the remaining participants are the current participants of the first meeting. The remaining participants are then used to update the first meeting schedule in the first schedule application, that is, the remaining participants are used to update the participants in the schedule information of the first meeting schedule.
[0154] In one embodiment, since the first email application receives a fourth email, the email status of the first email application changes, triggering the server of the first email application to generate corresponding email change information, namely, fourth email change information. This fourth email change information is used to inform the first email application that a fourth email has been added. The fourth email change information may include the email identifier of the fourth email, or it may include the first schedule identifier of the first meeting schedule. After generating the fourth email change information, the server can push the fourth email change information to the social organization application running on the first terminal to inform the first email application that a fourth email has been added. This triggers the first terminal to synchronize the fourth email between the first email application and the second email application based on the fourth email change information. The synchronization method between the first email application and the second email application can refer to the above embodiment and will not be repeated here.
[0155] In one embodiment, after the fourth email is synchronized to the second email application, the schedule information of the fourth email in the second email application can be extracted to determine the schedule of the participant to be deleted (i.e., the target schedule in the second schedule application). Then, the fourth object is deleted from the participants in the schedule information of the target schedule. Specifically, after obtaining the schedule information of the participants to be deleted in the fourth email, the organizational social application can extract the meeting time through the schedule information, and determine the target schedule in the second schedule application through the meeting time. Then, the remaining personnel result after deleting the fourth object from the participants in the schedule information of the target schedule is calculated. Then, based on the remaining personnel result, the target schedule is updated in the second schedule application, so as to synchronize the updated first meeting schedule to the second schedule application in the organizational social application.
[0156] In one embodiment, the schedules of attendees that need to be deleted can be determined by the first schedule identifier of the first meeting schedule, the second schedule identifier of the schedule created in the second schedule application, and the association between the first schedule identifier, the second schedule identifier and the object identifier.
[0157] In one embodiment, since the meeting schedule requires multiple participants, if there are fewer than two attendees, the meeting cannot be held successfully. Therefore, if the remaining participants in the first meeting after deleting the fourth object only include the meeting organizer of the first meeting, the first meeting cannot be held and needs to be canceled. Thus, the first meeting schedule (i.e., the target schedule) is deleted in the second schedule application. If the remaining participants in the first meeting after deleting the fourth object still include the meeting organizer of the first meeting and other attendees, the first meeting proceeds as scheduled. Only the fourth object needs to be removed from the original participants of the first meeting. Therefore, the fourth object is removed from the participants of the first meeting in the first meeting schedule of the second schedule application.
[0158] In one embodiment, when a schedule in the first calendar application changes, such as schedule information being updated, a schedule being added, or a schedule being deleted, the server corresponding to the first email application can be triggered to push a schedule update email to the organizational social application running on the first terminal, informing the second calendar application of the organizational social application that the schedule needs to be updated. The schedule update email can refer to an email reminding the second calendar application to update the schedule due to changes in the schedule information of the schedule in the first calendar application. The schedule update email includes the updated schedule in the first calendar application, the updated schedule information, and the first schedule identifier of the updated schedule. The organizational social application can determine the schedule that needs to be updated in the second calendar application based on the content of the schedule update email.
[0159] In one embodiment, the first object can remove participants from the first meeting schedule through a second scheduling application. At this time, a meeting removal email is generated and sent to the removed object to notify the participants removed from the first meeting schedule. For example, ... Figure 10 As shown, the participants in the first meeting schedule include a first participant, a second participant, and a sixth participant. The first participant removes the sixth participant from the first meeting schedule through the second schedule application. At this point, there are still multiple participants in the first meeting schedule, and the first meeting continues. However, the change in the participants triggers the second email application to generate a sixth email, which is sent to the sixth participant. This sixth email informs the sixth participant that they have been removed from the first meeting schedule. It is worth noting that if, after removing the sixth participant, only the meeting organizer remains in the first meeting schedule, the first meeting schedule will be disbanded, i.e., the first meeting schedule will be deleted. It should be noted that the sixth participant can refer to an individual or a group of people, or it can be a member of a group of people. When the sixth participant is a member of a group of people, and the participants in the first meeting schedule also include other members of the group to which the sixth participant belongs, a prompt can be issued when the second schedule application removes participants from the first meeting schedule to confirm whether only the sixth participant is being removed or all members of the group to which the sixth participant belongs.
[0160] In one embodiment, when the first meeting schedule includes multiple participants other than the meeting organizer, the first meeting schedule of the first object (i.e., the meeting organizer) can be cancelled, that is, the meeting organizer of the first meeting schedule can be inherited by other participants. Specifically, participants other than the first object can remove the first object from the first meeting schedule through the second schedule application and the first object is added to the first meeting schedule in the second schedule application. Then, the participant can recreate the meeting schedule using the second schedule identifier of the first meeting schedule and send a notification email to all participants. At the same time, the organization social application can also communicate directly with the first schedule application through the application programming interface provided by the first schedule application to delete the first meeting schedule of the first object corresponding to each participant and recreate the first meeting schedule of the new meeting organizer.
[0161] In one embodiment, when the changed schedule in the first calendar application is a periodic single-event schedule, the server corresponding to the first email application will also include an exception schedule marker in the generated schedule update email. Therefore, when the second calendar application updates the periodic single-event schedule, it will also add an exception schedule marker to indicate that the schedule has changed in the current period, while it remains unchanged in the other periods.
[0162] In one embodiment, when the first or second scheduling application adjusts the meeting schedule except for key information, the acceptance status of the participants regarding the meeting schedule is preserved. Key information of the meeting schedule refers to matters that can directly affect whether the meeting schedule can be successfully held, such as meeting time, topic, location, participants, and other framework matters that constitute the meeting schedule.
[0163] In one embodiment, when a schedule in the second calendar application changes, such as by adding, modifying, or deleting a schedule, a corresponding schedule update email can be generated. This email contains the schedule information of the changed schedule in the second calendar application, as well as the updated schedule information. The server corresponding to the second email application (i.e., the server corresponding to the organizational social application) can push the schedule update email to the server corresponding to the first email application. This allows the server of the first email application to update the schedule of the first calendar application within the first email application based on the schedule update email, thus synchronizing the adjusted schedule in the second calendar application with the first calendar application.
[0164] In one embodiment, the first schedule application provides an application programming interface (API) for communicating with the first schedule application. The organizational social application can directly communicate and operate with the first schedule application through the API, such as creating, modifying, and deleting emails, schedules, contacts, etc. Therefore, when a schedule in the second schedule application is modified or deleted, the API provided by the first schedule application can be called. By utilizing the association between the first schedule identifier, the second schedule identifier, and the object identifier, the corresponding schedule in the first schedule application can be directly modified or deleted. For example, if a participant can change the schedule acceptance status of a target schedule in the second schedule application, the API provided by the first schedule application can be called directly. By utilizing the association between the first schedule identifier, the second schedule identifier, and the object identifier, the first meeting schedule in the first schedule application can be deleted, and then a corresponding receipt email can be generated and sent to the meeting organizer.
[0165] In one embodiment, the first object can also send a fifth email to the fifth object via a second email application within the organization's social application to notify them of participation in the second meeting. At this time, the second calendar application within the organization's social application can create a new schedule for the second meeting. Then, the fifth email from the second email application is synchronized to the first email application, and simultaneously, the second meeting schedule from the second calendar application is synchronized to the first calendar application within the first email application.
[0166] In one embodiment, the fifth recipient can refer to the email recipient, the participant notified to attend the "second meeting," i.e., the recipient of the fifth email. The fifth email can refer to a meeting notification email sent by the first recipient to inform the participant of their participation in the second meeting. The fifth email can contain information such as the date, time, location, topic, and participants of the second meeting. Similarly, the second meeting can refer to a scheduled event involving a meeting organizer and at least one participant attending a specified event on a specified date, time, or location. The second meeting can refer to a meeting initiated by sending an email through a second email application, while the first meeting can refer to a meeting initiated by sending an email through a first email application.
[0167] In one embodiment, during the process of creating a second meeting schedule in the second schedule application of the organization social application, the schedule information of the second meeting can be extracted from the email content of the fifth email, the meeting time can be extracted from the schedule information, a new schedule can be created in the second schedule application according to the meeting time, and the schedule information of the second meeting can be imported into the newly created schedule to form the second meeting schedule.
[0168] In one embodiment, such as Figure 11As shown, when the first object creates a new event in the second calendar application of the organization's social application, it successfully creates a meeting event in the preparation stage by filling in the event information in the second calendar application. At this time, the second calendar application generates a second event identifier for this meeting event in the preparation stage and associates this second event identifier with the object identifier of the first object. Then, a fifth email is generated based on the event information of the meeting event in the preparation stage and the second event identifier, and the fifth email is sent to each participant of the meeting event. It is worth noting that a meeting event in the preparation stage can mean that the current event is waiting for the participants other than the meeting organizer to confirm the event acceptance status. If a participant other than the meeting organizer confirms the event acceptance status, the meeting event in the preparation stage is transformed into a second meeting event, that is, the second meeting event is successfully created. If all participants other than the meeting organizer refuse to confirm the event acceptance status, or if the meeting organizer needs to delete the event, the association between the second event identifier and the object identifier of the first object can be used to identify the corresponding event and delete it. When a schedule in the second schedule application needs to be updated, the schedule information to be updated can be obtained first. By using the association between the second schedule identifier and the object identifier, the specified schedule that needs to be updated can be identified. The schedule information to be updated is then used to update the specified schedule. If the initiator of the schedule update is the first object, i.e., the meeting organizer of the meeting schedule, a corresponding schedule update email can be generated based on the updated schedule information and sent to all participants of the schedule. If the initiator of the schedule update is a participant other than the meeting organizer, it can be determined whether the key information of the meeting, such as the meeting time, location, participants, and topic, has changed after the update. If the key information of the schedule has changed, a corresponding schedule update email can be generated based on the updated schedule information and sent to the meeting organizer of the schedule. If the key information of the schedule has not changed, there is no need to generate a schedule update email.
[0169] In one embodiment, when the first meeting and the second meeting conflict in terms of meeting time, the schedule information of the first meeting schedule and the schedule information of the second meeting schedule can be compared. If the schedule information of the first meeting schedule and the schedule information of the second meeting schedule are the same, then the first meeting schedule and the second meeting schedule can be merged. If the schedule information of the first meeting schedule and the schedule information of the second meeting schedule are inconsistent only in terms of participants, then the first meeting schedule or the second meeting schedule can be updated using the schedule information of the first meeting schedule or the schedule information of the second meeting schedule. If the schedule information of the first meeting schedule and the schedule information of the second meeting schedule are inconsistent in terms of meeting topic or meeting location, then a conflict mark can be made on the second meeting schedule in the second schedule application and the first meeting schedule in the first schedule application to prompt the first object to adjust the conflicting first meeting schedule and the second meeting schedule in a timely manner.
[0170] In one embodiment, when an email is sent through a second email application and a schedule is created, adjusted, or deleted in a second calendar application as a result of that email, the email and the adjusted schedule can be synchronized to the first email application and the first calendar application within the first email application, respectively. Specifically, when the email status in the second email application changes, the server corresponding to the second email application can also generate email change information and push this information to the first email application to inform it that the emails in the second email application have changed. The first email application can then retrieve the corresponding emails from the server corresponding to the second email application using this email change information and save the retrieved emails to the first email application, thus synchronizing the emails from the second email application to the first email application. Since the second meeting schedule in the second schedule application changes due to the fifth email, the first email application can extract the schedule information from the fifth email, extract the schedule information of the second meeting from the fifth email, and import it into the first schedule application in the first email application. Similarly, a new schedule can be created in the first schedule application based on the meeting time in the schedule information of the second meeting, and the schedule information of the second meeting can be imported into that schedule to form a meeting schedule corresponding to the second meeting schedule, thereby synchronizing the second meeting schedule in the second schedule application to the first schedule application in the first email application.
[0171] In one embodiment, the first and second calendar applications may include meeting schedules and personal schedules. The fundamental difference between meeting schedules and personal schedules is that meeting schedules have multiple participants, while personal schedules have only one participant. In other words, a personal schedule can refer to a schedule with only one participant. The first participant can create personal schedules in the first calendar application of the first email application. Therefore, both personal schedules and meeting schedules in the first calendar application can be synchronized to the second calendar application in the organizational social application to achieve unified viewing and management of schedules across different applications.
[0172] In one embodiment, the organizational social application can send a personal schedule request to the server corresponding to the first email application. Then, it receives the target personal schedule and synchronization key value sent by the server corresponding to the first email application according to the personal schedule request, and adds the target personal schedule to the second schedule application in the organizational social application. Every preset time interval, it requests a new target personal schedule from the server corresponding to the first email application according to the synchronization key value, and updates the schedule content in the second schedule application according to the new target personal schedule.
[0173] In one embodiment, a personal calendar request is used to request personal calendar information of a first object in a first calendar application within a first email application. The personal calendar request may include an object identifier of the first object, so that the server corresponding to the first email application can use the object identifier of the first object to quickly determine the personal calendar belonging to the first object in the first calendar application.
[0174] In one embodiment, the target personal schedule may refer to the personal schedule of the first object in the first schedule application, and the target personal schedule contains schedule information for each personal schedule. A synchronization key value can be used to mark and identify the status of schedule data at different points in time during schedule synchronization. The synchronization key value is unique and continuously valid throughout the entire schedule synchronization process until it is updated. Through the synchronization key value, it is possible to accurately know which point in time the last schedule was synchronized, so that subsequent schedule synchronizations only pull or push schedule data changes since the last synchronization, reducing the amount of data transmission required for schedule synchronization and improving schedule synchronization efficiency. At the same time, the synchronization key value can prevent data duplication or omission, ensuring that the schedule data between the first schedule application and the second schedule application remains consistent.
[0175] In one embodiment, during the initial synchronization of a personal calendar, the synchronization key value can be set to empty or an initial value. Then, the server corresponding to the first email application determines the target personal calendar based on the personal calendar request and updates the synchronization key value to indicate the calendar data status after this personal calendar synchronization. The target personal calendar and the synchronization key value are then pushed to the organizational social application. The organizational social application imports the received target personal calendar data into the second calendar application, thus adding the target personal calendar to the second calendar application. During subsequent scheduled calendar synchronizations (e.g., every 5 minutes), the organizational social application can request the target personal calendar since the last calendar synchronization from the server corresponding to the first email application based on the currently saved synchronization key value. The server corresponding to the first email application will determine the target personal calendar since the last calendar synchronization based on the synchronization key value, update the synchronization key value again, and then push the new target personal calendar and the updated synchronization key value to the organizational social application. This allows the organizational social application to save the new synchronization key value and update the calendar in the second calendar application according to the new target personal calendar, ensuring that the calendar in the first calendar application within the first email application is consistent with the calendar in the second calendar application.
[0176] The following detailed description of the schedule synchronization method provided in the embodiments of this application uses specific examples.
[0177] Reference Figure 12 As shown, Figure 12 This is a flowchart illustrating a specific example of a schedule synchronization method. Figure 12 In this process, the schedule synchronization method may include the following steps 1201 to 1227.
[0178] Step 1201: When the first object sends a first email to the second object through the first email application running on the first terminal to inform it of its participation in the first meeting, the first email application creates a new first meeting schedule for the first meeting in the first schedule application and generates a first schedule identifier for the first meeting schedule.
[0179] Step 1202: The server corresponding to the first email application generates and pushes the first email change information to the organization's social application based on the first schedule identifier of the first meeting schedule, the object identifier of the first object, and the email identifier of the first email.
[0180] Step 1203: The organization's social application receives the first email change information pushed by the server corresponding to the first email application.
[0181] The first email change information is used to indicate that a first email has been added to the first email application.
[0182] Step 1204: The organization's social application generates an email retrieval request including the email identifier based on the email identifier of the first email change information.
[0183] Step 1205: The social application sends an email retrieval request to the server corresponding to the first email application.
[0184] Step 1206: The server corresponding to the first email application finds the first email based on the email identifier in the email retrieval request and returns the first email to the organization's social application.
[0185] Step 1207: The organization's social application receives the first email sent by the server corresponding to the first email application, and saves the first email to the sent items folder of the second email application within the organization's social application.
[0186] Step 1208: Organize the social application to extract the schedule information of the first email in the second email application to obtain the schedule information of the first meeting.
[0187] Step 1209: Based on the meeting time in the schedule information, create a new target schedule in the second schedule application within the organization's social application.
[0188] Step 1210: Organize the social application to add schedule information to the target schedule, and synchronize the first meeting schedule in the first schedule application to the second schedule application.
[0189] Step 1211: The organization's social application associates the first schedule identifier of the first meeting schedule with the object identifier of the first object, and obtains the second schedule identifier of the target schedule, and associates the second schedule identifier with the object identifier.
[0190] Specifically, upon completing step 1211, the schedule creation is synchronized between the first and second schedule applications. After the meeting schedule is synchronized, the organization's social application will continuously obtain the email sending and receiving status of the first email application and execute corresponding steps based on the email sending and receiving status. Specifically, this includes: executing steps 1212 to 1216 when sending an email to cancel the first meeting; executing steps 1217 to 1220 when sending an email to invite new participants to join the first meeting; and executing steps 1221 to 1224 when receiving an email requesting to cancel participation in the first meeting.
[0191] Step 1212: When the first object sends a second email to the second object through the first email application to inform them of the cancellation of the first meeting, the first email application deletes the first meeting schedule from the first calendar application.
[0192] Step 1213: The organization's social application receives the second email change information pushed by the server corresponding to the first email application.
[0193] The second email change information is used to indicate that a second email has been added to the first email application.
[0194] Step 1214: Based on the changes in the second email, the organization's social application synchronizes the second email from the first email application to the second email application.
[0195] Step 1215: In the second email application, the first schedule identifier for the first meeting schedule is determined based on the content of the second email.
[0196] Step 1216: The organization social application determines the target schedule in the second schedule application based on the first schedule identifier, the association between the first schedule identifier and the object identifier, and the association between the second schedule identifier and the object identifier, and deletes the target schedule.
[0197] Specifically, during the execution of steps 1212 to 1216, the schedule synchronization of canceling the first meeting is completed in the first schedule application and the second schedule application.
[0198] Step 1217: When the first object sends a third email to the third object through the first email application to invite them to participate in the first meeting, the first email application adds the third object as a new participant to the first meeting schedule in the first schedule application.
[0199] Step 1218: The organization's social application receives the third email change information pushed by the server corresponding to the first email application.
[0200] The third email change information is used to indicate that a third email has been added to the first email application.
[0201] Step 1219: Based on the changes made in the third email, the organization's social application synchronizes the third email from the first email application to the second email application.
[0202] Step 1220: The organization's social application adds the third person as a new participant to the target schedule in the second schedule application based on the content of the third email in the second email application.
[0203] Specifically, during the execution of steps 1217 to 1220, the schedule synchronization of adding new participants to the first meeting is completed in the first schedule application and the second schedule application.
[0204] Step 1221: When the first email application receives a fourth email from the fourth object requesting to cancel its participation in the first meeting, the first email application removes the fourth object from the participants of the first meeting in the first calendar application.
[0205] Step 1222: The organization's social application receives the fourth email change information pushed by the server corresponding to the first email application.
[0206] The fourth email change information indicates that a fourth email has been added to the first email application.
[0207] Step 1223: Based on the fourth email change information, the organization's social application synchronizes the fourth email from the first email application to the second email application.
[0208] Step 1224: Based on the content of the fourth email in the second email application, the organization's social application determines the remaining participants of the first meeting after deleting the fourth object, and executes step 1225 or step 1226 based on the remaining participants.
[0209] Step 1225: The remaining personnel result includes only the meeting organizer of the first meeting. Delete the first meeting schedule in the second schedule application and proceed to step 1227.
[0210] Step 1226: The remaining personnel result includes the meeting organizer and other participants of the first meeting. In the first meeting schedule applied to the second schedule, remove the fourth object from the participants of the first meeting and proceed to step 1227.
[0211] Step 1227: The organization's social application synchronizes the updated first meeting schedule to the second schedule application within the organization's social application.
[0212] Specifically, during the execution of steps 1221 to 1227, the schedules of participants who canceled the first meeting are synchronized in the first schedule application and the second schedule application.
[0213] In this embodiment, using the schedule synchronization method described in steps 1201 to 1227, when the first object sends a first email to the second object using a first email application running on a first terminal to notify them of participation in a first meeting, a new meeting schedule for the first meeting is created in the first schedule application within the first email application. Since the first object sends the first email through the first email application, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application. The first email change information indicates that a new sent email has been added in the first email application. Then, through the first email change information, the first email in the first email application can be identified and synchronized to the second email application within the organizational social application. The first email change information breaks down information barriers between different applications, enabling automatic synchronization of schedule-related emails across different email applications. Simultaneously, utilizing… The first email, whose change information is synchronized in the second email application, provides the first meeting's schedule information for the organization's social application, laying the data foundation for subsequent schedule synchronization. Then, schedule information is extracted from the first email synchronized in the second email application to obtain the first meeting's schedule information. This schedule information is then used to synchronize the first meeting's schedule from the first schedule application to the second schedule application within the organization's social application. Furthermore, in subsequent schedule management, users can send and receive emails related to schedule changes through the email application to synchronize and adjust the meeting schedule between the first and second schedule applications. This achieves unified management and viewing of schedules across different applications, enabling users to manage schedules in one stop within the organization's social application, sharing schedule information, and improving the efficiency and convenience of managing and viewing schedules across multiple applications. This provides users with a smoother and more efficient user experience.
[0214] The following examples illustrate the application scenarios of the embodiments of this application.
[0215] It should be noted that the schedule synchronization method provided in this application embodiment can be applied to different application scenarios such as departmental meeting scenarios, online training and education scenarios, or product promotion scenarios. The following description will take departmental meeting scenarios, online training and education scenarios, and product promotion scenarios as examples.
[0216] Scene 1
[0217] The schedule synchronization method provided in this application can be applied to departmental meeting scenarios. For example, a department manager can send a first email to each department member through a first email application running on a first terminal to inform them of the departmental meeting. Then, the first schedule application in the first email application creates a departmental meeting schedule. Next, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application, and synchronize the first email in the first email application to the second email application in the organizational social application according to the first email change information. Then, the schedule information of the first email in the second email application is extracted to obtain the schedule information of the departmental meeting schedule. Then, according to the schedule information, the departmental meeting schedule in the first schedule application is synchronized to the second schedule application in the organizational social application. At this time, after completing the email notification of the departmental meeting and the creation of the meeting schedule in the first schedule application, the organizational social application will automatically complete the operation of synchronizing the emails and meeting schedules in the first email application and the first schedule application on the organizational social application.
[0218] Scene 2
[0219] The schedule synchronization method provided in this application embodiment can also be applied to online training and education scenarios. For example, when an instructor sends a first email to each student through a first email application running on a first terminal to inform them of their participation in a training meeting, the first schedule application in the first email application creates a training meeting schedule. Then, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application, and synchronize the first email in the first email application to the second email application in the organizational social application according to the first email change information. Then, the schedule information of the first email in the second email application is extracted to obtain the schedule information of the training meeting schedule. Then, according to the schedule information, the training meeting schedule in the first schedule application is synchronized to the second schedule application in the organizational social application. At this time, after completing the email notification of the training meeting and the creation of the training meeting schedule in the first schedule application, the organizational social application will automatically complete the operation of synchronizing the emails in the first email application and the training meeting schedule in the first schedule application on the organizational social application.
[0220] Scene 3
[0221] The schedule synchronization method provided in this application embodiment can also be applied to product promotion scenarios. For example, when an enterprise sends a first email to the media or customers through a first email application running on a first terminal to inform them of participation in a product launch conference, the first schedule application in the first email application creates a product launch conference schedule. Then, the organizational social application can receive the first email change information pushed by the server corresponding to the first email application, and synchronize the first email in the first email application to the second email application in the organizational social application according to the first email change information. Then, the schedule information of the first email in the second email application is extracted to obtain the schedule information of the product launch conference schedule. Then, according to the schedule information, the product launch conference schedule in the first schedule application is synchronized to the second schedule application in the organizational social application. At this time, after completing the email notification of the product launch conference and the creation of the product launch conference schedule in the first schedule application, the organizational social application will automatically complete the operation of synchronizing the emails in the first email application and the first schedule application with the product launch conference schedule on the organizational social application.
[0222] It is understood that although the steps in the above flowcharts are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated in this embodiment, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the above flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.
[0223] Reference Figure 13 This application also discloses a schedule synchronization device 1300, which can implement the schedule synchronization method in the previous embodiments. The schedule synchronization device 1300 is installed on a first terminal, and the first terminal runs an organized social application and a first email application. When a first object sends a first email to a second object through the first email application to inform them of participation in a first meeting, the first email application creates a new meeting schedule for the first meeting in the first schedule application. The schedule synchronization device 1300 includes:
[0224] The information receiving unit 1301 is used to receive the first email change information pushed by the server corresponding to the first email application, wherein the first email change information is used to indicate that a first email has been added in the first email application.
[0225] The email synchronization unit 1302 is used to synchronize the first email in the first email application to the second email application in the organization's social application based on the first email change information.
[0226] The schedule extraction unit 1303 is used to extract schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule.
[0227] The schedule synchronization unit 1304 is used to synchronize the first meeting schedule in the first schedule application to the second schedule application in the organization's social application based on the schedule information.
[0228] In one embodiment, the schedule synchronization unit 1304 is further configured to:
[0229] Based on the meeting time, create a new target schedule in the second calendar application within the organization's social application;
[0230] Add schedule information to the target schedule to synchronize the first meeting schedule in the first schedule application to the second schedule application.
[0231] In one embodiment, the schedule creation unit is further configured to:
[0232] Obtain the first schedule identifier of the first meeting schedule from the server corresponding to the first email application, and associate the first schedule identifier with the object identifier of the first object;
[0233] Obtain the second schedule identifier for the target schedule and associate the second schedule identifier with the object identifier.
[0234] In one embodiment, the information receiving unit 1301 is further configured to receive second email change information pushed by the server corresponding to the first email application, wherein the second email change information is used to indicate that a second email has been added to the first email application.
[0235] The email synchronization unit 1302 is also used to synchronize the second email in the first email application to the second email application based on the second email change information;
[0236] The schedule synchronization unit 1304 is also used to delete the corresponding schedule in the second schedule application based on the email content of the second email in the second email application.
[0237] In one embodiment, the schedule synchronization unit 1304 is further configured to:
[0238] In the second email application, the first schedule identifier of the first meeting schedule is determined based on the content of the second email.
[0239] Based on the first schedule identifier, the association between the first schedule identifier and the object identifier, and the association between the second schedule identifier and the object identifier, the target schedule is determined in the second schedule application and then deleted.
[0240] In one embodiment, the information receiving unit 1301 is further configured to receive third email change information pushed by the server corresponding to the first email application, wherein the third email change information is used to indicate that a third email has been added to the first email application.
[0241] The email synchronization unit 1302 is also used to synchronize the third email in the first email application to the second email application based on the third email change information.
[0242] The schedule synchronization unit 1304 is also used to add a third object as a new participant to the target schedule in the second schedule application based on the content of the third email in the second email application.
[0243] In one embodiment, the information receiving unit 1301 is further configured to receive fourth email change information pushed by the server corresponding to the first email application, wherein the fourth email change information is used to indicate that a fourth email has been added to the first email application.
[0244] The email synchronization unit 1302 is also used to synchronize the fourth email in the first email application to the second email application based on the fourth email change information.
[0245] The schedule extraction unit 1303 is also used to determine the remaining participants of the first meeting after deleting the fourth object, based on the content of the fourth email in the second email application.
[0246] The schedule synchronization unit 1304 is also used to update the first meeting schedule in the second schedule application based on the remaining personnel results.
[0247] In one embodiment, the schedule synchronization unit 1304 is further configured to:
[0248] If the remaining personnel results only include the organizers of the first meeting, delete the schedule for the first meeting in the second schedule application;
[0249] Alternatively, if the remaining personnel result includes the meeting organizer and other participants of the first meeting, the fourth object is removed from the participants of the first meeting in the second schedule application of the first meeting schedule.
[0250] In one embodiment, the schedule creation unit is further configured to create a second meeting schedule for the second meeting in the second schedule application when the first object sends a fifth email to the fifth object through a second email application in the organization's social application to inform the fifth object of participation in the second meeting;
[0251] Email synchronization unit 1302 is also used to synchronize the fifth email in the second email application to the first email application;
[0252] The schedule synchronization unit 1304 is also used to synchronize the second meeting schedule in the second schedule application to the first schedule application in the first email application.
[0253] In one embodiment, the schedule creation unit is further configured to send a personal schedule request to the server corresponding to the first email application, wherein the personal schedule request is used to request a personal schedule in the first schedule application within the first email application.
[0254] The information receiving unit 1301 is also used to receive the target personal schedule and synchronization key value sent by the server corresponding to the first email application according to the personal schedule request, wherein the target personal schedule is the personal schedule of the first object recorded in the first schedule application.
[0255] The schedule synchronization unit 1304 is also used to add the target individual's schedule to a second schedule application in the organization's social application;
[0256] The schedule creation unit is also used to request a new target personal schedule from the server corresponding to the first email application at preset intervals based on the synchronization key value.
[0257] The schedule synchronization unit 1304 is also used to update the schedule content in the second schedule application according to the new target personal schedule.
[0258] In one embodiment, the email synchronization unit 1302 is further used for
[0259] Generate an email retrieval request that includes the email identifier;
[0260] Send an email retrieval request to the server corresponding to the first email application, so that the server corresponding to the first email application can find the first email based on the email identifier in the email retrieval request.
[0261] Receive the first email sent by the server corresponding to the first email application, and save the first email to the sent items folder of the second email application in the organization's social application.
[0262] It should be noted that since the schedule synchronization device 1300 of this embodiment can implement the schedule synchronization method of the previous embodiment, the schedule synchronization device 1300 of this embodiment and the schedule synchronization method of the previous embodiment have the same technical principle and the same beneficial effect. In order to avoid repetition, it will not be described again here.
[0263] Reference Figure 14 This application also discloses a schedule synchronization device, the schedule synchronization device 1400 including:
[0264] At least one processor 1401;
[0265] At least one memory 1402 is used to store at least one program;
[0266] When at least one program is executed by at least one processor 1401, the schedule synchronization method described above is implemented.
[0267] This application also discloses a computer-readable storage medium storing a processor-executable computer program, which, when executed by a processor, is used to implement the aforementioned schedule synchronization method.
[0268] This application also discloses a computer program product, including a computer program or computer instructions, which are stored in a computer-readable storage medium. The processor of the schedule synchronization device reads the computer program or computer instructions from the computer-readable storage medium and executes the computer program or computer instructions, causing the schedule synchronization device to perform the schedule synchronization method as described above.
[0269] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.
[0270] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0271] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.
[0272] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0273] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0274] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0275] The step numbers in the above method embodiments are set only for ease of explanation and do not impose any restrictions on the order of the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.
Claims
1. A method for synchronizing schedules, characterized in that, Applied to an organizational social application running on a first terminal, the first terminal also runs a first email application. When a first object sends a first email to a second object through the first email application to inform them of participation in a first meeting, the first email application creates a first meeting schedule for the first meeting in a first calendar application. The method includes: Receive first email change information pushed by the server corresponding to the first email application, wherein the first email change information is used to indicate that the first email has been added in the first email application. Based on the first email change information, the first email in the first email application is synchronized to the second email application in the organization's social application; Extract the schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule; Based on the schedule information, the first meeting schedule in the first schedule application is synchronized to the second schedule application in the organization's social application.
2. The method according to claim 1, characterized in that, The schedule information includes the meeting time; synchronizing the first meeting schedule in the first schedule application to the second schedule application in the organization's social application based on the schedule information includes: Based on the meeting time, create a new target schedule in the second schedule application of the organization's social application; Add the schedule information to the target schedule to synchronize the first meeting schedule in the first schedule application to the second schedule application.
3. The method according to claim 2, characterized in that, The method further includes: Obtain the first schedule identifier of the first meeting schedule from the server corresponding to the first email application, and associate the first schedule identifier with the object identifier of the first object; Obtain the second schedule identifier of the target schedule and associate the second schedule identifier with the object identifier.
4. The method according to claim 3, characterized in that, The method further includes: When the first object sends a second email to the second object through the first email application to notify the cancellation of the first meeting, the first email application deletes the first meeting schedule in the first calendar application. The method further includes: Receive second email change information pushed by the server corresponding to the first email application, wherein the second email change information is used to indicate that the second email has been added in the first email application; Based on the second email change information, synchronize the second email in the first email application to the second email application; Based on the content of the second email in the second email application, delete the corresponding schedule in the second calendar application.
5. The method according to claim 4, characterized in that, The step of deleting the corresponding schedule in the second calendar application based on the email content of the second email in the second email application includes: In the second email application, the first schedule identifier of the first meeting schedule is determined based on the content of the second email. Based on the first schedule identifier, the association between the first schedule identifier and the object identifier, and the association between the second schedule identifier and the object identifier, the target schedule is determined in the second schedule application, and the target schedule is deleted.
6. The method according to claim 2, characterized in that, When the first object sends a third email to the third object through the first email application to invite the third object to participate in the first meeting, the first email application adds the third object as a new participant to the first meeting schedule in the first calendar application. The method further includes: Receive third email change information pushed by the server corresponding to the first email application, wherein the third email change information is used to indicate that the third email has been added in the first email application; Based on the third email change information, the third email in the first email application is synchronized to the second email application; Based on the content of the third email in the second email application, the third object is added as a new participant to the target schedule in the second schedule application.
7. The method according to claim 1, characterized in that, The participants in the first meeting also include a fourth object; when the first email application receives a fourth email from the fourth object requesting to cancel its participation in the first meeting, the first email application removes the fourth object from the participants in the first meeting in the first calendar application; The method further includes: Receive fourth email change information pushed by the server corresponding to the first email application, wherein the fourth email change information is used to indicate that the first email application has added the fourth email. Based on the fourth email change information, the fourth email in the first email application is synchronized to the second email application; Based on the content of the fourth email in the second email application, determine the remaining participants of the first meeting after deleting the fourth object; The first meeting schedule in the second scheduling application is updated based on the remaining personnel results.
8. The method according to claim 7, characterized in that, The step of updating the first meeting schedule in the second schedule application based on the remaining personnel results includes: If the remaining personnel result only includes the meeting organizer of the first meeting, delete the first meeting schedule in the second schedule application; Alternatively, if the remaining personnel result includes the meeting organizer and other participants of the first meeting, the fourth object is removed from the participants of the first meeting in the first meeting schedule applied by the second schedule.
9. The method according to claim 1, characterized in that, The method further includes: When the first object sends a fifth email to the fifth object through the second email application in the organization's social application to inform it of its participation in the second meeting, a second meeting schedule for the second meeting is created in the second schedule application. The fifth email in the second email application is synchronized to the first email application, and the second meeting schedule in the second calendar application is synchronized to the first calendar application in the first email application.
10. The method according to claim 1, characterized in that, The method further includes: Send a personal calendar request to the server corresponding to the first email application, wherein the personal calendar request is used to request the personal calendar of the first calendar application in the first email application; The system receives a target personal calendar and a synchronization key value sent by the server corresponding to the first email application based on the personal calendar request, wherein the target personal calendar is the personal calendar of the first object recorded in the first calendar application. Add the target personal calendar to the second calendar application in the organization's social application; At preset intervals, a new target personal schedule is requested from the server corresponding to the first email application based on the synchronization key value, and the schedule content in the second schedule application is updated based on the new target personal schedule.
11. The method according to claim 1, characterized in that, The first email change information includes the email identifier of the first email; the step of synchronizing the first email in the first email application to the second email application in the organization's social application based on the first email change information includes: Based on the email identifier, generate an email retrieval request including the email identifier; Send the email retrieval request to the server corresponding to the first email application, so that the server corresponding to the first email application can find the first email based on the email identifier in the email retrieval request; Receive the first email sent by the server corresponding to the first email application, and save the first email to the sent items folder of the second email application in the organization's social application.
12. A schedule synchronization device, characterized in that, Installed on a first terminal, the first terminal runs an organized social application and a first email application. When the first object sends a first email to the second object through the first email application to inform them of their participation in the first meeting, the first email application creates a first meeting schedule for the first meeting in the first calendar application. The schedule synchronization device includes: The information receiving unit is used to receive first email change information pushed by the server corresponding to the first email application, wherein the first email change information is used to indicate that the first email has been added in the first email application. The email synchronization unit is used to synchronize the first email in the first email application to the second email application in the organization's social application based on the first email change information. The schedule extraction unit is used to extract schedule information from the first email in the second email application to obtain the schedule information of the first meeting schedule. A schedule synchronization unit is used to synchronize the first meeting schedule in the first schedule application to the second schedule application in the organization's social application based on the schedule information.
13. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; The schedule synchronization method as described in any one of claims 1 to 11 is implemented when at least one of the programs is executed by at least one of the processors.
14. A computer-readable storage medium, characterized in that, It contains a processor-executable computer program, which, when executed by a processor, is used to implement the schedule synchronization method as described in any one of claims 1 to 11.
15. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium, the processor of the electronic device reads the computer program or the computer instructions from the computer-readable storage medium, and the processor executes the computer program or the computer instructions to cause the electronic device to perform the schedule synchronization method as described in any one of claims 1 to 11.