[go: up one dir, main page]

CN115221239A - Multi-data-source calendar data bidirectional synchronization method and system - Google Patents

Multi-data-source calendar data bidirectional synchronization method and system Download PDF

Info

Publication number
CN115221239A
CN115221239A CN202110434231.3A CN202110434231A CN115221239A CN 115221239 A CN115221239 A CN 115221239A CN 202110434231 A CN202110434231 A CN 202110434231A CN 115221239 A CN115221239 A CN 115221239A
Authority
CN
China
Prior art keywords
calendar
data
schedule
calendar data
unified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110434231.3A
Other languages
Chinese (zh)
Inventor
吴昌皓
黄华杰
王飞
黄宏双
黄若梅
沈毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Lan You Technology Co Ltd
Original Assignee
Shenzhen Lan You Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Lan You Technology Co Ltd filed Critical Shenzhen Lan You Technology Co Ltd
Priority to CN202110434231.3A priority Critical patent/CN115221239A/en
Publication of CN115221239A publication Critical patent/CN115221239A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种多数据源日历数据双向同步方法以及系统,方法包括:统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用,本发明提供统一日历的解决方案,可将日历应用的日历数据同步到统一日程中心,再由统一日程中心同步至其他日历应用,搭建全平台的日历共享系统,实现全平台统一的日历数据共享,支持日历双向同步而且成本较低。

Figure 202110434231

The invention discloses a method and system for bidirectional synchronization of calendar data from multiple data sources. The method includes: a unified schedule center obtains calendar data synchronized in real time from different types of calendar applications based on a standard schedule interface, and synchronizes the synchronized calendar data according to other calendar applications. The provided calendar writing interface is configured and written into other calendar applications in real time. The present invention provides a unified calendar solution, which can synchronize the calendar data of the calendar application to the unified schedule center, and then synchronize the unified schedule center to other calendar applications. , Build a calendar sharing system for the whole platform, realize the unified calendar data sharing of the whole platform, support two-way synchronization of calendars and have a low cost.

Figure 202110434231

Description

一种多数据源日历数据双向同步方法以及系统Method and system for bidirectional synchronization of calendar data from multiple data sources

技术领域technical field

本发明涉及日历领域,尤其涉及一种多数据源日历数据双向同步方法以及系统。The invention relates to the field of calendars, in particular to a method and system for bidirectional synchronization of calendar data with multiple data sources.

背景技术Background technique

目前市场上日历应用种类繁多,对于习惯用日历管理行程的人来说,没有一个好的工具是极其痛苦的。现有市场上主流的日历应用互相独立,导致用户查看自己日历时要在多个应用中进行切换,用户体验较差。比如某公司高管会在outlook日历中查看线下会议,在钉钉日历中查看视频会议,在重大公务活动应用中查看行程信息等等。如果需要同步日历,需要定制化开发,而且也不支持日历双向同步,因此即使想同步日历,日历同步定制化开发成本也是过高的。At present, there are many kinds of calendar applications on the market, and it is extremely painful for people who are accustomed to using calendars to manage their schedules without a good tool. The mainstream calendar applications in the existing market are independent of each other, which causes users to switch between multiple applications when viewing their own calendar, resulting in poor user experience. For example, a company executive will view offline meetings in the Outlook calendar, video conferences in the DingTalk calendar, and itinerary information in the major official event application. If you need to synchronize the calendar, customized development is required, and bidirectional synchronization of the calendar is not supported, so even if you want to synchronize the calendar, the customized development cost of calendar synchronization is too high.

发明内容SUMMARY OF THE INVENTION

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提高用户使用体验,提供一种多数据源日历数据双向同步方法以及系统。The technical problem to be solved by the present invention is to provide a method and system for bidirectional synchronization of calendar data with multiple data sources, aiming at the above-mentioned defects of the prior art, improving user experience.

本发明解决其技术问题所采用的技术方案是:构造一种多数据源日历数据双向同步方法,所述方法包括:The technical solution adopted by the present invention to solve the technical problem is: constructing a bidirectional synchronization method for calendar data with multiple data sources, the method comprising:

统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据;Based on the standard schedule interface, the unified schedule center obtains the calendar data synchronized by different types of calendar applications in real time;

统一日程中心将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。The unified calendar center configures the synchronized calendar data according to the calendar writing interface provided by other calendar applications, and then writes it to other calendar applications synchronously in real time.

