一种数据上传方法及系统技术方案

技术编号:18292107 阅读:27 留言:0更新日期:2018-06-24 07:58
本发明专利技术提供一种数据上传方法及系统,所述的方法包括:接收业务程序从本地数据库中添加的数据,将所述数据上传到服务器;当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。通过本发明专利技术,对上传失败的数据,采取一定的重传策略进行重传,使得需要上传的数据不会丢失,由于网络故障、服务端故障等原因导致暂时不能上传数据,在故障恢复后能无误地上传,确保每一条数据最终都能上传到服务器。

【技术实现步骤摘要】
一种数据上传方法及系统
本专利技术涉及数据上传
,更具体地,涉及一种数据上传方法及系统。
技术介绍
随着IT技术的发展,公司、园区等配备的考勤、门禁等系统也越来越复杂,承载业务需要使用智能终端与服务器联网来完成。终端部署在门岗等位置,采集到考勤等信息,再上传到服务端处理。由于公司的考勤数据对于每一位员工非常重要,因此终端采集的考勤这类信息必须确保不可漏传,另外上传还需要一定的实时性。由于考勤数据量非常大,在实际上传的过程中,由于网络故障,多个终端同时上传数据给服务器可能会导致上传失败,从而导致数据漏传。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种数据上传方法及系统。根据本专利技术的第一方面,提供一种数据上传方法,包括:接收业务程序从本地数据库中添加的数据,将所述数据上传到服务器;当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。在上述技术方案的基础上,本专利技术还可以作如下改进。进一步的,当上传数据成功时,回调业务程序,使得业务程序对数据库中的该条数据标记已上传标签,以及使得业务程序根据本地数据库中每条数据的标签,将未上传成功的数据添加到上传模块;上传模块将业务程序添加的数据存储于数据列表中。进一步的,设置所述数据列表的最大数据条数,当所述数据列表中的数据条数达到设置的所述最大数据条数,拒绝所述业务程序添加的数据,直到所述数据列表为空;其中,当所述数据列表中的一条数据上传成功后,将该条数据从数据列表中移除。进一步的,还包括:当所述数据列表为空,则回调业务程序,使业务程序向上传模块中添加数据。进一步的,所述当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传具体包括:当数据上传失败时,连续重传第一预设次数;若连续重传第一预设次数依然失败,则按照预设时间间隔进行重传,直到上传成功。根据本专利技术的第二方面,提供了一种数据上传方法,包括:将本地数据库中需要上传的数据添加到上传模块,以使所述上传模块将所述数据上传至服务器,其中,当所述上传模块上传数据失败时,采取设定的重传策略对上传失败的数据进行重传。进一步的,还包括:当上传模块上传数据成功时,在本地数据库中将该条数据标记为已上传标签;相应的,所述将本地数据库中需要上传的数据添加到上传模块具体包括:根据本地数据库中每条数据的标签,将本地数据库中未成功上传的数据添加到上传模块,其中,每条数据的标签表征该条数据上传服务器是否成功。进一步的,还包括:当有数据需要上传时,业务程序采取主动的方式将本地数据库中需要上传的数据添加到上传模块中;以及,当接收到上传模块的回调消息时,采用被动的方式向上传模块中添加数据。根据本专利技术的第三方面,提供了一种数据上传系统,包括:接收单元,用于接收业务程序从本地数据库中添加的数据,将所述数据上传到服务器;重传单元,用于当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。根据本专利技术的第四方面,提供了一种数据上传系统,包括:添加单元,用于将本地数据库中需要上传的数据添加到上传模块,以使所述上传模块采用线程的方式将所述数据上传至服务器,其中,当所述上传模块上传数据失败时,采取设定的重传策略对上传失败的数据进行重传。附图说明图1为本专利技术一个实施例的数据上传方法流程图;图2为本专利技术一个实施例的数据上传系统连接框图;图3为本专利技术另一个实施例的数据上传系统连接框图;图4为本专利技术又一个实施例的数据上传系统连接框图;图5为本专利技术一个实施例的电子设备连接框图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。参见图1,提供了本专利技术一个实施例的数据上传方法,能够保证所有的数据都成功上传至服务器。该方法包括:接收业务程序从本地数据库中添加的数据,将所述数据上传到服务器;当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。在本实施例中,设计一上传模块对数据进行上传,首先,在本地,将业务数据都存储于本地数据库中,当本地数据库中有数据需要上传至服务器时,业务程序会将这些需要上传的数据先添加到上传模块中,再由上传模块将这些数据上传至服务器。其中,上传模块开启一线程,采用线程在执行数据上传的任务。通常情况下,由于需要上传的数据量很大,或者因为网络状态不好,都有可能导致数据上传失败,因此,本实施例中,当数据上传失败时,上传模块采取设定的重传策略对上传失败的数据进行重传,保证每一条数据都能成功上传至服务器。在上述实施例的基础上,本专利技术的一个实施例中,还包括:当上传数据成功时,回调业务程序,使得业务程序对数据库中的该条数据标记已上传标签,以及使得业务程序根据本地数据库中每条数据的标签,将未上传成功的数据添加到上传模块;上传模块将业务程序添加的数据存储于数据列表中。当上传模块上传数据成功时,回调业务程序,此时业务程序对本地数据库中该条数据标记为已上传标签,具体的,当数据上传成功时,业务程序可以在本地数据库中的该条数据后面添加一个字段,表明该数据已经成功上传至服务器。对于本地数据库中未上传成功的数据,可以标记未上传标签,也可以不作任何标记,没有做任何标记的数据默认为未上传成功。业务程序在向上传模块中添加需要上传的数据时,根据本地数据库中每一条数据的标签,将未上传的数据都添加到上传模块中。上传模块接收到这些数据后,将这些数据存储到数据列表中。在上述各实施例的基础上,本专利技术的一个实施例中,还包括:设置所述数据列表的最大数据条数,当所述数据列表中的数据条数达到设置的所述最大数据条数,拒绝所述业务程序添加的数据,直到所述数据列表为空;其中,当所述数据列表中的一条数据上传成功后,将该条数据从数据列表中移除。业务数据向上传模块中添加数据,也会存在失败的情况,这是由于添加到上传模块中的数据存储于数据列表中,随着数据列表中数据量的增长可能导致内存溢出。因此,在本实施例中,对数据列表中的最大数据条数进行设置,当数据列表中的当前数据条数达到设置的最大数据条数时,即使业务程序再向上传模块中添加数据,上传模块也拒绝接收,业务程序接收到上传模块拒绝接收数据时,不再进行数据的添加了。数据列表中的一条数据成功上传到服务器时,上传模块就将该条数据从数据列表中移除,当数据列表中的所有数据都成功上传至服务器后,上传模块会回调业务程序,通知业务程序可以向上传模块中添加需要上传的数据了。此处,需要说明的是,由于业务程序在向上传模块中添加数据时,是根据本地数据库中每一条数据的是否已上传的标签为依据的,也就是说,业务程序不管数据向上传模块是否添加成功,只关注数据上传至服务器是否成功,如果数据未成功上传只服务器,就会向上传模块中添加。为了避免已经添加到上传模块中的数据还没有成功上传到服务器,业务成功再次将这些数据添加到上传模块,造成重复添加,因此,等到上传模块的数据列表中的所有的数据均成功上传到服务器,数据列表为空时,才允许业务程序再次向上传模块中添加数据。在上述各实施例的基础上,本专利技术的一个实施例中,所述当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传具体包括:当数据上传失败时,连续重传第一预设次数;若连续重传第一预设次数依然失败,则按照预设时间间隔进行重传,直到上传成本文档来自技高网...
一种数据上传方法及系统

