一种高考志愿表同步方法和服务器与流程

文档序号:12494566阅读:295来源:国知局
一种高考志愿表同步方法和服务器与流程

本发明涉及数据同步方法领域,更具体的,涉及一种高考志愿表同步方法和服务器。



背景技术:

随着智能手机的普及和移动互联网的兴起,家长和考生对高考志愿填报系统的移动化需求越发强烈,而志愿表作为高考填报系统的一个重要的组成部分,志愿表实现多终端化的需求也越发强烈,在进行志愿表多平台多终端同步时,就不免遇到如何进行多平台多终端同步志愿表的问题。在现有的绝大部分高考志愿填报系统中,志愿表多平台多终端同步的方法中就只有两种情况:第一种是手机端不实现同步功能,手机端只提供查看志愿表功能,填写志愿表功能只能在电脑版本中实现;第二种是提供同步功能,但是所提供的多平台多终端同步实现方案为单字段同步法,即每张志愿表中的每个字段都在数据库中对应一个列的字段,进行同步时把有修改的字段的最新值同步到服务器中,服务在进行修改相应数据表的列,以达到数据同步的功能。在单字段同步法中,该方法有2个明显不足:第一,程序的实现逻辑太过复杂,而容易出现问题,比如要对每个修改的字段的修改时间都要进行判断以保证那个为最新值;第二,该方法缺乏灵活性和通用性,高考志愿填报正常每年都会改变,该方法无法满足政策的变动来以适配,同时每个省份的志愿表的填写形式和政策都不一样,该情况下单字段同步法很难做到所有省份志愿表的兼容。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。

为此,本发明的目的在于,提供一种高考志愿表同步方法和服务器,通过定义模板配置来实现各省份志愿表格式不一致的问题,实现了灵活性;通过整个志愿表统一打包的方式使得程序实现的简单、通用性强;通过有效的时间差控制和客户端实现逻辑来达到多终端实时同步。和现有技术相比,能够满足用户多平台多终端同步的需求,也比常规的单字段法提供了一种程序现实简单、灵活性好、通用性强的高考志愿表多平台多终端的云同步方案。

为实现上述目的,本发明提供一种高考志愿表同步方法,包括:

步骤1,服务器接收客户端的获取志愿表的请求,读取数据库中对应的志愿表信息;

步骤2,发送读取的志愿表信息和当前服务器的时间t1至客户端;

步骤3,客户端接收志愿表信息和当前服务器的时间t1,修改志愿表信息,记录当前客户端的时间t2,并发送修改后的志愿表信息数据包和修改时间差t4至服务器,所述t4=t3-t2,所述t3为客户端修改志愿表的时间;

步骤4,服务器接收修改的志愿表信息,修改时间差t4和上次服务器时间t1之和是否大于当前服务器时间,若大于则不处理该次请求,若小于则继续执行;判断接收的修改的时间是否大于数据库中的最近一次修改时间;若大于数据库中的最近一次修改时间,则把修改的志愿表信息更新至数据库中,若小于数据库中的最近一次修改时间,则不更新数据库;

步骤5,服务器返回保存的状态信息和服务器当前时间t1至客户端。

优选的,在服务器的数据库中建立省份志愿表模板配置表和表存储结构。

优选的,所述表存储结构为用户id、省份、成绩、志愿表id、生成时间、最近一次修改时间、志愿表状态、志愿表详情中的一种或几种;所述用户id用于识别该志愿表的归属,所述省份用于识别该志愿表是基于那个省份而生成,所述最近一次修改时间表示用户的志愿表什么时间进行修改过,为服务器的时间,所属志愿表详情为志愿表填写的具体信息。

优选的,所述表存储结构保存为JSON(JavaScript Object Notation)的格式。

优选的,所述步骤3还包括,客户端根据预设的可视化界面显示读取的志愿表。