优选地,所述的统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,包括:Preferably, the unified schedule center obtains calendar data synchronized in real time by different types of calendar applications based on a standard schedule interface, including:

客户端日程同步应用监听客户端日历应用,在监听到日历有变动时获取变动的日历数据,将变动的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心;The client-side schedule synchronization application monitors the client-side calendar application, obtains the changed calendar data when monitoring changes in the calendar, configures the changed calendar data according to the standard schedule interface of the unified schedule center, and sends it to the unified schedule center;

统一日程中心通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据;或者集成了各种第三方日历应用的云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。The unified calendar center actively calls the standard calendar query interface of a third-party calendar application through scheduled tasks to query and obtain calendar data; or the cloud that integrates various third-party calendar applications can call the standard calendar query interface of third-party calendar applications through scheduled tasks to query and obtain calendar data. , and configure the obtained calendar data according to the standard schedule interface of the unified schedule center and send it to the unified schedule center.

优选地,所述的统一日程中心将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用,包括:Preferably, the unified schedule center configures the synchronized calendar data according to the calendar writing interface provided by other calendar applications, and then writes it into other calendar applications synchronously in real time, including:

统一日程中心在有日历数据变动时,将日历数据异步发送到消息队列;When the calendar data changes, the unified schedule center asynchronously sends the calendar data to the message queue;

分发服务监听消息队列的日历数据,利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,或/和将消息队列的日历数据下发给客户端日历应用,由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用。The distribution service monitors the calendar data of the message queue, uses the calendar data of the message queue to configure the calendar write interface of other third-party calendar applications that need to synchronize log data, or/and sends the calendar data of the message queue to the client calendar application , the client calendar application calls the client's standard calendar writing interface to write the calendar data into the client calendar application.

优选地,所述方法还包括:统一日程中心在获取到日历应用实时同步过来的日历数据时,针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才将获该新获取的日历数据持久化到本地数据库。Preferably, the method further includes: when the unified calendar center acquires the calendar data synchronized by the calendar application in real time, for each newly acquired calendar data, compare it with the calendar data in the local database, and determine whether it belongs to the itinerary If there is no duplicate calendar data, the newly acquired calendar data will be persisted to the local database.

优选地,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。Preferably, the comparison of the calendar data includes: extracting three pieces of information: the schedule title, the schedule start time, and the schedule end time from the calendar data, generating a hash string by a digest algorithm, and judging whether the itinerary is repeated by comparing the hash values. Calendar data.

本发明还构造了一种用于实现前任一项所述方法的多数据源日历数据双向同步系统,包括统一日程中心,统一日程中心用于基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。The present invention also constructs a multi-data source calendar data bidirectional synchronization system for implementing the method described in the preceding item, including a unified schedule center, which is used to obtain real-time synchronization data from different types of calendar applications based on a standard schedule interface. Calendar data, configure the synchronized calendar data according to the calendar writing interface provided by other calendar applications, and then synchronously write it to other calendar applications in real time.

进一步地,还包括安装于客户端的客户端日程同步应用,用于监听客户端日历应用,在监听到日历有变动时,将变动的日历数据,按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心;Further, it also includes a client schedule synchronization application installed on the client, which is used to monitor the client calendar application, and when monitoring changes in the calendar, configure and send the changed calendar data according to the standard schedule interface of the unified schedule center. to the Unified Agenda Center;

统一日程中心具体用于通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据;或者集成了各种第三方日历应用的云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。The unified calendar center is specifically used to actively call the standard calendar query interface of a third-party calendar application through scheduled tasks to query and obtain calendar data; or the cloud that integrates various third-party calendar applications can call the standard calendar query interface of a third-party calendar application through scheduled tasks to query Acquire the calendar data, configure the acquired calendar data according to the standard schedule interface of the unified schedule center, and send it to the unified schedule center.

进一步地,统一日程中心具体在有日历数据变动时,将日历数据异步发送到消息队列,分发服务监听消息队列的日历数据,利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,或/和将消息队列的日历数据下发给客户端日历应用,由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用。Further, when the calendar data changes, the unified calendar center sends the calendar data to the message queue asynchronously, and the distribution service monitors the calendar data of the message queue, and uses the calendar data of the message queue to synchronize other third-party calendar applications that need to synchronize log data. The calendar writing interface is configured, or/and the calendar data of the message queue is delivered to the client calendar application, and the client calendar application calls the client's standard calendar writing interface to write the calendar data into the client calendar application.

