基于Exchange的日程同步方法及系统与流程

文档序号:18450424发布日期:2019-08-17 01:13阅读:2049来源:国知局
基于Exchange的日程同步方法及系统与流程

本发明属于日程同步技术领域,具体涉及基于exchange的日程同步方法及系统。



背景技术:

日程管理就是将每天的工作和事务安排在日期中,并做一个有效的记录,方便管理日常的工作和事务,达到工作备忘的目的。同时也具有对员工日常工作进行指导、监督的作用。

所以日程管理在现代社会中越来越重要,但是各式各样的日程管理软件无法实现统一,导致日程往往要人工汇总后录入到某一日程管理软件中,例如icloud,目前有部分软件实现将日程同步到终端日历,但只能实现软件内日程,且需要获取系统权限,并未彻底解决问题。



技术实现要素:

针对现有技术中的缺陷,本发明提供基于exchange的日程同步方法及系统,解决现有技术中多端日程无法自动同步到同一端的缺陷。

第一方面,一种基于exchange的日程同步方法,包括以下步骤:

获取待推送日程;

基于用户的指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,所述获取待推送日程包括:

接收待推送日程,并将所述待推送日程存储至数据库中。

优选地,其中,所述待推送日程关联至少一个推送邮箱。

优选地,所述获取待推送日程还包括:

当预设的推送间隔时间到达时,读取数据库中未推送的待推送日程。

优选地,所述获取待推送日程还包括:

根据该待推送日程发送邀请邮件至关联的推送邮箱,修改该待推送日程的状态为已推送。

优选地,所述基于用户的指令,将所述待推送日程通过exchange同步至该用户的移动终端具体包括:

接收用户确定参与的操作指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,该方法在所述接收待推送日程之后,还包括:

判断待推送日程关联的推送邮箱的地址是否合法;

如果该推送邮箱的地址合法,将所述待推送日程存储至数据库中;

如果该推送邮箱的地址不合法,生成邮箱错误提示。

优选地,所述待推送日程包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程。

优选地,所述根据该待推送日程发送邀请邮件至关联的推送邮箱具体包括:

提取出该待推送日程的标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程;

根据javamail中设定的规则将标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程进行拼装,生成推送邮件;

使用预设的发件人邮箱账号将所述推送邮件发送至关联的推送邮箱。

优选地,该方法在所述根据该待推送日程发送邀请邮件至关联的推送邮箱之后,还包括:

当检测到所述邀请邮件发送失败时,启动预设的重发任务,执行以下方法:

将所述邀请邮件存储至重发数据库中;

修改所述邀请邮件的状态为发送失败;

当预设的重发间隔时间到达时,获取状态为发送失败的邀请邮件;

将该邀请邮件发送至关联的推送邮箱。

第二方面,一种基于exchange的日程同步系统,包括:

接收单元:用于接收待推送日程,并将所述待推送日程存储至数据库中;所述待推送日程关联至少一个推送邮箱;

同步单元:用于接收用户确定参与的操作指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,所述系统还包括:

推送单元,其用于当预设的推送间隔时间到达时,读取数据库中未推送的待推送日程;根据该待推送日程发送邀请邮件至关联的推送邮箱,修改该待推送日程的状态为已推送。

优选地,所述待推送日程包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程。

优选地,所述接收单元还用于:

判断待推送日程关联的推送邮箱的地址是否合法;

如果该推送邮箱的地址合法,将所述待推送日程存储至数据库中;

如果该推送邮箱的地址不合法,生成邮箱错误提示。

优选地,所述推送单元具体包括:

提取出该待推送日程的标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程;

根据javamail中设定的规则将标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程进行拼装,生成推送邮件;

使用预设的发件人邮箱账号将所述推送邮件发送至关联的推送邮箱。

优选地,所述推送单元具体包括:

当检测到所述邀请邮件发送失败时,启动预设的重发任务,执行以下方法:

将所述邀请邮件存储至重发数据库中;