优选的,所述服务器接收修改的志愿表信息,判断接收的修改的时间是否大于数据库中的最近一次修改时间具体为:计算时间t5,所述t5=t1+t4,与数据库中的最近一次修改时间t6进行对比;若t5>t6,则把修改的志愿表信息更新至数据库中,若t5<t6,则不更新数据库。

优选的,所述修改后的志愿表信息数据包为json结构的字符串str。

优选的,当服务器发送保存失败状态信息至客户端后,客户端尝试重试请求3次,若重试3次还是失败时,客户端则把修改后的志愿表信息保存到客户端本地,当客户端下次被打开时,则再次请求保存,直至服务器返回保存成功状态信息为止。

本发明另一方面还提供一种高考志愿表同步服务器,包括:

接收模块,用于接收客户端的获取志愿表的请求,读取数据库中对应的志愿表信息,记录并保存当前服务器的时间t1和接收修改后的志愿表信息数据包和修改时间差t4,所述t4=t3-t2,所述t3为客户端修改志愿表的时间;

发送模块,用于发送读取的志愿表信息和当前服务器的时间t1至客户端和发送保存状态信息至客户端;

判断模块,用于根据接收修改的志愿表信息,判断接收的修改的时间是否大于数据库中的最近一次修改时间;若大于数据库中的最近一次修改时间,则把修改的志愿表信息更新至数据库中,若小于数据库中的最近一次修改时间,则不更新数据库。

优选的,还包括:数据库,用于存储省份志愿表模板配置表和表存储结构。

通过本发明的一种高考志愿表同步方法和服务器,定义模板配置来实现各省份志愿表格式不一致的问题,实现了灵活性;通过整个志愿表统一打包的方式使得程序实现的简单、通用性强;通过有效的时间差控制和客户端实现逻辑来达到多终端实时同步。和现有技术相比,能够满足用户多平台多终端同步的需求,也比常规的单字段法提供了一种程序现实简单、灵活性好、通用性强的高考志愿表多平台多终端的云同步方案。

附图说明

图1示出了本发明一种高考志愿表同步方法的流程图;

图2示出了本发明一实施例的各省志愿表配置数据表图;

图3示出了本发明一实施例的志愿表结构定义图;

图4示出了本发明一实施例的高考志愿同步方法的流程图;

图5实处了本发明一种高考志愿表同步服务器的结构框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了本发明一种高考志愿表同步方法的流程图。

如图1所示,根据本发明提供一种高考志愿表同步方法,包括:

步骤1,服务器接收客户端的获取志愿表的请求,读取数据库中对应的志愿表信息,记录并保存当前服务器的时间t1;

步骤2,发送读取的志愿表信息和当前服务器的时间t1至客户端;

步骤3,客户端接收志愿表信息和当前服务器的时间t1,修改志愿表信息,记录当前客户端的时间t2,并发送修改后的志愿表信息数据包和修改时间差t4至服务器,所述t4=t3-t2,所述t3为客户端修改志愿表的时间;

步骤4,服务器接收修改的志愿表信息,判断接收的修改的时间是否大于数据库中的最近一次修改时间;若大于数据库中的最近一次修改时间,则把修改的志愿表信息更新至数据库中,若小于数据库中的最近一次修改时间,则不更新数据库

步骤5,服务器返回保存状态信息至客户端。

其中,在服务器的数据库中建立省份志愿表模板配置表和表存储结构。

所述表存储结构为用户id、省份、成绩、志愿表id、生成时间、最近一次修改时间、志愿表状态、志愿表详情中的一种或几种;所述用户id用于识别该志愿表的归属,所述省份用于识别该志愿表是基于那个省份而生成,所述最近一次修改时间表示用户的志愿表什么时间进行修改过,为服务器的时间,所属志愿表详情为志愿表填写的具体信息。设计者可根据实际需要设置对应的表结构,并不仅仅限于上述的结构。

所述表存储结构保存为JSON(JavaScript Object Notation)的格式。也可以采用其他的格式,具体可以根据实际需要进行设置。