进一步地,所述统一日程中心在获取到日历应用实时同步过来的日历数据时,针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才将获该新获取的日历数据持久化到本地数据库;Further, when the unified schedule center obtains the calendar data synchronized by the calendar application in real time, for each newly acquired calendar data, it is compared with the calendar data of the local database to determine whether it belongs to the calendar data of repeated itineraries. , if not, persist the newly acquired calendar data to the local database;

进一步地,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。Further, the comparison of the calendar data includes: extracting three pieces of information, the schedule title, the schedule start time, and the schedule end time from the calendar data, generating a hash string through a digest algorithm, and judging whether it belongs to the itinerary repetition by comparing the hash value. Calendar data.

本发明的多数据源日历数据双向同步方法以及系统,具有以下有益效果:本发明提供统一日历的解决方案,可将日历应用的日历数据同步到统一日程中心,再由统一日程中心同步至其他日历应用,搭建全平台的日历共享系统,实现全平台统一的日历数据共享,支持日历双向同步而且成本较低。The method and system for bidirectional synchronization of calendar data with multiple data sources of the present invention have the following beneficial effects: the present invention provides a solution for a unified calendar, which can synchronize the calendar data of the calendar application to the unified calendar center, and then synchronize the unified calendar center to other calendars Application, build a calendar sharing system for the whole platform, realize the unified calendar data sharing of the whole platform, support two-way synchronization of calendars and low cost.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图:In order to explain the embodiments of the present invention or the technical solutions in the prior art more clearly, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only It is an embodiment of the present invention. For those of ordinary skill in the art, other drawings can also be obtained according to the provided drawings without creative work:

图1是本发明的多数据源日历数据双向同步方法的流程图;Fig. 1 is the flow chart of the multi-data source calendar data bidirectional synchronization method of the present invention;

图2是日历数据从日历应用同步到统一日程中心的示意图;Fig. 2 is a schematic diagram of the synchronization of calendar data from a calendar application to a unified schedule center;

图3是日历数据从统一日程中心同步到日历应用的示意图;Fig. 3 is the schematic diagram that calendar data is synchronized from unified schedule center to calendar application;

图4是本发明的多数据源日历数据双向同步系统的结构示意图。FIG. 4 is a schematic diagram of the structure of the multi-data source calendar data bidirectional synchronization system of the present invention.

具体实施方式Detailed ways

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。In order to facilitate understanding of the present invention, the present invention will be described more fully hereinafter with reference to the related drawings. Typical embodiments of the invention are shown in the drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。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 invention belongs. The terms used herein in the description of the present invention are for the purpose of describing specific embodiments only, and are not intended to limit the present invention.

本发明总的思路是:统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,然后将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用,如此,实现全平台统一的日历数据共享,支持日历双向同步而且成本较低。The general idea of the present invention is as follows: the unified schedule center obtains the calendar data synchronized in real time by different types of calendar applications based on the standard schedule interface, and then configures the synchronized calendar data according to the calendar writing interface provided by other calendar applications and synchronizes it in real time. Write to other calendar applications, in this way, to achieve unified calendar data sharing across the platform, support bidirectional synchronization of calendars, and low cost.

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。In order to better understand the above technical solutions, the above technical solutions will be described in detail below with reference to the accompanying drawings and specific embodiments of the description. The description is not intended to limit the technical solutions of the present application, and the embodiments of the present invention and the technical features in the embodiments may be combined with each other under the condition of no conflict.

实施例一Example 1

参考图1,本发明的多数据源日历数据双向同步方法主要包括:1, the multi-data source calendar data bidirectional synchronization method of the present invention mainly includes:

S101:统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据。S101: The unified schedule center acquires calendar data synchronized in real time by different types of calendar applications based on a standard schedule interface.

其中,日历应用包括客户端日历应用和第三方日历应用,第三方日历应用具体可以包括但不限于云端的钉钉日程、Exchange日历、重大公务等。相应的,日历数据的同步也包括客户端和云端的数据同步,参考图2,步骤S101主要包括两种情形:Among them, the calendar application includes a client calendar application and a third-party calendar application, and the third-party calendar application may specifically include, but is not limited to, Dingding Calendar in the cloud, Exchange calendar, major official business, and the like. Correspondingly, the synchronization of calendar data also includes data synchronization between the client and the cloud. Referring to FIG. 2 , step S101 mainly includes two situations:

A)客户端日程同步应用监听客户端日历应用,在监听到日历有变动时,将变动的日历数据,按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。A) The client-side schedule synchronization application monitors the client-side calendar application, and when monitoring changes in the calendar, configures the changed calendar data according to the standard schedule interface of the unified schedule center and sends it to the unified schedule center.

客户端日历应用,是指的客户端自带的原生日历应用,比如说IOS和Android的原生日历应用。The client-side calendar application refers to the native calendar application that comes with the client, such as the native calendar application of IOS and Android.

客户端日程同步应用,是为实现本发明的方法开发的一款软件,用户需要预先在客户端下载安装此软件并注册账户。The client-side schedule synchronization application is a piece of software developed to implement the method of the present invention, and the user needs to download and install the software on the client-side and register an account in advance.

统一日程中心的标准日程接口,可以自定义,比如说定义接口的第一个参数是日程标题,第二个参数是日程开始时间,第三个参数是日程结束时间。The standard schedule interface of the unified schedule center can be customized. For example, the first parameter of the definition interface is the schedule title, the second parameter is the schedule start time, and the third parameter is the schedule end time.

B)统一日程中心通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据。B) The unified schedule center actively invokes the standard calendar query interface of a third-party calendar application to query and obtain calendar data through a scheduled task.

云端日程同步需要第三方日历应用开放标准的日历接口(包括标准日历查询接口和日历写入接口),如Exchange日历有EWS服务接口,钉钉日程有开放服务等。Cloud schedule synchronization requires open standard calendar interfaces (including standard calendar query interfaces and calendar write interfaces) of third-party calendar applications. For example, the Exchange calendar has an EWS service interface, and DingTalk has an open service.

可以理解的是,上述步骤B)中是统一日程中心一侧设置定时任务主动调用第三方日历应用的标准日历查询接口获取数据,实际上,也可以将任务主动设置在云端,云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。It can be understood that, in the above step B), a scheduled task is set on the side of the unified schedule center to actively call the standard calendar query interface of a third-party calendar application to obtain data. In fact, the task can also be actively set in the cloud, and the cloud can call through the scheduled task. The standard calendar query interface of the third-party calendar application queries and obtains calendar data, configures the obtained calendar data according to the standard calendar interface of the unified calendar center, and sends it to the unified calendar center.

S102:统一日程中心将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。S102: The unified schedule center configures the synchronized calendar data according to the calendar writing interface provided by other calendar applications, and then writes the synchronized calendar data in other calendar applications in real time.

其中,不同日历应用之间是通过账户关联的,统一日程中心基于账户可以将不同的日历应用的日历数据关联起来,一旦某一个日历应用的日历数据发生变动,统一日程中心都会获取到其变动的日历数据,就会将该变动的日历数据同步至其他关联的日历应用。Among them, different calendar applications are associated through accounts, and the unified schedule center can associate the calendar data of different calendar applications based on the account. Once the calendar data of a calendar application changes, the unified schedule center will get its changes. Calendar data, the changed calendar data will be synced to other associated calendar applications.

具体的,参考图3,本步骤包括:Specifically, referring to Figure 3, this step includes:

首先,统一日程中心在有日历数据变动时,将日历数据异步发送到消息队列MQ,引入消息队列MQ,主要是可以保证数据发送的可靠性,比如,如果数据发送失败则可以重发。First of all, when the calendar data changes, the unified calendar center sends the calendar data to the message queue MQ asynchronously, and introduces the message queue MQ, mainly to ensure the reliability of data transmission. For example, if the data transmission fails, it can be resent.

其次,分发服务监听消息队列的日历数据,一方面,分发服务将消息队列的日历数据下发给客户端日历应用,由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用;另一方面,利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,比如配置接口的各个参数。Secondly, the distribution service monitors the calendar data of the message queue. On the one hand, the distribution service sends the calendar data of the message queue to the client calendar application, and the client calendar application calls the client's standard calendar writing interface to write the calendar data to the client Calendar application; on the other hand, use the calendar data of the message queue to configure the calendar writing interface of other third-party calendar applications that need to synchronize log data, such as configuring various parameters of the interface.

