多日历账户同步、处理方法、装置、电子设备、存储介质与流程

文档序号:29034602发布日期:2022-02-25 17:39阅读:293来源:国知局
多日历账户同步、处理方法、装置、电子设备、存储介质与流程

1.本发明涉及通信技术领域,尤其涉及应用程序的多日历账户同步方法和装置、多日历账户处理方法和装置、电子设备和存储介质。


背景技术:

2.随着科学技术不断发展,各种应用程序层出不穷。众多应用程序内置自身的私有日历本。日历本在众多应用程序上得到了广泛应用。目前,各应用程序只支持自身的私有日历协议,因而,只能使用自身内置的私有日历本,无法同时集成除自身私有日历本以外的其他日历本。


技术实现要素:

3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本技术提供了一种应用程序的多日历账户同步方法和装置、多日历账户处理方法和装置、电子设备和存储介质,使应用程序能够集成多个日历账户的多个日历本,方便用户同步或操作多个日历账户的多个日历本。
5.根据本技术的第一方面,提供了一种应用程序的多日历账户同步方法,包括:
6.获取所有日历账户的全部日历本,其中所述日历账户为已添加日历账户或应用程序内置日历账户至少之一;
7.获取每个所述日历本对应的日历协议信息;
8.根据所述日历协议信息向日历服务器发送日程同步请求;
9.接收所述日历服务器返回的日程信息;
10.更新显示所述日程信息。
11.根据本技术的第二方面,提供了一种应用程序的多日历账户处理方法,包括:
12.获取被选取的日历本;
13.获取所述被选取的日历本所在日历账户的协议信息;
14.接收日程操作指令,其中所述日程操作指令为添加日程指令、删除日程指令、更新日程指令任一种;
15.根据所述日历协议信息和所述日程操作指令向日历服务器发送日程请求;
16.接收所述日历服务器返回的日程信息;
17.更新显示所述日程信息。
18.根据本技术的第三方面,提供了一种应用程序的多日历账户同步装置,包括:
19.日历本获取模块,获取所有日历账户的全部日历本,其中所述日历账户为已添加日历账户或应用程序内置日历账户至少之一;
20.协议信息获取模块,用于获取每个所述日历本对应的日历协议信息;
21.日程同步请求模块,用于根据所述日历协议信息向日历服务器发送日程同步请
求;
22.日程接收模块,用于接收所述日历服务器返回的日程信息;
23.日程信息更新模块,用于更新显示所述日程信息。
24.根据本技术的第四方面,提供了一种应用程序的多日历账户处理装置,包括:
25.日历本获取模块,用于获取被选取的日历本;
26.协议获取模块,用于获取被选取的日历本所在日历账户的协议信息;
27.指令接收模块,用于接收日程操作指令,其中所述日程操作指令为添加日程指令、删除日程指令、更新日程指令任一种;
28.日程请求模块,用于根据所述协议信息和所述日程操作指令向日历服务器发送日程请求;
29.日程信息接收模块,用于接收所述日历服务器返回的日程信息;
30.日程更新模块,用于更新显示所述日程信息。
31.根据本技术的第五方面,提供了一种电子设备,包括:
32.至少一个存储器;
33.至少一个处理器;
34.至少一个程序;
35.所述程序被存储在所述存储器中,所述处理器执行所述至少一个所述程序以实现本技术第一方面所述的应用程序的多日历账户同步方法,或者,以实现本技术第二方面所述的应用程序的多日历账户处理方法。
36.根据本技术的第六方面,提供了一种计算机可读存储介质,所述计算机可执行指令用于执行本技术第一方面所述的应用程序的多日历账户同步方法,或者,以实现本技术第二方面所述的应用程序的多日历账户处理方法。
37.本技术所提供的技术方案,通过获取所有日历账户的全部日历本、获取每个日历本对应的日历协议信息,并根据日历协议信息向日历服务器发送日程同步请求,从而接收日历服务器根据日程同步请求返回的日程信息,以更新显示日程信息,可以实现在应用程序中集成内置日历账户的日历本和添加的其他日历账户的日历本,方便用户在应用程序中同步或操作多个日历账户的日历本。
附图说明
38.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
39.图1是本技术一个示例性的实施例提供的应用程序的多日历账户同步方法的应用场景示意图;
40.图2是本技术一个示例性的实施例提供的应用程序的多日历账户同步方法的流程图;
41.图3是本技术第一实施例提供的应用程序的多日历账户同步方法的添加日历账户步骤的流程图;
42.图4是本技术第一实施例提供的通过用户终端添加日历账户的界面示意图;
43.图5是本技术第一实施例提供的通过用户终端添加日历账户的又一界面示意图;
44.图6是本技术第二实施例提供的通过用户终端添加日历账户的界面示意图;
45.图7是本技术第二实施例提供的应用程序的多日历账户同步方法的添加日历账户步骤的详细流程图;
46.图8是本技术第三实施例提供的通过用户终端添加日历账户的界面示意图;
47.图9是本技术第三实施例提供的通过用户终端添加日历账户的又一界面示意图;
48.图10是本技术一个示例性的实施例提供的应用程序的多日历账户同步方法实现的逻辑层结构图;
49.图11是图10中各逻辑层实现多日历本同步方法的抽象类方法的示意图;
50.图12是本技术第三实施例提供的应用程序的多日历账户同步方法的添加日历账户步骤的流程图;
51.图13是本技术一个示例性的实施例提供的第一种应用程序的多日历账户处理方法的流程图。
具体实施方式
52.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
53.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
54.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
55.首先,对本技术中涉及的若干名词进行解析:
56.日历协议:是一种日历信息的同步协议,包括内置的私有日历协议和公共日历协议;其中,公共日历协议至少包括exchange activesync日历协议和caldav日历协议。
57.exchange activesync日历协议:是一种同步协议,可用于将用户终端与exchange服务器进行同步,以实现电子邮件、日历信息、联系人和任务等同步。
58.caldav日历协议:是一种同步协议,也是一种开放协议,可用于将用户终端与相应的服务器进行同步,以实现电子邮件、日历信息等同步。
59.prolfile:是一种抽象类,可以封装相应的操作方法,以实现对账户的处理。
60.本技术实施例提供的方案涉及应用程序的多日历账户同步方法、装置、电子设备和存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的应用程序的多日历账户同步方法。
61.本技术实施例提供了一种应用程序的多日历账户同步方法,可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还
可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是对多日历账户同步的日历应用等,但并不局限于以上形式。
62.图1本技术实施例提供的应用程序的多日历账户同步方法的一个应用场景示意图,该多日历账户同步方法应用于安装有应用程序的用户终端,其中,用户终端可以是,但不限于是平板电脑、智能手机等,用户终端用于与应用程序的后台服务器通信连接,应用程序的后台服务器用于对用户终端运行的应用程序进行管理,例如对应用程序的更新等;用户终端还用于与日历服务器通信连接,以进行日程数据传输,例如从日历服务器获取日程信息、将用户终端创建的日程信息同步至日历服务器等。其中,日历服务器是对应于相应日历协议的服务器,例如可以是对应于exchange activesync日历协议服务器或是对应于caldav日历协议的服务器。
63.图2是本技术实施例提供的应用程序的多日历账户同步方法的一个可选的流程图,图2中的方法包括步骤201至步骤205。其中,多日历账户同步方法应用于用户终端的应用程序,应用程序内置有私有日历本。
64.步骤201、获取所有日历账户的全部日历本。
65.步骤202、获取每个日历本对应的日历协议信息。
66.步骤203、根据日历协议信息向日历服务器发送日程同步请求。其中,日历服务器存储有账户信息的日程信息。
67.步骤204、接收日历服务器返回的日程信息。其中,日历服务器用于接收到日程同步请求后根据接收到的日程同步请求返回对应的日程信息。
68.步骤205、更新显示日程信息。在一些实施例中,日程信息可以包括,但不限于包括日程列表、日程名称、日程描述、日程时长、日程开始的时间、日程所属日历本、日程提醒周期、参与人等;其中,若有多个日程,则以日程列表的方式进行显示;日程描述可以用来描述日程的摘要内容、主题等;可以通过设置日程时长来设置日程所占用的时长;通过设置日程开始的时间,可以设置在日程开始前的预设时间进行提醒;通过设置参与人,可以将日程信息共享给相应的参与人;在一些实施例中,参与人为添加日程信息时所关联的日历账户,也是应用程序的通讯录中的联系人,从而用户可以依据需要或喜好,从应用程序的通讯录中选择相应的参与联系人。
69.在一些实施例中,日历账户为已添加日历账户或应用程序内置日历账户至少之一。在实际应用场景中,应用程序内置日历账户是指用户通过应用程序注册产生的日历账户;已添加日历账户是指用户通过应用程序添加的其他账号的日历账户。在本实施例中,已添加日历账户可以是邮箱账户。
70.在一些实施例中,已添加日历账户对应的日历协议信息包括应用程序内置的私有日历协议和应用程序的后台服务器配置的公共日历协议;其中,协议信息可以包括,但不限于包括协议类型;协议信息还可以包括协议数据字段;进一步地,已添加日历账户对应的日历协议信息包括已添加日历账户对应的协议类型和协议数据字段;更进一步地,已添加日历账户对应的协议类型包括应用程序内置的私有日历协议和应用程序的后台服务器配置的公共日历协议,已添加日历账户对应的协议类型还包括应用程序内置的私有日历协议数据字段和应用程序的后台服务器配置的公共日历协议数据字段。在实际应用场景中,应用
程序内置的私有日历协议可以包括,但不限于包括存储在运行应用程序的终端或服务器端的配置文件中的私有日历协议,例如应用程序的运营商的私有日历协议或者企业邮箱对应的日历协议。
71.在一些实施例中,公共日历协议可以包括,但不限于包括exchange activesync日历协议和caldav日历协议的至少一种。在一些其他实施例中,公共日历协议还可以包括除exchangeactivesync日历协议和caldav日历协议之外的其他日历协议。
72.在一些实施例中,多日历账户同步方法还包括更新显示日历账户步骤,更新显示日历账户步骤包括:
73.通过应用程序接收日历本操作指令;
74.根据日历本操作指令更新显示账户信息、未被隐藏的日历本和未被隐藏日历本的对应日程事件,其中操作指令为日历本添加指令、日历本删除指令、日历本隐藏指令、修改日历本属性指令的任一指令。
75.在实际应用中,日历本属性至少包括以下的一种或多种:日历本名称、日历本标记、日历本的描述内容。其中,日历本添加指令用于添加日历本,从而可以添加需要的日历本;日历本删除指令用于删除日历本,从而便于用户可以依据需要或者喜好,将不需要的日历本删除;日历本隐藏指令用于隐藏日历本和被隐藏日历本的对应日程事件,从而用户可以依据需要或者喜好,将不需要显示的日历本设置为隐藏,且被隐藏的日历本对应的日程事件也会被隐藏;当用户需要显示被隐藏的日历本时,可以设置取消隐藏,从而可以重新显示被取消隐藏的日历本和日历本对应的日程信息;修改日历本属性指令用于修改日历本属性,从而用户可以依据需要或者喜好,修改日历本属性,例如可以修改日历本名称,以对日历本进行归类和区分;本技术实施例中,以显示颜色作为日历本标记,可以修改日历本的显示颜色以便于多个不同日历本进行区分,并从视觉上满足个人喜好或者进行个性化显示,或者通过视觉可以方便、快速判断日历本的轻重缓急。
76.在其他实施例中,更新显示日历账户步骤还包括:操作指令响应步骤,具体为:
77.通过应用程序接收操作指令;
78.将接收到的操作指令发送至相应的日历账户的对应日历本;
79.日历账户根据其存储的日程协议进行日历账户的登录和日程同步;
80.将日程同步的日程信息存储至相应日历账户的对应所述日历本;
81.应用程序显示相应日历账户的对应日历本的日程信息。
82.在一些实施例中,操作指令至少包括对账户进行操作的账户操作指令、对日历本进行操作的日历本操作指令和对日程进行操作的日程操作指令;其中,日历本操作指令至少包括日历本添加指令、日历本删除指令、日历本隐藏指令、修改日历本属性指令;账户操作指令至少包括日历账户添加指令、日历账户删除指令、日历账户获取指令;日程操作指令为添加日程指令、删除日程指令、更新日程指令、存储日程指令任一种。上述实施例中,若操作指令为日历账户添加指令,则可以根据日历账户存储的日程协议实现日历账户的登录和日程同步。
83.在一些实施例中,步骤201至少包括:
84.获取所有日历账户的账户信息;
85.调用同步接口程序获取每一个账户信息对应的全部日历本。实际应用中,通过日
历账户获取指令可以获取到所有日历账户的账户信息,并在获取到所有日历账户的账户信息之后,调用同步接口程序,从而通过同步接口程序获取每一个账户信息对应的日历账户的全部日历本,以获取到所有日历账户的全部日历本。
86.在一些实施例中,步骤203至少包括:
87.根据日历协议信息获取协议类型;
88.根据协议类型调用相应的日历协议;
89.根据日历协议向相应的日历服务器发送日程同步请求。实际应用中,日历协议包括exchange activesync日历协议和caldav日历协议的至少一种;在根据日历协议信息获取协议类型之后,可以根据协议类型调用相应的日历协议,从而根据调用的日历协议向相应的日历服务器发送日程同步请求。应用程序的多日历账户同步方法还包括日历账户添加或删除步骤,通过日历账户添加指令可以实现日历账户添加步骤,通过日历账户删除指令可以实现日历账户删除步骤。请参阅图3,本技术第一实施的日历账户添加步骤包括步骤301至步骤303。
90.步骤301、接收待添加账户的账户信息。在一些实施例中,账户信息可以包括,但不限于包括账号。账户信息还可以包括密码。
91.在实际应用场景中,以账号为邮箱账号为例进行说明,步骤301可以包括:接收通过用户终端输入的待添加日历账户的账号、接收通过用户终端触发的确认指令;具体地,请参阅图4,图4是添加日历账户的界面示意图,以用户终端为手机、以zhangsan03@company.com的邮箱账号为例进行说明,待添加日历账户的账号为企业邮箱账号zhangsan03@company.com,步骤301包括:接收通过用户终端输入的待添加日历账户的账号、接收通过用户终端触发的确认指令、接收通过用户终端输入的待添加日历账户的密码,结合图4和5,用户可以通过用户终端输入待添加日历账户zhangsan03@company.com、并通过用户终端触发“下一步”确认指令、再通过用户终端输入待添加日历本的密码、并通过用户终端触发“下一步”确认指令。通过上述用户的一系列操作获取待添加账户的账户信息。在其他的应用场景中,步骤301包括:接收通过用户终端输入的待添加日历账户的账号和密码、接收通过用户终端触发的确认指令,即,用户可以通过用户终端在同一个操作界面上输入待添加日历账户的账号和密码、并通过用户终端触发“下一步”确认指令。
92.步骤302、根据账户信息获取日历服务器配置信息。
93.在一些实施例中,以账号为邮箱账号为例进行说明,日历服务器配置信息包括邮箱类型,账号、服务器地址、ssl协议端口号、非ssl协议端口号等,其中,邮箱类型可以是,但不限于是pop3、smtp、imap;账号是对应日历账户的邮箱地址。关于日历服务器配置信息,本技术实施例不做限定。
94.步骤303、根据日历服务器配置信息创建待添加账户。
95.在一些实施例中,步骤302,包括:
96.根据待添加账户信息从运行应用程序的用户终端查询日历服务器配置信息;
97.若查询到日历服务器配置信息,则获取日历服务器配置信息。
98.步骤304、分配独立存储区域存储新添加的日历账户。本技术实施例中,由于各个日历账户之间都是通过独立存储区域进行存储,因此,各个日历账户之间是相互独立的,每个日历账户在物理和逻辑上隔离,并且,每个日历本都分别独立存储,即使其中一个日历本
出现异常(例如同步失败),也不会影响其他日历本;且日程信息存储在对应日历账户的独立数据空间,因此,对其中一个日程信息进行操作(例如同步操作、添加操作、删除操作、更新操作等),也不会影响其他的日程信息。
99.在一些实施例中,日历账户删除步骤包括:
100.向日历服务器发送日历账户删除请求;
101.接收日历服务器返回的账户删除结果;
102.若账户删除结果为成功,则在存储区域删除日历账户。在实际应用中,日历账户删除步骤可以实现对需要删除的日历账户进行删除;在用户终端的显示界面上,只需要进行一键删除,即可以将存储区域内的对应的日历账户删除,操作简单、便捷。若该日历账户是存储于独立存储区域,则删除对应独立存储区域的日历账户,或者将该独立存储区域及其存储的日历账户一并删除,待需要添加日历账户时再分配独立存储区域用于存放新添加的日历账户。
103.在一些实施例中,多日历账户同步方法还包括日程事件显示步骤,日程事件显示步骤包括:
104.触发日程事件显示操作;
105.默认显示当天或被选中某一天的所有日历账户的全部日历本的全部日程事件。
106.在实际应用中,应用程序的日程显示界面上,用户可以通过对用户终端的操作来触发日程事件显示操作,被触发后,应用程序的日程显示界面上默认显示当天的全部日程事件,包括所有日历账户的全部日历本的全部日程事件;用户也可以通过对用户终端的操作来选择某一天的全部日程事件,从而日程显示界面上可以显示被选中某一天的所有日历账户的全部日历本的全部日程事件。此外,在日程显示界面上,可以根据喜好或者需要,来设置以一天或者三天或者一周为时间单位来显示该时间单位内的全部日程事件。其中,日程事件包括日程信息;日程信息可以包括,但不限于包括日程列表、日程名称、日程描述、日程时长、日程开始的时间、日程所属日历本、日程提醒周期、参与人等;其中,若有多个日程,则以日程列表的方式进行显示;日程描述可以用来描述日程的摘要内容、主题等;可以通过设置日程时长来设置日程所占用的时长;通过设置日程开始的时间,可以设置在日程开始前的预设时间进行提醒;通过设置参与人,可以将日程信息共享给相应的参与人;在一些实施例中,参与人为添加日程信息时所关联的日历账户,也是应用程序的通讯录中的联系人,从而用户可以依据需要或喜好,从应用程序的通讯录中选择相应的参与人。
107.请参阅图4和5,由于企业邮箱账号zhangsan03@company.com对应的协议类型是应用程序内置的私有日历协议,且账号zhangsan03@company.com对应的日历服务器配置信息存储在运行应用程序的用户终端,则可以从该用户终端查询到日历服务器配置信息,从而可以获取日历服务器配置信息。
108.进一步地,步骤302,还包括:
109.若未从用户终端查询到日历服务器配置信息,则从应用程序的后台服务器查询日历服务器配置信息;
110.若查询到日历服务器配置信息,则获取日历服务器配置信息。请参阅图4和5,若账号zhangsan03@company.com对应的日历服务器配置信息没有存储在用户终端而是存储在应用程序的后台服务器,且由于账号zhangsan03@company.com对应的协议类型是应用程序
内置的私有日历协议,则可以从应用程序的后台服务器查询到日历服务器配置信息,从而可以获取日历服务器配置信息。
111.进一步地,步骤302,还包括:
112.若未从应用程序的后台服务器查询日历服务器配置信息,则通过用户终端输入来获取日历服务器配置信息。在一实施中,若未从应用程序的后台服务器查询日历服务器配置信息,则可以接收用户终端输入的日历服务器配置信息,请参阅图6,在用户终端的添加日历账户的操作界面上,用户可以通过用户终端输入账号、密码、选择账号所属的协议类型,在接收到用户通过用户中国的触发“确定”的确认指令后,可以获取到用户终端输入的日历服务器配置信息,本实施例以账号zhangsan03@example.com为例进行说明,由于账号zhangsan03@example.com对应的协议类型不是应用程序内置的私有日历协议,且账号zhangsan03@example.com对应的日历服务器配置信息没有存储在运行应用程序的用户终端、也没有存储在应用程序的后台服务器,可以通过接收用户终端输入来获取日历服务器配置信息:协议类型、账户、密码,其中协议类型可以选择exchange activesync日历协议或者caldav日历协议;另外,用户还可以通过用户终端勾选是否“同时在电脑端添加该账户”的选项,如果用户通过用户终端勾选“同时在电脑端添加该账户”的选项,则在电脑端登录该应用程序时,在用户终端所添加的账户也同时会添加至电脑端。
113.在一些实施例中,步骤303,包括:
114.根据获取日历服务器配置信息向对应的日历服务器发送账户添加请求;
115.接收日历服务器根据账户添加请求返回的验证结果;其中,日历服务器用于验证日历服务器配置信息,若验证通过,则返回验证成功结果;若验证不通过,则返回验证失败结果;
116.若接收的验证结果是验证失败结果,则输出登录错误信息,以通过用户终端显示登录错误信息的提示;在一实施例中,可以通过用户终端显示登录错误信息:“无法连接服务器,请检查配置”。
117.若接收的验证结果是验证成功结果,则创建待添加账户。
118.在步骤303中,账户添加请求可以包括,但不限于包括账号、密码;日历服务器根据账号和密码,验证账号和密码是否正确,若验证账号和密码正确,则日历服务器返回验证成功结果,可以创建待添加账户;若验证账号和密码不正确,则日历服务器返回验证失败结果,无法创建待添加账户,则输出登录错误信息,以通过用户终端显示登录错误信息的提示。
119.在一些实施例中,进一步地,步骤204至少包括:
120.根据日历协议信息接收日历服务器返回的日程信息;
121.将所接收到的日程信息发送至相应的日历账户的对应日历本。
122.在一些实施例中,将所接收到的日程信息发送至相应的日历账户的对应日历本,包括:
123.将所接收到的日程信息转换为通用日程字段的日程结构模板;
124.将转换的日程信息发送至相应的日历账户的对应日历本。
125.在实际应用中,日历服务器接收到日程同步请求后根据接收到的日程同步请求返回对应的日程信息;应用程序根据日历协议信息接收日历服务器返回的日程信息,并所将
接收到的日程信息转换为满足用户终端需要的通用日程字段的日程结构模板,该日程结构模板包括通用日程字段,并将转换的日程信息发送至相应的日历账户的对应日历本、及将日程信息存储至日历本的对应独立数据空间,从而确保日程信息存储在对应的独立数据空间中,以避免某个日程信息对其他日程信息的影响。
126.在一些实施例中,步骤205至少包括:
127.显示未被隐藏日历本的日程信息。因此,用户可以依据需要或者喜好,将不需要显示的日历本设置为隐藏;当用户需要显示被隐藏的日历本时,可以设置取消隐藏,从而可以重新显示被取消隐藏的日历本和日历本对应的日程信息。在一些实施例中,在步骤205后,应用程序的多日历账户同步方法,还包括:
128.将日程信息存储在对应日历账户的独立数据空间。在一些实施例中,每个日历账户存储在独立数据库中,每一日程信息存储在独立的数据库中的独立数据空间,从而每个日历账户之间是相互独立的,每个日历账户在物理和逻辑上隔离,且因每一日程信息存储在独立数据空间,因此,对其中一个日程信息进行操作(例如同步操作、删除操作、更新操作等),也不会影响其他的日程信息。具体地,独立数据空间可以是同一个数据库内划分的不同存储分区,也可以是不同数据库的存储空间。例如,独立数据空间可以是oracle、db2、postgresql、microsoft sql server、microsoft access、mysql等数据库的存储空间,也可以是某个数据库(如mysql)下的多个存储分区。
129.请参阅图7,本技术第二实施例提供的添加日历账户步骤包括步骤701至步骤710:
130.步骤701、接收通过用户终端输入的待添加日历的账户信息;账户信息可以包括,但不限于包括账号;账户信息还可以包括密码;
131.步骤702、判断待添加日历账户的账户信息是否与用户终端内置的日历服务器配置信息相匹配;若相匹配,则执行步骤703,否则执行步骤707;
132.步骤703、根据账户信息创建账户profile库;
133.步骤704、根据接收到的账户信息登录日历服务器;进一步地,根据接收到的账户信息获取待添加日历账户对应的协议信息,根据协议信息登录对应的日历服务器;
134.步骤705、判断是否成功登录日历服务器;若成功登录日历服务器,则执行步骤706;否则结束;
135.步骤706、存储登录信息;从而,添加日历账户的流程结束;其中,登录信息至少包括接收到的账户信息、登录时间等;
136.步骤707、根据待添加日历本的账户信息向应用程序的后台服务器查询相匹配的日历服务器配置信息;
137.步骤708、判断是否查询到相匹配的日历服务器配置信息,若查询到相匹配的日历服务器配置信息,则执行步骤703;否则,执行步骤709;
138.步骤709、接收通过用户终端输入的日历服务器配置信息;
139.步骤710、通过用户终端显示账户配置结果;具体地,根据用户终端输入的日历服务器配置信息,将账户设置结果显示在用户终端。
140.图8是本技术第三实施例提供的通过用户终端添加日历账户的界面示意,该实施例中,以用户终端为手机为例进行说明,待添加日历账户为:zhangsan@company.com,账号是:zhangsan@company.com,通过用户终端输入的待添加日历账户zhangsan@company.com,
由于用户终端或应用程序的后台服务器的日历服务器配置信息中包括了该后缀为company.com的公司邮箱,因此,不需要通过用户终端输入进行配置,此时需要按照图8所示,通过用户终端输入密码(参阅图5)即可,若输入的用户名和密码是正确的,则根据账户信息创建账户profile库,登录日历服务器,并在成功登录日历服务器后存储登录信息;并且,通过用户终端,还可以根据需要勾选“同时在电脑端添加该账户”,从而将相应的日历账户同步添加到电脑端。请参阅图9,在应用程序的日程设置界面显示已添加的两个日历账户:zhangsan@company.com和222222222@example.com,通过用户终端显示当前所有已添加的日历账户。此外,通过用户终端,还可以依据需要或者喜好设置默认日历,例如将日历本“好友生日”设置为默认日历,以及设置“同步系统日历”,若设置“同步系统日历”,则用户终端的系统日历可以同步且与已添加的日历账户的日历本一起显示。
141.一实施例中,应用程序是企业微信,企业微信内置有私有日历账户,私有日历账户包括私有日历本,若未添加其他日历账户,则可将企业微信内置的私有日历账户的日历本作为默认日历本。若企业微信中有多个日历本,则可以依据用户的需要或者喜好,重新设置默认日历本。通过该多日历账户同步方法,可以实现除对企业微信内置的私有日历账户进行处理外,还可以对添加的其他日历账户进行处理,并将多个日历账户集成到一起,进行统一展示和统一处理,解决用户处理多个日历账户的不便。本技术实施例,除了支持企业微信内置的私有日历协议,还至少支持exchange activesync日历协议和caldav日历协议等其他公共日历协议,至少允许用户添加exchange activesync和caldav日历协议的日历账户,从而支持添加多个不同协议类型的日历账户。
142.图10是本技术一个示例性的实施例提供的应用程序的多日历账户同步方法实现的逻辑层结构图,实现本技术实施例的多日历账户同步方法的逻辑层结构包括账户层、逻辑抽象层和用户界面(user interface,ui)层来实现。其中,账户层包括协议层和存储层,存储层用于存储日历账户的账户信息和日程信息等;协议层用于实现各个日历账户登录、日程信息同步,具体包括:通过日历协议信息获取日历服务器返回的日程信息和账户信息,从而可以获取到所有日历账户的全部日历本。逻辑抽象层用于管理所有日历账户,对ui层提供统一的日程管理及同步接口,将ui层的请求转发至相应的日历账户,并将日历服务器返回的日程信息和账户信息发送至相应的日历账户,且,在发送日程信息前所将接收到的日程信息转换为满足用户终端需要的通用日程结构模板。ui层用于从逻辑抽象层获取数据,并用于显示获取到的数据,具体包括:通过同步接口程序从逻辑抽象层获取日程信息和账户信息,从而获取账户信息对应的日历账户的日历本。
143.逻辑抽象层包括管理模块和账户模块。请参阅图11,一实施例中,管理模块通过profilemanager实现,账户模块通过抽象类prolfile实现;管理模块用于管理所有的日历账户,每一日历账户对应一个唯一的账户profile库,每一账户profile库配置有相应的prolfile配置文件,profilemanager用于管理所有的prolfiles配置文件;管理模块包括添加日历账户、删除日历账户、获取所有日历账户,以实现日历账户的添加和删除;账户模块通过抽象类prolfile实现,封装了多个操作方法,可以用于实现日程的同步操作、添加操作、更新操作、删除操作和存储操作等,每个操作方法通过相应的抽象类prolfile的子类实现,从而实现将每个日历账户在物理和逻辑上隔离;抽象类prolfile作为父类,还用于将日历协议及存储操作抽象成公共的方法抽象类,从而其他操作(例如同步操作、添加操作、更
新操作)作为父类prolfile的子类可以调用父类prolfile的公共抽象类:日历协议和存储操作;抽象类prolfile可以用于描述每个日历账户;抽象类prolfile包括登录子类、同步子类、添加子类、更新子类、日程删除子类和存储子类,其中,登录子类通过login()方法实现日历账户的登录,同步子类通过syncevents()方法实现同步操作、以实现日程信息的同步,添加子类通过addevent()方法实现添加操作、以实现日程信息的添加,更新子类通过updateevent()方法实现更新操作、以实现日程信息的更新,日程删除子类通过deleteevent()方法实现删除操作、以实现日程信息的删除,存储子类通过saveevents()方法实现存储操作、以实现日程信息的存储。
144.管理模块(profilemanager)包括创建单元、删除单元和获取单元。创建单元通过createprofiles()法实现日历账户的添加;删除单元通过deleteprofiles()方法实现日历账户的删除;获取单元用于通过getallprofiles()方法实现所有日历账户的获取。
145.账户层的存储层存储有默认配置文件defaultprofile、eas协议类配置文件easprofile、caldav协议类配置文件caldavprofile。默认配置文件defaultprofile对应默认日历账户的相关信息;eas协议类配置文件easprofile对应exchange activesync日历协议账户的相关信息;caldav协议类配置文件caldavprofile对应caldav协议的日历账户的相关信息。
146.本技术实施例,在应用程序内置的私有日历账户的日程数据作为通用日程数据的基础上,抽象出一个公共日程数据模型,并为多种不同的日历协议预留扩展数据字段,从而方便添加支持不同日历协议的日历账户。在创建日程时,用户界面层上默认显示的日程结构模板是通用日程字段的模板,在选择日历本后,会根据日历本所述属的日历协议类型,动态调整显示界面,从而显示协议类型所特有的日程字段。用户界面层通过用户终端输入相应日程信息后点击存储,将公共日程数据模型传给相应的协议层,并转换成相应的日历协议需要的数据格式,然后发送给日历服务器,以便日历服务器可以返回相应的日程数据,从而实现日程同步。
147.在实际应用场景中,在应用程序的操作界面,提供了日程设置页面、添加日历账户页面、日历本设置页面等等,用户可以依据需要或喜好,通过相应的操作页面添加日历账户、删除日历账户、设置默认日历本、创建日程等等,还可以设置将日历本隐藏,并可以依据用户的需要或喜好,用不同颜色对日历本进行标记,以对多个不同日历本进行区分,从而便于用户通过视觉快速判断日程的轻重缓急,或者从视觉上满足个人喜好或者进行个性化显示等。此外,若日历本被设置为隐藏,则被隐藏的日历本的日程信息会被隐藏,从而不进行显示;当需要显示时,还可以设置取消隐藏,从而可以重新显示。进一步地,在创建日程的操作界面提供了全局默认设置项,从而方便用户快速完成操作。
148.基于图10和11,图12提出了本技术第三实施例提供的应用程序的多日历账户同步方法的添加日历账户步骤的流程图,在一实际应用场景中,本技术实施例提供的添加日历账户步骤由ui层、逻辑抽象层的profilemanager和prolfile来实现,包括以下步骤:
149.接收通过用户终端输入的日历账户的账号和密码;
150.查询用户终端内置的日历服务器配置信息;进一步地,根据账号和密码查询用户终端内置的日历服务器配置信息;
151.判断用户终端内置的日历服务器配置信息中是否存在接收到的账号和密码;
152.若用户终端内置的日历服务器配置信息中存在接收到的账号和密码,则根据日历服务器配置创建账户profile库;
153.若用户终端内置的日历服务器配置信息中不存在接收到的账号和密码,则向应用程序的后台服务器查询日历服务器配置信息;
154.判断应用程序的后台服务器的日历服务器配置信息中是否存在接收到的账号和密码;
155.若应用程序的后台服务器的日历服务器配置中存在接收到的账号和密码,则根据日程服务器配置信息创建账户profile库;
156.若应用程序的后台服务器的服务器配置信息中不存在接收到的账号和密码,则接收通过用户终端输入的日历服务器配置信息;
157.根据日历服务器配置信息创建账户profile库之后,还包括:
158.登录日历服务器;
159.判断是否登录成功;
160.若登录成功,则存储登录信息;其中,登录信息可以包括,但不限于包括账户信息,账户信息不限于包括日历账户的账号和密码;登录信息还可以包括登录时间;
161.若登录不成功,则显示登录错误信息;其中,在一些实施例中,登录错误信息可以是:“无法连接服务器,请检查配置”。
162.存储登录信息之后,显示账户配置结果。
163.本技术实施例提供的应用程序的多日历账户同步方法,通过获取所有日历账户的全部日历本、获取每个日历本对应的日历协议信息,并根据日历协议信息向日历服务器发送日程同步请求,从而接收日历服务器根据日程同步请求返回的日程信息,以更新显示日程信息,可以实现在应用程序中集成内置日历账户的日历本和添加的其他日历账户的日历本,方便用户在应用程序中同步或操作多个日历账户的日历本。
164.本技术实施例还提供了一种应用程序的多日历账户处理方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是对多日历账户处理的日历应用等,但并不局限于以上形式。
165.结合图1,本技术实施例提供的应用程序的多日历账户处理方法的一个应用场景中,该多日历账户处理方法应用于安装有应用程序的用户终端,其中,用户终端可以是,但不限于是平板电脑、智能手机等,用户终端用于与应用程序的后台服务器通信连接,应用程序的后台服务器用于对用户终端运行的应用程序进行管理,例如对应用程序的更新等;用户终端还用于与日历服务器通信连接,以进行日程数据传输,例如从日历服务器获取日程信息,即将用户终端对日程信息的创建、删除、更新等操作产生的日程信息同步至日历服务器等。其中,日历服务器是对应于相应日历协议的服务器,例如可以是对应于exchange activesync日历协议服务器或是对应于caldav日历协议的服务器。
166.图13是本技术实施例提供的应用程序的多日历账户处理方法的一个可选的流程
图,图13中的方法包括步骤1301至步骤1306。
167.1301、获取被选取的日历本。在一些实施例中,用户可以通过客户终端选取需要操作的日历本。
168.1302、获取被选取的日历本所在日历账户的日历协议信息。具体地,在获取到用户所选取的日历本后,可以获取到被用户选取的日历本所在日历账户,从而可以获取到对应日历账户的日历协议信息;其中,日历协议信息可以包括,但不限于包括协议类型;进一步地,日历协议信息还可以包括协议数据字段。
169.1303、接收日程操作指令。在一些实施例中,用户可以通过客户终端触发日程操作指令;其中,日程操作指令为添加日程指令、删除日程指令、更新日程指令、存储日程指令任一种。进一步地,添加日程指令是指用于添加日程的指令,删除日程指令是指用于删除日程的指令,更新日程指令是指用于更新日程的指令,存储日程指令是指用于存储日程的指令。
170.1304、根据日历协议信息和日程操作指令向日历服务器发送日程请求。
171.1305、接收日历服务器返回的日程信息。其中,日历服务器用于接收到日程请求后可以根据接收到的日程请求返回对应的日程信息。在一些实施例中,分别对应于添加日程指令、删除日程指令、更新日程指令、存储日程指令,日程信息至少可以包括日程添加结果、日程删除结果、日程更新结果、日程存储结果。
172.1306、更新显示日程信息。其中,根据接收到的日历服务器返回的日程信息对当前的日程信息进行更新显示。
173.在一些实施例中,步骤1035之后,多日历账户处理方法还包括:
174.将日程信息进行数据格式转换;
175.将转换后的日程信息存储至相应的日历账户的对应日历本。
176.其中,将日程信息进行数据格式转换是指将日程信息转换为用户终端的显示界面上通用日程字段的日程结构模板的格式,以转换为用户终端通用的日程结构模板,从而在创建日程时,用户界面层上默认显示的日程结构模板是通用日程字段的模板,并且,可以将转换后的日程信息存储至相应的日历账户中,以便于通过用户终端显示。
177.在一些实施例中,日程操作指令为添加日程指令,则步骤1304包括:
178.根据日历协议信息将添加日程指令进行数据格式转换;
179.根据数据格式转换后的添加日程指令生成日程请求;
180.根据日历协议信息向日历服务器发送日程请求。
181.在步骤1304中,向日历服务器发送日程请求之前,需先根据日历协议信息将添加日程指令进行数据格式转换,从而生成的日程指令可以与协议类型相匹配,以便相应的日历服务器可以识别出日程指令,并根据识别的日程指令返回相应的日程信息。
182.在一些实施例中,步骤1033之后,多日历账户处理方法还包括:
183.默认显示通用日程字段的日程结构模板;
184.或根据被选择的日历本所属日历账户的协议类型,显示所属协议类型对应的日程字段的日程结构模板。在实际应中,首先创建通用日程字段的日程结构模板,从而默认显示通用日程字段的日程结构模板,以便于对日程信息进行统一的、通用化的显示;此外,在选择日历本后,还可以通过根据被选择的日历本所属日历账户的协议类型,显示所属协议类型对应的日程字段的日程结构模板,以便于动态调整显示界面,从而显示协议类型所特有
的日程字段。
185.在一些实施例中,日程操作指令为添加日程指令,则步骤1305包括:
186.接收日历服务器返回的日程添加结果;
187.若日程添加结果为成功,存储相应日历账户的对应日历本的新添加日程信息。
188.在一些实施例中,添加日程指令至少包括:日程信息、触发请求;进一步地,日程信息可以包括,但不限于包括日程列表、日程名称、日程描述、日程时长、日程开始的时间、日程所属日历本、日程提醒周期、参与人等等;触发请求由用户通过触发用户终端产生,从而向日历服务器发送请求。若日历服务器返回的日程添加结果为成功,则存储相应日历账户的对应日历本的新添加的日程信息。
189.在一些实施例中,日程操作指令为添加日程指令,则步骤1306包括:
190.若日程信息与参与人所关联的所有日程信息均无冲突,则将日程信息更新显示至参与人的应用程序;其中,参与人为添加日程信息时所关联的日历账户,也是应用程序的通讯录中的联系人。在本技术实施例中,用户可以依据需要或喜好,在添加日程信息时,从应用程序的通讯录中选择相应的参与人作为添加日程信息时所关联的日历账户,以将新添加的日程信息共享给参与人。在实际应用中,日历服务器接收到日程请求后,会根据参与人当前所关联的所有日程信息,判断新添加的日程信息与当前的所有日程信息是否冲突,若均无冲突,则日历服务器会把新添加的日程信息发送至参与人的应用程序,从而可以更新显示至参与人的应用程序;其中,判断新添加的日程信息与当前的所有日程信息是否冲突,是指时间上的冲突,例如在两个相同的时间段内,同一个参与人不能同时参与两个日程事件,此时就会产生冲突。
191.本技术实施例提供的应用程序的多日历账户处理方法,通过获取被选取的日历本所在日历账户的协议信息、接收操作指令、根据日历协议信息和操作指令向日历服务器发送日程请求、接收日历服务器根据日程请求返回的日程信息,从而根据日程信息更新显示日程信息,因此,可以实现对应用程序内置日历账户和添加的其他日历账户的同步操作、删除操作和更新操作等,方便对多个日历账户的日程信息进行处理。由于各个日历账户之间都是相互独立的,每个日历账户在物理和逻辑上隔离,因此,即使其中一个日历本出现异常(例如同步失败),也不会影响其他日历本;且日程信息存储在对应日历账户的独立数据空间,因此,对其中一个日程信息进行操作(例如同步操作、删除操作、更新操作等),也不会影响其他的日程信息。
192.本技术实施例还提供了一种应用程序的多日历账户同步装置,可以实现上述应用程序的多日历账户同步方法的实施例,该装置包括:
193.日历本获取模块,获取所有日历账户的全部日历本,其中所述日历账户为已添加日历账户或应用程序内置日历账户至少之一;
194.协议信息获取模块,用于获取每个日历本对应的日历协议信息;
195.日程同步请求模块,用于根据日历协议信息向日历服务器发送日程同步请求;
196.日程接收模块,用于接收日历服务器返回的日程信息;
197.日程信息更新模块,用于更新显示日程信息。
198.本技术实施例还提供了一种应用程序的多日历账户处理装置,可以实现上述应用程序的多日历账户处理方法的实施例,该装置包括:
199.日历本获取模块,用于获取被选取的日历本;
200.协议获取模块,用于获取所述被选取的日历本所在日历账户的协议信息;
201.指令接收模块,用于接收日程操作指令,其中所述日程操作指令为添加日程指令、删除日程指令、更新日程指令任一种;
202.日程请求模块,用于根据所述协议信息和所述日程操作指令向日历服务器发送日程请求;
203.日程信息接收模块,用于接收所述日历服务器返回的日程信息;
204.日程更新模块,用于更新显示所述日程信息。
205.本技术实施例还提供了一种电子设备,包括:
206.至少一个存储器;
207.至少一个处理器;
208.至少一个程序;
209.所述程序被存储在所述存储器中,所述处理器执行所述至少一个所述程序以实现本技术上述应用程序的多日历账户同步方法,或上述应用程序的多日历账户处理方法。该电子设备可以为包括手机、平板电脑、个人数字助理(personal digital assistant,简称pda)、销售终端(point of sales,简称pos)、车载电脑等任意智能终端。
210.本技术实施例还提供了一种计算机可读存储介质,所述计算机可执行指令用于执行本技术上述的应用程序的多日历账户同步方法,或上述应用程序的多日历账户处理方法。
211.本技术所提供的技术方案,通过获取所有日历账户的全部日历本、获取每个日历本对应的日历协议信息,并根据日历协议信息向日历服务器发送日程同步请求,从而接收日历服务器根据日程同步请求返回的日程信息,以更新显示日程信息,因此,可以实现在应用程序中集成内置日历账户的日历本和添加的其他日历账户的日历本,方便用户在应用程序中同步或操作多个日历账户的日历本。
212.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置,或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
213.以上是对本技术的较佳实施进行了具体说明,但本技术并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1