步骤3还包括,客户端根据预设的可视化界面显示读取的志愿表。采用何种显示方式是预设的,客户端在接收到服务器返回的志愿表信息则根据预设的显示方式进行显示。

具体的,所述服务器接收修改的志愿表信息,判断接收的修改的时间是否大于数据库中的最近一次修改时间具体为:计算时间t5,所述t5=t1+t4,与数据库中的最近一次修改时间t6进行对比;若t5>t6,则把修改的志愿表信息更新至数据库中,若t5<t6,则不更新数据库。

所述修改后的志愿表信息数据包为json结构的字符串str。也可以采用其他的格式,具体可以根据实际需要进行设置。

另外,本发明还对服务器无法正常保存志愿表信息进行了方案优化,具体如下:

当服务器发送保存失败状态信息至客户端后,客户端尝试重试请求3次,若重试3次还是失败时,客户端则把修改后的志愿表信息保存到客户端本地,当客户端下次被打开时,则再次请求保存,直至服务器返回保存成功状态信息为止。

图2示出了本发明一实施例的各省志愿表配置数据表图。图3示出了本发明一实施例的志愿表结构定义图。

如图2和3所示,每个省份的志愿表都分别有一个配置数据表结构。在数据库中根据现在不同省份的志愿表政策定制一个各省份志愿表模板的配置表;配置表的目的是让前端页面根据该配置动态生成志愿表填写界面,用以实现不同省份的兼容处理。

在数据库中定义一种表结构,表结构具体以下几个基础字段:用户id,省份,成绩,志愿表id,生成时间,最近一次修改时间,志愿表状态,志愿表详情;用户id用于识别该志愿表的归属;省份用于识别该志愿表是基于那个省份而生成,最近一次修改时间用户表示用户的志愿表什么时间进行修改过,此处为服务器时间,志愿表详情为该志愿表填写的具体信息,其保存为json格式的字符串形式。

图4示出了本发明一实施例的高考志愿同步方法的流程图。

如图4所示,是对上述方法的一解释实施例。客户端启动后,先判断是否同步失败重试,当判断为否时,进行拉取最新志愿表的操作,当判断为是时,则继续上一次同步,在对是否同步成功进行判断,当判断为是时,则拉取最近志愿表,判断为否时,则保持原状。

用户进入到拉取最新志愿表阶段后,进行拉取状态的判断,当拉取失败后,则提示拉取失败;拉取成功时,则对最新志愿表进行展示。紧接着,对是否修改志愿表进行判断,不需要修改时,则完成流程操作;需要修改时,则保存修改后的志愿表,服务端接受同步请求。判断请求为有效时,保存志愿表数据到数据库中,然后返回保存成功状态;若保存不成功,则进行重试,重试后还未成功,则标识下次执行保存操作。

图5实处了本发明一种高考志愿表同步服务器的结构框图。

如图5,根据本发明提供的一种高考志愿表同步服务器,包括:

接收模块,用于接收客户端的获取志愿表的请求,读取数据库中对应的志愿表信息,记录并保存当前服务器的时间t1和接收修改后的志愿表信息数据包和修改时间差t4,所述t4=t3-t2,所述t3为客户端修改志愿表的时间;

发送模块,用于发送读取的志愿表信息和当前服务器的时间t1至客户端和发送保存状态信息至客户端;

判断模块,用于根据接收修改的志愿表信息,判断接收的修改的时间是否大于数据库中的最近一次修改时间;若大于数据库中的最近一次修改时间,则把修改的志愿表信息更新至数据库中,若小于数据库中的最近一次修改时间,则不更新数据库。

具体的,还包括:数据库,用于存储省份志愿表模板配置表和表存储结构。

其中,服务器中的每个模块根据各自的功能与对应的模块进行数据交互和连接,这是本领域技术人员能毫无疑义的得出的,本发明不再一一赘述。

在本说明书的描述中,术语“安装”、“相连”、“连接”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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