可以理解的是,不同的接口对参数的定义不同,因此本发明在通过调用接口查询或者写入数据时,都是需要结合接口的参数定义来实现的,比如对于日历应用1,其标准日历查询接口或者日历写入接口的参数可能依次是:日程标题、日程开始时间、日程结束时间,而对于日历应用2其标准日历查询接口或者日历写入接口的参数可能依次是:日程开始时间、日程结束时间、日程标题,所以在通过调用标准日历查询接口查询日历数据时都是需要结合接口的参数定义来确定接口传过来的数据,同理在调用日历写入接口写入日历数据时都是需要结合接口的参数定义来确定写入到接口的各个参数的具体数据。It can be understood that different interfaces have different definitions of parameters. Therefore, in the present invention, when querying or writing data by calling the interface, it needs to be implemented in combination with the parameter definition of the interface. For example, for calendar application 1, its standard calendar query The parameters of the interface or calendar writing interface may be: schedule title, schedule start time, and schedule end time, and for Calendar Application 2, the parameters of the standard calendar query interface or calendar writing interface may be: schedule start time, schedule end time. Time and schedule title, so when querying calendar data by calling the standard calendar query interface, it is necessary to combine the parameter definitions of the interface to determine the data sent by the interface. Similarly, when calling the calendar writing interface to write calendar data, it is necessary to combine The parameter definition of the interface determines the specific data of each parameter written to the interface.

优选地,所述方法还包括:统一日程中心将同步上传的日历数据持久化到本地数据库。统一日程中心针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才写入新获取的日历数据。具体来说,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。Preferably, the method further includes: the unified calendar center persists the synchronously uploaded calendar data to a local database. For each newly acquired calendar data, the unified schedule center compares it with the calendar data in the local database to determine whether it belongs to the calendar data of repeated itineraries, and if not, writes the newly acquired calendar data. Specifically, the comparison of the calendar data includes: extracting the schedule title, schedule start time, and schedule end time from the calendar data, generating a hash string through the digest algorithm, and comparing the hash value to determine whether it belongs to the itinerary repetition. calendar data.

实施例二Embodiment 2

参考图4,结合图2、3,本实施例公开的是一种用于实现如方法实施例一的多数据源日历数据双向同步系统,包括统一日程中心、安装于客户端的客户端日程同步应用等。统一日程中心也可以是一种运行于云端的开放服务。Referring to FIG. 4 , in conjunction with FIGS. 2 and 3 , this embodiment discloses a bidirectional synchronization system for calendar data with multiple data sources as in the method embodiment 1, including a unified schedule center and a client schedule synchronization application installed on the client Wait. The unified schedule center can also be an open service running on the cloud.

其中,统一日程中心用于基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。Among them, the unified calendar center is used to obtain the calendar data synchronized by different types of calendar applications in real time based on the standard calendar interface, configure the synchronized calendar data according to the calendar write interface provided by other calendar applications, and then write it to other calendars in real time. application.

参考图2,具体的,客户端日程同步应用用于监听客户端日历应用,在监听到日历有变动时,将变动的日历数据,按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心;Referring to Figure 2, specifically, the client-side schedule synchronization application is used to monitor the client-side calendar application. When monitoring changes in the calendar, the changed calendar data is configured according to the standard schedule interface of the unified schedule center and sent to the unified schedule. center;

参考图2,具体的,统一日程中心通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据;或者集成了各种第三方日历应用的云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。Referring to Figure 2, specifically, the unified schedule center actively calls the standard calendar query interface of a third-party calendar application through scheduled tasks to query and obtain calendar data; or the cloud that integrates various third-party calendar applications calls the standard of third-party calendar applications through scheduled tasks. The calendar query interface queries and obtains calendar data, configures the obtained calendar data according to the standard calendar interface of the unified calendar center, and sends it to the unified calendar center.

参考图3,具体的,统一日程中心具体在有日历数据变动时,将日历数据异步发送到消息队列,分发服务监听消息队列的日历数据。分发服务利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,或/和将消息队列的日历数据下发给客户端日历应用,之后由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用。Referring to FIG. 3 , specifically, the unified schedule center sends the calendar data to the message queue asynchronously when the calendar data changes, and the distribution service monitors the calendar data of the message queue. The distribution service uses the calendar data of the message queue to configure the calendar write interface of other third-party calendar applications that need to synchronize log data, or/and sends the calendar data of the message queue to the client calendar application, and then the client calendar application Call the client's standard calendar writing interface to write calendar data into the client calendar application.

