A data synchronization method, apparatus, system and device
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-07
- Publication Date
- 2026-08-14
AI Technical Summary
[0003]当待同步的数据位于不同的部署环境,例如待同步的数据位于exchange环境和office365环境时,目前的同步方案难以满足用户的同步需求
[0009]本申请实施例提供的数据同步方法、装置、系统及设备,在查询到待同步数据的情况下,获取与待同步数据相关联的用户账号;根据用户账号,确定对应用户的属性信息;在属性信息为exchange本地用户的情况下,创建本地环境的第一服务,以根据第一服务同步待同步数据;在属性信息为office365云端用户的情况下,创建云端环境的第二服务,以根据第二服务同步待同步数据。即本申请实施例可以根据用户的属性信息分别创建不同环境下的服务,进而根据对应的服务实现数据的同步,如此,可以满足用户在混合部署环境下进行数据同步的需求。
Smart Images

Figure CN116226269B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a data synchronization method, apparatus, system and device. Background Technology
[0002] To meet business needs, data synchronization is sometimes required. For example, to meet meeting requirements, data such as schedules need to be synchronized to the meeting platform. In reality, this data to be synchronized may reside in different deployment environments.
[0003] When the data to be synchronized is located in different deployment environments, such as an Exchange environment and an Office 365 environment, the current synchronization solution is difficult to meet the user's synchronization needs. Summary of the Invention
[0004] This application provides a data synchronization method, apparatus, system, and device that can synchronize data in different deployment environments to meet users' synchronization needs.
[0005] In a first aspect, embodiments of this application provide a data synchronization method, including: If data to be synchronized is found, retrieve the user account associated with the data to be synchronized. Determine the corresponding user's attribute information based on the user account; If the attribute information is for a local Exchange user, create a first service in the local environment to synchronize the data to be synchronized based on the first service; If the attribute information is an Office 365 cloud user, create a second service in the cloud environment to synchronize the data to be synchronized based on the second service.
[0006] Secondly, embodiments of this application provide a data synchronization device, including: The acquisition module is used to retrieve the user accounts associated with the data to be synchronized when the data to be synchronized is found in the query. The module determines the attribute information of the corresponding user based on the user account; The synchronization module is used to create a first service in the local environment when the attribute information is a local Exchange user, so as to synchronize the data to be synchronized based on the first service; The synchronization module is also used to create a second service in the cloud environment when the attribute information is an Office 365 cloud user, so as to synchronize the data to be synchronized according to the second service.
[0007] Thirdly, embodiments of this application provide a data synchronization system, including a conferencing platform, an email client, and middleware; The meeting platform is used to obtain user data from third-party systems and save the flag information in the user data locally; An email client used to provide data to be synchronized; The middleware is used to traverse email clients, query data to be synchronized, and, if data to be synchronized is found, obtain the user account associated with the data. It also retrieves the flag information from the user data corresponding to the user account from the conferencing platform, creates the corresponding service based on the flag information, and synchronizes the data to be synchronized based on the corresponding service.
[0008] Fourthly, embodiments of this application provide an electronic device, including: processor; Memory is used to store computer program instructions; When computer program instructions are executed by the processor, the method described in the first aspect is implemented.
[0009] The data synchronization method, apparatus, system, and device provided in this application, when data to be synchronized is found, obtains the user account associated with the data; determines the corresponding user's attribute information based on the user account; if the attribute information is an Exchange local user, creates a first service in a local environment to synchronize the data to be synchronized according to the first service; if the attribute information is an Office 365 cloud user, creates a second service in a cloud environment to synchronize the data to be synchronized according to the second service. In other words, this application embodiment can create services in different environments based on the user's attribute information, and then realize data synchronization according to the corresponding service, thus meeting the user's need for data synchronization in a hybrid deployment environment. Attached Figure Description
[0010] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 A flowchart illustrating a data synchronization method provided in an embodiment of this application; Figure 2 A flowchart illustrating another data synchronization method provided in this application embodiment; Figure 3 A structural diagram of a data synchronization device provided in an embodiment of this application; Figure 4 A structural diagram of a data synchronization system provided in an embodiment of this application; Figure 5This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0012] The features and exemplary embodiments of various aspects of this application will now be described in detail. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only configured to explain this application and are not configured to limit this application. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples of this application.
[0013] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element. It should also be noted that all embodiments of this application comply with relevant national laws and regulations regarding data acquisition, storage, use, and processing.
[0014] As mentioned above, in order to meet certain business needs, it is sometimes necessary to synchronize data. However, this data may be generated in different environments. For example, when synchronizing calendar data, some calendar data is generated in the local Exchange environment and some calendar data is generated in the Office 365 environment. Therefore, it is necessary to synchronize calendar data in these two environments.
[0015] The current data synchronization solutions can only synchronize data in a single scenario, such as data in a local Exchange environment or data in an Office 365 environment. This cannot meet users' needs for data synchronization in mixed scenarios, which makes it difficult to carry out certain business operations.
[0016] To address the aforementioned issues and meet users' needs for data synchronization in mixed scenarios, this application provides a data synchronization method, apparatus, system, and device.
[0017] The data synchronization method provided in this application will be described below with reference to specific embodiments. Figure 1 This is a flowchart illustrating a data synchronization method provided in an embodiment of this application. Figure 1 As shown, the data synchronization method may include the following steps: S110. If data to be synchronized is found, obtain the user account associated with the data to be synchronized.
[0018] S120. Determine the attribute information of the corresponding user based on the user account.
[0019] S130. If the attribute information is "exchange local user", create a first service in the local environment to synchronize the data to be synchronized based on the first service.
[0020] S140. If the attribute information is an Office 365 cloud user, create a second service in the cloud environment to synchronize the data to be synchronized based on the second service.
[0021] In this embodiment, upon finding data to be synchronized, the user account associated with the data is obtained; based on the user account, the corresponding user's attribute information is determined; if the attribute information indicates a local Exchange user, a first service in the local environment is created to synchronize the data to be synchronized; if the attribute information indicates an Office 365 cloud user, a second service in the cloud environment is created to synchronize the data to be synchronized. In other words, this embodiment can create services in different environments based on the user's attribute information, and then synchronize data according to the corresponding service. This satisfies the user's need for data synchronization in a hybrid deployment environment.
[0022] The above steps are explained in detail below: In S110, the data to be synchronized can be data generated based on other environments and needing to be synchronized to the local machine, or data generated based on the local environment and needing to be pushed to other environments. For example, the data to be synchronized can be data generated based on the local Exchange and / or Office 365 environment. This application embodiment does not limit the type of data to be synchronized; for example, in a meeting scenario, the data to be synchronized can be schedule data.
[0023] In this embodiment, a user account can be associated with data to be synchronized, and the same user account can be associated with multiple data sets to be synchronized. Taking a meeting scenario as an example, in some embodiments, the user account can be pre-created by the user and configured in the user management module of the meeting platform. When data to be synchronized is queried, the user account associated with that data can be obtained from the user management module.
[0024] The method for querying data to be synchronized can be determined based on the application scenario. Taking schedule data as an example, the data to be synchronized can be queried in the following ways: Iterate through the meeting rooms with synchronization enabled in the meeting platform; Obtain the meeting room account; Query the schedule data corresponding to the meeting room based on the meeting room account and the first-level access account.
[0025] It should be understood that data synchronization can only occur if the meeting room has its synchronization function enabled. In some embodiments, a thread can be created to periodically iterate through the meeting rooms with the synchronization function enabled in the meeting platform and obtain the meeting room account (resourceAccount) for each meeting room. Different meeting rooms correspond to different resourceAccounts. The resourceAccount can be pre-configured in the meeting room management module of the meeting platform. When it is determined that a meeting room has its synchronization function enabled, the corresponding meeting room account can be obtained through the meeting room management module.
[0026] The first permission account (permissionAccount) can be an account for querying schedule data. In some embodiments, permissionAccount can be an account capable of querying all schedule data of all meeting rooms with synchronization enabled on a certain client. The first permission account can be created in advance.
[0027] In this embodiment, resourceAccount and permissionAccount can be used to query the schedule data of the meeting room corresponding to resourceAccount on a client such as Outlook. This allows for targeted data queries, saving time and improving the accuracy of the query results.
[0028] In some embodiments, when data to be synchronized is found, the user account corresponding to the data to be synchronized can be obtained based on the association between the data to be synchronized and the user account, providing a basis for subsequent data synchronization.
[0029] In S120, the attribute information can be information reflecting the user's identity. For example, the attribute information here can include local users or cloud users, where local users can be Exchange local users and cloud users can be Office 365 cloud users.
[0030] In some embodiments, the above-described S120 may include the following steps: Retrieve user data for the corresponding user based on the user account; The user's attribute information is determined based on the flag information in the user data.
[0031] The user data here may include, but is not limited to, the user's name, gender, and age. There is a one-to-one correspondence between user accounts and user data; user data can be retrieved based on the user account (userAccount). User accounts can be pre-created by the user. User data can be obtained by the meeting platform from third-party systems. For example, the meeting platform can use a timer (Spring Boot's built-in @Configuration) to periodically pull user data from third-party systems, obtain the user data attributes, and store them locally.
[0032] The flag information is information that can represent user attribute information. For example, user attribute information can be represented by 0 and 1. For example, 0 can represent a local Exchange user and 1 can represent an Office 365 cloud user. Of course, other representation methods can also be used, and this application embodiment does not limit them.
[0033] In some embodiments, after obtaining a user account, the user data corresponding to the user account can be obtained through the conferencing platform, and the user's attribute information can be determined based on the attributes of the user data stored on the conferencing platform.
[0034] This application's embodiments differentiate user attribute information, enabling subsequent data synchronization in different scenarios based on user attribute information, thus meeting users' needs for data synchronization across multiple scenarios.
[0035] In S130, the first service is a service created based on the local environment for synchronizing data to be synchronized. For example, through the first service, calendar data in the local exchange environment can be pulled, or local data can be pushed to the local exchange environment, thus meeting the local users' data synchronization needs.
[0036] In S140, similar to the first service, the second service is a service created based on the cloud environment for synchronizing data to be synchronized. For example, through the second service, calendar data in the Office 365 environment can be pulled, or local data can be pushed to the Office 365 environment, thus meeting the data synchronization needs of cloud users.
[0037] This application embodiment distinguishes user attribute information and creates corresponding services based on different attribute information to complete data synchronization. This can meet users' data synchronization needs in different scenarios and avoid the shortcomings of traditional methods with limited scenarios.
[0038] Figure 2 A flowchart illustrating another data synchronization method provided in an embodiment of this application. Figure 2 As shown, the data synchronization method may include the following steps: S210. If data to be synchronized is found, obtain the user account associated with the data to be synchronized.
[0039] S220. Determine the attribute information of the corresponding user based on the user account.
[0040] S230: Is the attribute information a local Exchange user? If yes, proceed to S240; otherwise, proceed to S260.
[0041] S240. If the attribute information is an Exchange local user, obtain the pre-configured second-permission account.
[0042] S250. Create a first service in the local environment based on the second-authorized account, so as to synchronize the data to be synchronized based on the first service.
[0043] S260. If the attribute information is an Office 365 cloud user, obtain the locally saved third-party account.
[0044] S270. Create a second service in the cloud environment based on the third-authority account, so as to synchronize the data to be synchronized based on the second service.
[0045] Among them, S210 and S220 and Figure 1 The processes S110 and S120 are the same. Please refer to the descriptions of S110 and S120 for details. For the sake of brevity, they will not be repeated here.
[0046] The following is about Figure 2 The other steps are explained in detail below: In S230, the attribute information in this application embodiment takes Exchange local user and Office 365 cloud user as examples. When it is determined that the user is an Exchange local user, S240 is executed; when it is determined that the user is an Office 365 cloud user, S260 is executed.
[0047] In S240, the second-authority account is used to create the first service in the local environment. This second-authority account can also be referred to as the second impersonation account.
[0048] Taking the data to be synchronized as schedule data as an example, the second permission account can be obtained from the EWS configuration module of the meeting platform. The second permission account can be created by the user in advance and pre-configured in the EWS configuration module. When it is determined that the user is a local Exchange user, it can be directly obtained from the EWS configuration module of the meeting platform, which is simple and convenient.
[0049] In S250, if a second-authority account is obtained, for example, the second-authority account can be used to create a local exchange EWS service, and then data synchronization can be completed based on the local exchange EWS service.
[0050] For example, data synchronization can be accomplished in the following way: The first service retrieves the data to be synchronized from the local environment. The data to be synchronized is encapsulated into a local data structure to achieve synchronization of the data.
[0051] For example, the EWS service of the local Exchange can be used to pull data to be synchronized from the local Exchange and encapsulate it into a local data structure. In this way, the requirement to synchronize data from the local Exchange environment to the local machine is achieved. Different data to be synchronized corresponds to different unique identifiers, which can be used to synchronize all data to be synchronized under that user.
[0052] This application embodiment achieves data synchronization in a local Exchange environment by creating a local Exchange service.
[0053] For example, data synchronization can also be accomplished in the following way: The first service pushes the data to be synchronized to the local environment to achieve synchronization of the data.
[0054] In addition to synchronizing data from other environments to the local machine, local data can also be synchronized to other environments. For example, in this embodiment of the application, local data can be pushed to the Exchange environment through the local Exchange's EWS service, thus meeting users' different synchronization needs.
[0055] In S260, the third-party account is a locally stored account used to support data synchronization in a cloud environment; it can also be called a third-party impersonation account.
[0056] If the user is confirmed to be an Office 365 cloud user, the locally stored third-party access account can be retrieved, and data synchronization can be achieved based on the third-party access account.
[0057] In S270, for example, a remote Office 365 EWS service can be created using a locally stored third-party account, and data can be pulled or pushed based on this service to achieve data synchronization. This data synchronization process is similar to the data synchronization process based on the local Exchange EWS service, as described above, and will not be repeated here.
[0058] In some embodiments, data synchronization can also be achieved using Office 365's Graph API.
[0059] In this embodiment of the application, in an environment where Exchange and Office 365 coexist, corresponding services are created using second-authority accounts and third-authority accounts respectively. By switching services, data synchronization between Exchange and Office 365 environments is achieved, meeting users' needs for data synchronization in multiple scenarios.
[0060] It should be noted that the application scenarios of this application embodiment are not limited to Exchange and Office 365 as described above, but can also be applied to other hybrid environments.
[0061] Based on the same inventive concept, this application also provides a data synchronization device, which is described below in conjunction with... Figure 3 The data synchronization device provided in the embodiments of this application will be described in detail.
[0062] Figure 3 This is a structural diagram of a data synchronization device provided in an embodiment of this application.
[0063] like Figure 3 As shown, the data synchronization device may include: The acquisition module 310 is used to obtain the user account associated with the data to be synchronized when the data to be synchronized is found. The determination module 320 is used to determine the attribute information of the corresponding user based on the user account; Synchronization module 330 is used to create a first service in the local environment when the attribute information is a local Exchange user, so as to synchronize the data to be synchronized according to the first service; The synchronization module 330 is also used to create a second service in the cloud environment when the attribute information is an Office 365 cloud user, so as to synchronize the data to be synchronized according to the second service.
[0064] In this embodiment, upon finding data to be synchronized, the user account associated with the data is obtained; based on the user account, the corresponding user's attribute information is determined; if the attribute information indicates a local Exchange user, a first service in the local environment is created to synchronize the data to be synchronized; if the attribute information indicates an Office 365 cloud user, a second service in the cloud environment is created to synchronize the data to be synchronized. In other words, this embodiment can create services in different environments based on the user's attribute information, and then synchronize data according to the corresponding service. This satisfies the user's need for data synchronization in a hybrid deployment environment.
[0065] In some embodiments, the data to be synchronized includes schedule data.
[0066] In some embodiments, the data synchronization device may further include a traversal module and a query module; The traversal module is used to traverse the meeting rooms with the synchronization function enabled in the meeting platform before the acquisition module 310 obtains the user accounts associated with the data to be synchronized after querying the data to be synchronized. Module 310 is also used to obtain the meeting room account of the meeting room; The query module is used to query the schedule data corresponding to the meeting room based on the meeting room account and the first-level access account.
[0067] In some embodiments, the synchronization module 330 is specifically used to obtain a pre-configured second permission account when the attribute information is a local user; Create a first service in the local environment based on the second-authorized account, so as to synchronize the data to be synchronized based on the first service.
[0068] In some embodiments, the synchronization module 330 is specifically used to obtain data to be synchronized from the local environment according to the first service; The data to be synchronized is encapsulated into a local data structure to achieve synchronization of the data.
[0069] In some embodiments, the synchronization module 330 is specifically used to push the data to be synchronized to the local environment according to the first service, so as to realize the synchronization of the data to be synchronized.
[0070] In some embodiments, the synchronization module 330 is specifically used to obtain a locally stored third-party access account when the attribute information is a cloud user. A second service is created in the cloud environment based on a third-party account to synchronize data to be synchronized.
[0071] In some embodiments, the determining module 320 is specifically used to obtain user data of the corresponding user based on the user account; The user's attribute information is determined based on the flag information in the user data.
[0072] Figure 3 Each module in the illustrated device has the ability to implement Figure 1 and Figure 2 The functions of each step and the corresponding technical effects are described in detail here for the sake of brevity.
[0073] Based on the same inventive concept, this application also provides a data synchronization system, including a meeting platform 410, an email client 420, and middleware 430; The meeting platform 410 is used to obtain user data from third-party systems and save the flag information in the user data locally; Email client 420 is used to provide data to be synchronized. Middleware 430 is used to traverse email clients, query data to be synchronized, and, if data to be synchronized is found, obtain the user account associated with the data to be synchronized, and obtain the flag information of the user data corresponding to the user account from the conferencing platform, so as to create the corresponding service based on the flag information and synchronize the data to be synchronized according to the corresponding service.
[0074] In this embodiment, the meeting platform 410 is used to pull user data with attribute information from a third-party system and store it locally. It is also used to configure a second permission account, user account and meeting room account in the configuration of the ews configuration module, user management module and meeting room management module described in the above embodiments.
[0075] Email client 420 is used to provide data to be synchronized; for example, users can schedule events on email client 420. Through email client 420, users can also create user accounts, meeting room accounts, and secondary access accounts as described in the above embodiments.
[0076] The middleware 430 can exist independently or be integrated into an electronic device; this application embodiment does not limit this.
[0077] In this embodiment, the middleware 430 can create a thread to periodically traverse multiple meeting rooms with synchronization enabled in the meeting platform 410, obtain the meeting room account from the meeting platform 410, and then use the meeting room account and the first-permission account to query the meeting room's schedule on the email client 420. If the schedule is found, the user account associated with the schedule can be obtained. Then, based on the user account, the attribute information corresponding to the user account can be determined from the meeting platform. Based on different attribute information, corresponding services can be created, and data synchronization can be achieved based on the services. In this way, data synchronization in different scenarios is realized, meeting the user's needs.
[0078] For relevant details, please refer to the above embodiments. For the sake of brevity, they will not be repeated here.
[0079] Based on the same inventive concept, embodiments of this application also provide an electronic device, such as a projection device, tablet computer, laptop computer, handheld computer, etc. The following describes... Figure 5 The electronic devices provided in the embodiments of this application will be described in detail.
[0080] like Figure 5As shown, the electronic device may include a processor 510 and a memory 520 for storing computer program instructions.
[0081] The processor 510 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0082] Memory 520 may include mass storage for data or instructions. For example, and not limitingly, memory 520 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. In one instance, memory 520 may include removable or non-removable (or fixed) media, or memory 520 may be non-volatile solid-state memory. In one instance, memory 520 may be read-only memory (ROM). In one instance, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.
[0083] The processor 510 reads and executes computer program instructions stored in the memory 520 to achieve... Figure 1 and Figure 2 The method in the illustrated embodiment achieves... Figure 1 and Figure 2 The corresponding technical effects achieved by the methods in the illustrated embodiments are described briefly and will not be elaborated further here.
[0084] In one example, the electronic device may also include a communication interface 530 and a bus 540. Wherein, as... Figure 5 As shown, the processor 510, memory 520, and communication interface 530 are connected through bus 540 and complete communication with each other.
[0085] The communication interface 530 is mainly used to realize communication between various modules, devices and / or equipment in the embodiments of this application.
[0086] Bus 540 includes hardware, software, or both, that couples components of an electronic device together. For example, and not as a limitation, bus 540 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 540 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0087] Upon retrieving the data to be synchronized, the electronic device can obtain the user account associated with the data and then execute the data synchronization method described in this application embodiment, thereby achieving a combination of... Figure 1 and Figure 2 The described data synchronization method and Figure 3 The described data synchronization device.
[0088] Furthermore, in conjunction with the data synchronization methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data synchronization methods in the above embodiments.
[0089] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0090] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0091] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0092] The aspects of embodiments of this application have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0093] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A data synchronization method, characterized in that, The middleware is applied to a data synchronization system, which further includes a conferencing platform and an email client. The conferencing platform stores user data and flag information within the user data, and the email client stores schedule data. The method includes: The middleware iterates through the meeting rooms with synchronization enabled in the meeting platform to obtain the meeting room account; based on the meeting room account and the first-authority account, it queries the schedule data corresponding to the meeting room. If data to be synchronized is found, the middleware obtains the user account associated with the data to be synchronized. The middleware retrieves the flag information from the user data corresponding to the user account from the meeting platform based on the user account. The middleware determines the user's attribute information based on the flag information in the user data; When the attribute information is a local Exchange user, the middleware obtains a pre-configured second permission account, creates a first service in the local environment based on the second permission account, and synchronizes the data to be synchronized based on the first service. If the attribute information indicates an Office 365 cloud user, the middleware obtains a locally stored third-authority account and creates a second service in the cloud environment based on the third-authority account to synchronize the data to be synchronized.
2. The method according to claim 1, characterized in that, The step of synchronizing the data to be synchronized according to the first service includes: The data to be synchronized is obtained from the local environment according to the first service; The data to be synchronized is encapsulated into a local data structure to achieve synchronization of the data.
3. The method according to claim 1, characterized in that, The step of synchronizing the data to be synchronized according to the first service includes: The data to be synchronized is pushed to the local environment according to the first service to achieve synchronization of the data to be synchronized.
4. A data synchronization system, characterized in that, This includes the meeting platform, email client, and middleware; The meeting platform is used to obtain user data from third-party systems; The email client is used to provide the data to be synchronized; The middleware is used to traverse the meeting rooms with the synchronization function enabled in the meeting platform and obtain the meeting room accounts of the meeting rooms. Based on the meeting room account and the first-authority account, query the schedule data corresponding to the meeting room; If the data to be synchronized is found, obtain the user account associated with the data to be synchronized, and obtain the flag information in the user data corresponding to the user account from the meeting platform based on the user account; The user's attribute information is determined based on the flag information in the user data; If the attribute information is a local Exchange user, obtain a pre-configured second permission account, create a first service in the local environment based on the second permission account, and synchronize the data to be synchronized according to the first service; If the attribute information indicates an Office 365 cloud user, obtain the locally stored third-authority account, create a second service in the cloud environment based on the third-authority account, and synchronize the data to be synchronized based on the second service.
5. An electronic device, characterized in that, include: processor; Memory is used to store computer program instructions; When the computer program instructions are executed by the processor, the method as described in any one of claims 1-3 is implemented.
Citation Information
Patent Citations
Bidirectional synchronization method and system for calendar data of multiple data sources
CN115221239A
Synchronization between conference and calendar systems
US9608832B1