【技术保护点】
1.一种数据上传方法,其特征在于,包括:上传模块接收业务程序从本地数据库中向其添加的数据,并将所述数据上传到服务器;当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。

【技术特征摘要】
1.一种数据上传方法,其特征在于,包括:上传模块接收业务程序从本地数据库中向其添加的数据,并将所述数据上传到服务器;当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传。2.如权利要求1所述的数据上传方法,其特征在于,还包括:当上传数据成功时,回调业务程序,使得业务程序将数据库中的该条数据标记为已成功上传的标签,以及使得业务程序根据本地数据库中每条数据的标签,将未成功上传的数据添加到上传模块;上传模块将业务程序添加的数据存储于数据列表中。3.如权利要求2所述的数据上传方法,其特征在于,还包括:设置所述数据列表的最大数据条数,当所述数据列表中的数据条数达到设置的所述最大数据条数,拒绝所述业务程序添加的数据,直到所述数据列表为空;其中,当所述数据列表中的一条数据上传成功后,将该条数据从数据列表中移除。4.如权利要求3所述的数据上传方法,其特征在于,还包括:当所述数据列表为空,则回调业务程序,使业务程序向上传模块中添加未成功上传的数据。5.如权利要求1所述的数据上传方法,其特征在于,所述当数据上传失败时,采取设定的重传策略对上传失败的数据进行重传具体包括:当数据上传失败时,连续重传第一预设次数;若连续重传第一预设次数依然失败,则按照预设时间间隔进行重传,直到上传成功。6.一种数据上传方法,其特征在于,包括:通过...

【专利技术属性】
技术研发人员:彭骏谭尧张立曹震吉纲张艳红
申请(专利权)人:武汉普利商用机器有限公司精伦电子股份有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1