所述统一日程中心还用于针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才写入新获取的日历数据;其中,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。The unified schedule center is also used to compare the calendar data of the local database for each newly acquired calendar data, and judge whether it belongs to the calendar data of the itinerary repetition, if not, just write the newly acquired calendar data; Among them, the comparison of the calendar data includes: extracting three pieces of information: the schedule title, the schedule start time, and the schedule end time from the calendar data, generating a hash string through a digest algorithm, and judging whether it belongs to a calendar with repeated itineraries by comparing the hash values. data.

更多内容可参考实施例,此处不再赘述。For more content, reference may be made to the embodiments, which will not be repeated here.

进一步地,本实施例的系统还包括会议管理服务、日程管理服务等内部服务,日程管理服务可以从数据库中获取日历数据,分析日历数据,自动调用会议管理服务预定会议室。更进一步地,我们的平台的内部应用与日程管理服务之间也可以共享日程相关的服务。Further, the system of this embodiment also includes internal services such as conference management service and schedule management service. The schedule management service can obtain calendar data from the database, analyze the calendar data, and automatically call the conference management service to reserve a conference room. Furthermore, schedule-related services can also be shared between internal applications of our platform and schedule management services.

综上所述,本发明的多数据源日历数据双向同步方法以及系统,具有以下有益效果:本发明提供统一日历的解决方案,可将日历应用的日历数据同步到统一日程中心,再由统一日程中心同步至其他日历应用,搭建全平台的日历共享系统,实现全平台统一的日历数据共享,支持日历双向同步而且成本较低。To sum up, the method and system for bidirectional synchronization of calendar data from multiple data sources of the present invention have the following beneficial effects: the present invention provides a solution for a unified calendar, which can synchronize the calendar data of the calendar application to the unified schedule center, and then use the unified schedule The center synchronizes to other calendar applications, builds a full-platform calendar sharing system, realizes unified calendar data sharing across the entire platform, supports bi-directional calendar synchronization and has a low cost.

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。The embodiments of the present invention have been described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific embodiments, which are merely illustrative rather than restrictive. Under the inspiration of the present invention, without departing from the scope of protection of the present invention and the claims, many forms can be made, which all belong to the protection of the present invention.

Claims (10)