修改所述邀请邮件的状态为发送失败;

当预设的重发间隔时间到达时,获取状态为发送失败的邀请邮件;

将该邀请邮件发送至关联的推送邮箱。

由上述技术方案可知,本发明提供的基于exchange的日程同步方法及系统,解决现有技术中多端日程无法自动同步到同一端的缺陷。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明某一实施例提供的日程同步方法的流程图。

图2为本发明另一实施例提供的日程同步方法的流程图。

图3为本发明实施例三提供的日程同步系统的模块框图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

一种基于exchange的日程同步方法,参见图1,包括以下步骤:

获取待推送日程;

基于用户的指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,所述获取待推送日程包括:

接收待推送日程,并将所述待推送日程存储至数据库中。

优选地,其中,所述待推送日程关联至少一个推送邮箱。

优选地,所述获取待推送日程还包括:

当预设的推送间隔时间到达时,读取数据库中未推送的待推送日程。

优选地,所述获取待推送日程还包括:

根据该待推送日程发送邀请邮件至关联的推送邮箱,修改该待推送日程的状态为已推送。

优选地,所述基于用户的指令,将所述待推送日程通过exchange同步至该用户的移动终端具体包括:

接收用户确定参与的操作指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,该方法在所述接收待推送日程之后,还包括:

判断待推送日程关联的推送邮箱的地址是否合法;

如果该推送邮箱的地址合法,将所述待推送日程存储至数据库中;

如果该推送邮箱的地址不合法,生成邮箱错误提示。

优选地,所述待推送日程包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程。

优选地,所述根据该待推送日程发送邀请邮件至关联的推送邮箱具体包括:

提取出该待推送日程的标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程;

根据javamail中设定的规则将标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程进行拼装,生成推送邮件;

使用预设的发件人邮箱账号将所述推送邮件发送至关联的推送邮箱。

优选地,该方法在所述根据该待推送日程发送邀请邮件至关联的推送邮箱之后,还包括:

当检测到所述邀请邮件发送失败时,启动预设的重发任务,执行以下方法:

将所述邀请邮件存储至重发数据库中;

修改所述邀请邮件的状态为发送失败;

当预设的重发间隔时间到达时,获取状态为发送失败的邀请邮件;

将该邀请邮件发送至关联的推送邮箱。

实施例二:

一种基于exchange的日程同步方法,参见图2,包括以下步骤:

s1:接收待推送日程,并将所述待推送日程存储至数据库中;所述待推送日程关联至少一个推送邮箱;

具体地,该方法还可以设置公用接口。当需要给某用户的日历推送日程时,可以调用该公用接口接收待推送日程,该公用接口收到待推送日程后,会将待推送日程记录在数据库中,例如mysql数据库。

s2:当预设的推送间隔时间到达时,读取数据库中未推送的待推送日程;

s3:根据该待推送日程发送邀请邮件至关联的推送邮箱,修改该待推送日程的状态为已推送;

具体地,该方法采用定时推送的方式推送日程给用户。该方法始终接收待推送日程,当设定的推送间隔时间到达时,集中对该段时间内数据库中未推送的待推送日程进行推送。避免了一直进行待推送日程推送,占用系统资源。当推送成功后,可以删除已推送的待推送日程,节约数据库的存储空间,也避免了对同一条待推送日程进行重复推送。

s4:接收用户确定参与的操作指令,将所述待推送日程通过exchange同步至该用户的移动终端。

具体地,该方法使用了邮箱邀请方式。用户会收到一封邀请格式的邀请邮件。邀请邮件上可以设有两个按钮,参加和不参加。当用户点击参加按钮时,表示用户确定参与会议,此时就可以通过exchange(邮箱通讯协议)同步到用户使用的日历客户端中。

该方法能够将日程同步到各个客户端,解决现有技术中多端日程无法自动同步到同一端的缺陷。

实施例二:

实施例二在实施例一的基础上,增加以下内容:

所述待推送日程包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程。

具体地,可以在数据库中建立一张数据表,包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程等字段。

优选地,所述根据该待推送日程发送邀请邮件至关联的推送邮箱具体包括:

提取出该待推送日程的标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程;

根据javamail中设定的规则将标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程进行拼装,生成推送邮件;

使用预设的发件人邮箱账号将所述推送邮件发送至关联的推送邮箱。

具体地,javamail是基于java发送邮件的组件。该方法还可以利用例如日程小助手邮箱之类的软件,将所述推送邮件发送至关联的推送邮箱。

优选地,该方法在所述接收待推送日程之后,还包括:

判断待推送日程关联的推送邮箱的地址是否合法;

如果该推送邮箱的地址合法,将所述待推送日程存储至数据库中;

如果该推送邮箱的地址不合法,生成邮箱错误提示。

具体地,该方法可以基于上述构建的数据表,实现一个对外开发的接口。在接口中需要对推送邮箱的邮箱地址的合法性做校验。过滤掉不合法的邮箱地址,如果不合法则需要明确的报错提示,例如提示内容为:“请传递合法的邮箱地址”,当所有参数都合法的情况下,将数据写入之前建立好的数据表。

优选地,该方法在所述根据该待推送日程发送邀请邮件至关联的推送邮箱之后,还包括:

当检测到所述邀请邮件发送失败时,启动预设的重发任务,执行以下方法:

将所述邀请邮件存储至重发数据库中;

修改所述邀请邮件的状态为发送失败;

当预设的重发间隔时间到达时,获取状态为发送失败的邀请邮件;

将该邀请邮件发送至关联的推送邮箱。

具体地,如果邀请邮件发送失败时,将发送失败的邀请邮件存储至单独的重发数据库中,修改其状态为发送失败。该方法对于发送失败的邀请邮件,需要执行另一个单独的重发任务,进行重发。重发任务在设定的时间到达时,读取所有发送失败的邀请邮件,进行重发。这样避免了发送失败的邀请文件一直处于重发状态,影响了正常未推送的待推送日程的邀请文件的发送,使得待推送日程能够得到及时推送。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例三:

一种基于exchange的日程同步系统,参见图3,包括:

接收单元:用于接收待推送日程,并将所述待推送日程存储至数据库中;所述待推送日程关联至少一个推送邮箱;

推送单元:用于当预设的推送间隔时间到达时,读取数据库中未推送的待推送日程;根据该待推送日程发送邀请邮件至关联的推送邮箱,修改该推送日程的状态为已推送;

具体地,推送单元可以开发形成单独的程序,定时触发可以利用linux操作系统的定时任务来进行触发。

同步单元:用于接收用户确定参与的操作指令,将所述待推送日程通过exchange同步至该用户的移动终端。

优选地,所述待推送日程包括标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程。

优选地,所述接收单元还用于:

判断待推送日程关联的推送邮箱的地址是否合法;

如果该推送邮箱的地址合法,将所述待推送日程存储至数据库中;

如果该推送邮箱的地址不合法,生成邮箱错误提示。

优选地,所述推送单元具体包括:

提取出该待推送日程的标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程;

根据javamail中设定的规则将标题、内容、开始时间、结束时间、推送邮箱、地点以及是否需要同步日程进行拼装,生成推送邮件;

使用预设的发件人邮箱账号将所述推送邮件发送至关联的推送邮箱。

优选地,所述推送单元具体包括:

当检测到所述邀请邮件发送失败时,启动预设的重发任务,执行以下方法:

将所述邀请邮件存储至重发数据库中;

修改所述邀请邮件的状态为发送失败;

当预设的重发间隔时间到达时,获取状态为发送失败的邀请邮件;

将该邀请邮件发送至关联的推送邮箱。

该系统能够将日程同步到各个客户端,解决现有技术中多端日程无法自动同步到同一端的缺陷。

在本实施例中,应该理解到,所揭露的系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1