一种数据上传方法及***
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据上传方法及***。
背景技术
随着信息技术的越来越完善,互联网上的计算机应用程序也越来越普及,用户对应用程序的体验要求也越来越高。应用程序作为软件,其与硬件的兼容以及与***的兼容一直都是被关注的问题,同时为了及时对应用程序进行改进和升级,用户使用数据的获取成为了不可缺少的环节。
目前客户端应用程序数据上传的方式一般是通过与服务器端建立数据传输通道,并将需要传输的数据通过传输通道传递给服务器端,传输过程缓慢,传输数据量冗长。
发明内容
有鉴于此,本发明提出了一种传输效率更高的数据上传方法及***。
本发明的技术方案是这样实现的:本发明提供了一种数据上传方法,步骤包括:
客户端对软件的运行状态进行监听,记录软件生成的缓存文件;
每记录一次缓存文件,判断当前缓存文件的特征值是否与预设的缓存文件特征值相匹配,若是则继续进行监听,记录缓存文件;
若否,则将缓存文件上传至服务器。
在以上技术方案的基础上,优选的,客户端在将缓存文件上传至服务器之前,还包括:
判断同时在上传相同缓存文件的其他上传任务是否已经上传完毕;
若是,则向客户端发送所述缓存文件上传完毕的消息;
若否,则继续将缓存文件上传至服务器。
在以上技术方案的基础上,优选的,所述客户端在发送数据上传请求之前,还包括:
向服务器发送缓存文件的特征值,服务器根据缓存文件的特征值对比判断是否存在其他上传任务上传过具有相同特征值的缓存文件,若是,服务器先对具有该特征值的缓存文件进行遍历,同时服务器向客户端发送遍历结果信息;
若否,服务器向客户端发送执行上传信息,客户端继续上传缓存文件。
在以上技术方案的基础上,优选的,所述遍历结果信息包含缓存文件已上传部分的数据偏移信息以及上传执行信息。
更进一步优选的,还包括,在记录软件生成的缓存文件的同时,获取所述软件运行过程中各个参数的数据;
当所述参数的数据不在其对应的标准数据误差范围内时,获取所述参数的数据,作为缓存文件上传至服务器。
一种数据上传***,包括:
运行监听模块、文件判断模块、任务判断模块和文件传输模块,
所述运行监听模块用于对客户端的软件运行状态进行监听,包括对软件产生的缓存文件和软件的运行参数进行监听;
所述文件判断模块用于判断软件产生的缓存文件以及软件运行的各项参数是否正常;
所述任务判断模块用于判断客户端与服务器之间传输的数据是否存在重复上传,并生成判断信息给文件传输模块;
所述文件传输模块用于在客户端和服务器之间进行文件传输。
在以上技术方案的基础上,优选的,所述运行监听模块包括数据抓取单元和数据模拟单元,所述数据抓取单元用于抓取软件运行过程中产生的文件以及获取各项参数,所述数据模拟单元用于提供预设缓存文件以及软件正常运行产生的各项参数。
在以上技术方案的基础上,优选的,所述文件判断模块包括判断单元、确定单元和输出单元,所述判断单元用于将抓取的文件和参数与模拟的文件和参数进行对比,确定单元根据判断单元的对比结果输出一个判断结果,输出单元将判断结果发送至任务判断模块。
在以上技术方案的基础上,优选的,所述任务判断模块包括特征值计算单元,特征值对比单元和传递单元,所述特征值计算单元用于计算客户端和服务器上的缓存文件的特征值,特征值对比单元用于对比客户端和服务器上的缓存文件的特征值,并将对比结果发送至传递单元,所述传递单元根据对比结果和来自输出单元的判断结果进行总结是否需要传输客户端的缓存文件和参数,并将总结结果发送至传输模块。
在以上技术方案的基础上,优选的,所述文件传输模块包括上传单元、下载单元和命令接收单元,所述命令接收单元接收来自任务判断模块的总结结果,并根据总结结果执行上传和下载,所述上传单元用于将客户端数据上传至服务器,所述下载单元用于将服务器的数据下载至客户端。
本发明的一种数据上传方法及***相对于现有技术具有以下有益效果:
本发明的数据上传方法及***能够让数据上传更加及时,同时能够有效避免数据重复上传,即使是数据在同一时间上传也可以避免重复再次上传,且本发明数据上传方法还能够让未一次传输完成的数据在下一次可以继续进行传输,避免数据没有一次性上传完成导致的重复上传情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据上传方法的流程图;
图2为本发明数据上传方法的流程图;
图3为本发明数据上传***的结构框图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,结合图2,本发明的数据上传方法,其具体步骤包括:
客户端对软件的运行状态进行监听,记录软件生成的缓存文件;
每记录一次缓存文件,判断当前缓存文件的特征值是否与预设的缓存文件特征值相匹配,若是则继续进行监听,记录缓存文件;
若否,则将缓存文件上传至服务器。
在具体实施方式中,客户端在将缓存文件上传至服务器之前,还包括:
判断同时在上传相同缓存文件的其他上传任务是否已经上传完毕;
若是,则向客户端发送所述缓存文件上传完毕的消息;
若否,则继续将缓存文件上传至服务器。
在具体实施方式中,客户端在发送数据上传请求之前,还包括:
向服务器发送缓存文件的特征值,服务器根据缓存文件的特征值对比判断是否存在其他上传任务上传过具有相同特征值的缓存文件,若是,服务器先对具有该特征值的缓存文件进行遍历,同时服务器向客户端发送遍历结果信息;
若否,服务器向客户端发送执行上传信息,客户端继续上传缓存文件。
在具体实施方式中,遍历结果信息包含缓存文件已上传部分的数据偏移信息以及上传执行信息。
在具体实施方式中,还包括,在记录软件生成的缓存文件的同时,获取所述软件运行过程中各个参数的数据;
当所述参数的数据不在其对应的标准数据误差范围内时,获取所述参数的数据,作为缓存文件上传至服务器。
如图3所示,一种数据上传***,包括:
运行监听模块、文件判断模块、任务判断模块和文件传输模块;
所述运行监听模块用于对客户端的软件运行状态进行监听,包括对软件产生的缓存文件和软件的运行参数进行监听;
所述文件判断模块用于判断软件产生的缓存文件以及软件运行的各项参数是否正常;
所述任务判断模块用于判断客户端与服务器之间传输的数据是否存在重复上传,并生成判断信息给文件传输模块;
所述文件传输模块用于在客户端和服务器之间进行文件传输。
在具体实施方式中,所述运行监听模块包括数据抓取单元和数据模拟单元,所述数据抓取单元用于抓取软件运行过程中产生的文件以及获取各项参数,所述数据模拟单元用于提供预设缓存文件以及软件正常运行产生的各项参数。
在具体实施方式中,所述文件判断模块包括确定判断、确定单元和输出单元,所述判断单元用于将抓取的文件和参数与模拟的文件和参数进行对比,确定单元根据判断单元的对比结果输出一个判断结果,输出单元将判断结果发送至任务判断模块。
在具体实施方式中,所述任务判断模块包括特征值计算单元,特征值对比单元和传递单元,所述特征值计算单元用于计算客户端和服务器上的缓存文件的特征值,特征值对比单元用于对比客户端和服务器上的缓存文件的特征值,并将对比结果发送至传递单元,所述传递单元根据对比结果和来自输出单元的判断结果进行总结是否需要传输客户端的缓存文件和参数,并将总结结果发送至传输模块。
在具体实施方式中,所述文件传输模块包括上传单元、下载单元和命令接收模块,所述命令接收模块接收来自任务判断模块的总结结果,并根据总结结果执行上传和下载,所述上传单元用于将客户端数据上传至服务器,所述下载单元用于将服务器的数据下载至客户端。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。