1.一种多数据源日历数据双向同步方法,其特征在于,所述方法包括:1. a multi-data source calendar data bidirectional synchronization method, is characterized in that, described method comprises: 统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据;Based on the standard schedule interface, the unified schedule center obtains the calendar data synchronized by different types of calendar applications in real time; 统一日程中心将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。The unified calendar center configures the synchronized calendar data according to the calendar writing interface provided by other calendar applications, and then writes it to other calendar applications synchronously in real time. 2.根据权利要求1所述的方法,其特征在于,所述的统一日程中心基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,包括:2. The method according to claim 1, wherein the unified schedule center obtains the calendar data synchronized in real time by different types of calendar applications based on a standard schedule interface, comprising: 客户端日程同步应用监听客户端日历应用,在监听到日历有变动时获取变动的日历数据,将变动的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心;The client-side schedule synchronization application monitors the client-side calendar application, obtains the changed calendar data when monitoring changes in the calendar, configures the changed calendar data according to the standard schedule interface of the unified schedule center, and sends it to the unified schedule center; 统一日程中心通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据;或者集成了各种第三方日历应用的云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。The unified calendar center actively calls the standard calendar query interface of a third-party calendar application through scheduled tasks to query and obtain calendar data; or the cloud that integrates various third-party calendar applications can call the standard calendar query interface of third-party calendar applications through scheduled tasks to query and obtain calendar data. , and configure the obtained calendar data according to the standard schedule interface of the unified schedule center and send it to the unified schedule center. 3.根据权利要求1所述的方法,其特征在于,所述的统一日程中心将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用,包括:3. method according to claim 1, is characterized in that, described unified schedule center will synchronise and write other calendar applications in real time after configuring according to the calendar writing interface that other calendar applications provide the calendar data that comes over, including : 统一日程中心在有日历数据变动时,将日历数据异步发送到消息队列;When the calendar data changes, the unified schedule center asynchronously sends the calendar data to the message queue; 分发服务监听消息队列的日历数据,利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,或/和将消息队列的日历数据下发给客户端日历应用,由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用。The distribution service monitors the calendar data of the message queue, uses the calendar data of the message queue to configure the calendar write interface of other third-party calendar applications that need to synchronize log data, or/and sends the calendar data of the message queue to the client calendar application , the client calendar application calls the client's standard calendar writing interface to write the calendar data into the client calendar application. 4.根据权利要求1所述的方法,其特征在于,所述方法还包括:统一日程中心在获取到日历应用实时同步过来的日历数据时,针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才将获该新获取的日历数据持久化到本地数据库。4. The method according to claim 1, wherein the method further comprises: when the unified schedule center acquires the calendar data synchronized by the calendar application in real time, for each newly acquired calendar data, compare it with the local The calendar data in the database is compared to determine whether it belongs to the calendar data of repeated itineraries. If not, the newly acquired calendar data is persisted to the local database. 5.根据权利要求4所述的方法,其特征在于,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。5. method according to claim 4, is characterized in that, the comparison of calendar data comprises: from calendar data, extract three pieces of information of schedule title, schedule start time, schedule end time, generate hash string by digest algorithm, By comparing the hash value, it is judged whether it belongs to the calendar data of the itinerary repetition. 6.一种用于实现如权利要求1-5任一项所述方法的多数据源日历数据双向同步系统,其特征在于,包括统一日程中心,统一日程中心用于基于标准日程接口,获取不同类型日历应用实时同步过来的日历数据,将同步过来的日历数据按照其他日历应用所提供的日历写入接口进行配置后实时同步写入其他日历应用。6. A multi-data source calendar data bidirectional synchronization system for realizing the method according to any one of claims 1-5, characterized in that, comprising a unified schedule center, and the unified schedule center is used to obtain different schedules based on a standard schedule interface. Type the calendar data synchronized by the calendar application in real time. After configuring the synchronized calendar data according to the calendar writing interface provided by other calendar applications, it will be synchronized and written to other calendar applications in real time. 7.根据权利要求6所述的系统,其特征在于,还包括安装于客户端的客户端日程同步应用,用于监听客户端日历应用,在监听到日历有变动时,将变动的日历数据,按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心;7. The system according to claim 6, further comprising a client schedule synchronization application installed on the client, for monitoring the client calendar application, and when monitoring that the calendar has changed, the changed calendar data, according to Configure the standard schedule interface of the unified schedule center and send it to the unified schedule center; 统一日程中心具体用于通过定时任务主动调用第三方日历应用的标准日历查询接口查询获取日历数据;或者集成了各种第三方日历应用的云端通过定时任务调用第三方日历应用的标准日历查询接口查询获取日历数据,并将获取的日历数据按照统一日程中心的标准日程接口的进行配置并发送给统一日程中心。The unified calendar center is specifically used to actively call the standard calendar query interface of a third-party calendar application through scheduled tasks to query and obtain calendar data; or the cloud that integrates various third-party calendar applications can call the standard calendar query interface of a third-party calendar application through scheduled tasks to query Acquire the calendar data, configure the acquired calendar data according to the standard schedule interface of the unified schedule center, and send it to the unified schedule center. 8.根据权利要求6所述的系统,其特征在于,统一日程中心具体在有日历数据变动时,将日历数据异步发送到消息队列,分发服务监听消息队列的日历数据,利用消息队列的日历数据对其他需要同步日志数据的第三方日历应用的日历写入接口进行配置,或/和将消息队列的日历数据下发给客户端日历应用,由客户端日历应用调用客户端的标准日历写入接口将日历数据写入客户端日历应用。8. The system according to claim 6, wherein the unified schedule center specifically sends the calendar data to the message queue asynchronously when the calendar data changes, the distribution service monitors the calendar data of the message queue, and utilizes the calendar data of the message queue. Configure the calendar writing interface of other third-party calendar applications that need to synchronize log data, or/and deliver the calendar data of the message queue to the client calendar application, and the client calendar application will call the client's standard calendar writing interface to write Calendar data is written to the client calendar application. 9.根据权利要求6所述的系统,其特征在于,9. The system of claim 6, wherein 所述统一日程中心在获取到日历应用实时同步过来的日历数据时,针对每一个新获取的日历数据,将其与本地数据库的日历数据进行比对,判断是否属于行程重复的日历数据,如果不是,才将获该新获取的日历数据持久化到本地数据库。When the unified schedule center acquires the calendar data synchronized by the calendar application in real time, for each newly acquired calendar data, it is compared with the calendar data of the local database to determine whether it belongs to the calendar data of the itinerary repetition, if not. , to persist the newly acquired calendar data to the local database. 10.根据权利要求9所述的系统,其特征在于,日历数据的比对包括:从日历数据中提取出日程标题、日程开始时间、日程结束时间三个信息,通过摘要算法生成hash字符串,通过比对hash值来判断是否属于行程重复的日历数据。10. The system according to claim 9, wherein the comparison of calendar data comprises: extracting three information of schedule title, schedule start time, and schedule end time from the calendar data, and generating a hash string by a digest algorithm, By comparing the hash value, it is judged whether it belongs to the calendar data of the itinerary repetition.
CN202110434231.3A 2021-04-21 2021-04-21 Multi-data-source calendar data bidirectional synchronization method and system Pending CN115221239A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110434231.3A CN115221239A (en) 2021-04-21 2021-04-21 Multi-data-source calendar data bidirectional synchronization method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110434231.3A CN115221239A (en) 2021-04-21 2021-04-21 Multi-data-source calendar data bidirectional synchronization method and system

Publications (1)

Publication Number Publication Date
CN115221239A true CN115221239A (en) 2022-10-21

Family

ID=83606631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110434231.3A Pending CN115221239A (en) 2021-04-21 2021-04-21 Multi-data-source calendar data bidirectional synchronization method and system

Country Status (1)

Country Link
CN (1) CN115221239A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065921A (en) * 2009-12-10 2011-06-16 에스케이 텔레콤주식회사 Schedule synchronization system and method
CN105373435A (en) * 2015-11-16 2016-03-02 深圳还是威健康科技有限公司 Data synchronous processing method and terminal
CN106415628A (en) * 2014-05-28 2017-02-15 微软技术许可有限责任公司 Social calendar event sharing
CN110162571A (en) * 2019-04-26 2019-08-23 厦门市美亚柏科信息股份有限公司 A kind of system, method, storage medium that data among heterogeneous databases synchronize

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110065921A (en) * 2009-12-10 2011-06-16 에스케이 텔레콤주식회사 Schedule synchronization system and method
CN106415628A (en) * 2014-05-28 2017-02-15 微软技术许可有限责任公司 Social calendar event sharing
CN105373435A (en) * 2015-11-16 2016-03-02 深圳还是威健康科技有限公司 Data synchronous processing method and terminal
CN110162571A (en) * 2019-04-26 2019-08-23 厦门市美亚柏科信息股份有限公司 A kind of system, method, storage medium that data among heterogeneous databases synchronize

Similar Documents

Publication Publication Date Title
AU2010226162B2 (en) Integration of pre-meeting and post-meeting experience into a meeting lifecycle
USRE49824E1 (en) Managing a virtual waiting room for online meetings
US20230244857A1 (en) Communication platform interactive transcripts
US8126974B2 (en) Specifying during meeting establishment when respondents are to be prompted for attendance intentions
US8862666B2 (en) System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US9824333B2 (en) Collaborative management of activities occurring during the lifecycle of a meeting
USRE43436E1 (en) System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8325894B2 (en) Method, system, and program product for managing conference calls
US20070185956A1 (en) Communication system and method
US8321796B2 (en) Dynamic meeting agenda generation based on presenter availability
US20100324963A1 (en) Tag presence alerts for groups and meeting
US20160027134A1 (en) System and method for management of remote conferences
CN104361464A (en) Conference room management system
CN104079609A (en) Schedule information processing method and device
US11562331B1 (en) Scheduling a subsequent meeting related to a previous meeting
US20100318397A1 (en) Synchronizing delegation models between disparate servers
US20140229555A1 (en) Productivity system with event-driven communications manager, method and program product therefor
CN115221239A (en) Multi-data-source calendar data bidirectional synchronization method and system
US20220207487A1 (en) Methods and Devices for Resolving Agenda and Calendaring Event Discrepancies
CN115147063A (en) Update participants on meeting invitations across calendar systems
JP7493173B2 (en) Schedule information synchronization program, schedule information synchronization system
US20070050450A1 (en) Interfacing an applet with a collaboration program
CN116663686A (en) Conference reservation management method, system, equipment and medium for different-place personnel
JP2024139776A (en) Information processing device and program
JP2023048809A (en) Information processing method, information processing device, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination