本发明涉及文件传输技术领域,特别涉及一种基于车载设备的文件上传方法、车载设备、服务器及系统。
背景技术:
目前,车载设备已经广泛用于车联网系统中,车联网系统中的文件上传等运用尤为普遍,例如,用户向电子邮件中上传附件,向相册上传照片,或者向网盘上传资料等,但同时存在着文件上传过程中数据丢失以及数据上传不稳定等问题。
技术实现要素:
本发明的目的是提出一种基于车载设备的文件上传方法、车载设备、服务器及系统,能有效实现文件上传,提高传输效率以及传输的准确率,提高数据传输过程中车联网系统的稳定性和可靠性。
为达到上述目的,本发明提出了一种基于车载设备的文件上传方法,包括以下步骤:
车载设备选择待上传文件,计算该待上传文件的Md5校验值;
所述车载设备将所述待上传文件分割成一组不重叠的数据块,将数据块信息进行打包成数据包,并将所述数据包及该待上传文件的Md5校验值上传至服务器;
所述服务器将接收到的数据包解析得到数据块信息,并根据数据块信息将数据块合并成一整体文件,判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致,若是,则表示上传文件成功;若否,则表示上传文件失败。
进一步,在上述的基于车载设备的文件上传方法中,所述车载设备选择待上传文件的步骤之前还包括:
所述服务器根据所述车载设备ID进行鉴权,并在鉴权失败的情况下断开与 所述车载设备的连接。
进一步,在上述的基于车载设备的文件上传方法中,所述服务器根据所述车载设备ID进行鉴权,并在鉴权失败的情况下断开与所述车载设备的连接的步骤具体包括:
所述车载设备将车载设备ID发送给所述服务器;
所述服务器判断接收到的车载设备ID是否已记录于其数据库中,若是,则表示鉴权成功;若否,则表示鉴权失败,所述服务器断开与所述车载设备的连接。
进一步,在上述的基于车载设备的文件上传方法中,所述数据块信息包括车载设备ID、数据块、数据块编号、数据块数据类型、数据块业务分类及通信协议。
进一步,在上述的基于车载设备的文件上传方法中,所述车载设备将所述待上传文件分割成一组不重叠的数据块,将数据块信息进行打包成数据包,并将所述数据包及该待上传文件的Md5校验值上传至服务器的步骤具体包括:
所述车载设备计算所述待上传文件的大小;
所述车载设备根据所述待上传文件的大小将所述待上传文件分割成预设块数的数据块,计算分割后每一数据块的大小,并对每一数据块进行编号;
所述车载设备将数据块信息进行打包成数据包,再将所述数据包及该待上传文件的Md5校验值上传至服务器上传给服务器。
进一步,在上述的基于车载设备的文件上传方法中,所述服务器将接收到的数据包解析得到数据块信息,并根据数据块信息将数据块合并成一整体文件的步骤具体包括:
所述服务器对接收到的数据包进行解析得到每一数据块信息;
所述服务器根据数据块数据类型、数据块业务分类将该数据块放置于服务器对应的区域中;
所述服务器根据数据块编号将该组数据块进行合并成一整体文件。
进一步,在上述的基于车载设备的文件上传方法中,所述方法还包括:
在判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值不一致的情况下,所述服务器通知车载设备重新上传文件。
另,本发明还提供一种车载设备,所述车载设备包括:
选择计算模块,用于选择待上传文件并计算该待上传文件的Md5校验值;
切割模块,用于将所述待上传文件分割成一组不重叠的数据块;
打包模块,用于将数据块信息进行打包成数据包;
上传模块,用于将所述数据包及该待上传文件的Md5校验值上传至服务器。
另,本发明还提供一种服务器,所述服务器包括:
接收模块,用于接收所述数据包及该待上传文件的Md5校验值;
解析模块,用于将接收到的数据包解析得到该一组数据块信息,所述数据块信息包括车载设备ID、数据块、数据块编号、数据块数据类型、数据块业务分类及通信协议;
合并模块,用于根据数据块信息将数据块合并成一整体文件;
计算模块,用于计算所述整体文件的Md5校验值;
判断模块,用于判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致。
另,本发明还提供一种文件上传的系统,其特征在于,所述系统包括:上述的车载设备及上述的服务器。
本发明基于车载设备的文件上传方法、车载设备、服务器及系统有效实现了文件上传,提高了传输效率以及传输的准确率,提高了数据传输过程中车联网系统的稳定性和可靠性。
附图说明
图1为本发明基于车载设备的文件上传方法的具体流程示意图;
图2为图1中步骤S2的具体流程示意图;
图3为图1中步骤S4的具体流程示意图;
图4为图1中步骤S5的具体流程示意图;
图5为本发明车载设备的结构示意图;
图6为本发明服务器的结构示意图;
图7为本发明文件上传的系统的结构示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。应当理解,此处所描述的具体实施实例仅仅用以解释本发明,并不用于限定本发明。
本发明基于车载设备的文件上传方法,包括以下步骤:车载设备选择待上传文件,计算该待上传文件的Md5(Message Digest Algorithm 5,消息摘要算法第五版)校验值;所述车载设备将所述待上传文件分割成一组不重叠的数据块,将数据块信息进行打包成数据包,并将所述数据包及该待上传文件的Md5校验值上传至服务器;所述服务器将接收到的数据包解析得到数据块信息,并根据数据块信息将数据块合并成一整体文件,判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致,若是,则表示上传文件成功;若否,则表示上传文件失败。
请参阅图1,图1为本发明基于车载设备的文件上传方法的具体流程示意图,以下通过具体的应用实施例对本发明方法作进一步详细说明。
本实施例的控制方法具体包括以下步骤:
步骤S1:车载设备上电并通过网络连接远端的服务器;
在具体实现时,车辆启动之后,车载设备上电并连接上网络,所述车载设备尝试通过网络连接远端服务器,如果连接不成功,则继续尝试连接远端服务器,直至成功网络连接远端服务器为止。
步骤S2:所述服务器根据所述车载设备ID进行鉴权,并在鉴权失败的情况下断开与所述车载设备的连接;
在具体实现时,请参阅图2,所述服务器在与车载设备进行数据传输之前需要鉴定车载设备的合法性,即该车载设备ID是否记录于所述服务器的数据库中,从而保证数据传输的安全性。所述步骤S2具体包括:
步骤S201:所述车载设备将车载设备ID发送给所述服务器;
步骤S202:所述服务器判断接收到的车载设备ID是否已记录于其数据库中,若是,则表示鉴权成功;若否,则表示鉴权失败,所述服务器断开与所述车载设备的连接。
具体地,所述服务器判断接收到的车载设备ID是否已记录于其数据库中的 步骤为:所述服务器将接收到的车载设备ID与其数据库中存储的车载设备ID进行比较,判断是否存在与接收到的车载设备ID相同的车载设备ID,若是,则表示该接收到的车载设备ID已记录于其数据库中。
步骤S3:所述车载设备选择待上传文件,计算该待上传文件的Md5校验值;
在具体实现时,通过比较两个文件的的Md5校验值是否一致,可以判断两个文件是否相同,在文件上传之前,因此,所述车载设备选择待上传的文件后,需要计算出该待上传文件的Md5校验值。
步骤S4:所述车载设备将所述待上传文件分割成一组不重叠的数据块,将每一数据块信息进行打包成数据包,并将所述数据包及该待上传文件的Md5校验值上传至服务器;
在具体实现时,为了降低一次数据传输的大小,降低网络带宽的要求,所述车载设备将所述待上传文件分割成一组不重叠的数据块,并对该每一数据块进行编号,将包括车载设备ID、数据块、数据块编号、数据块数据类型、数据块业务分类及通信协议的每一数据块信息进行打包成数据包,再将所述数据包及该待上传文件的Md5校验值上传至服务器上传给服务器,所述车载设备一直到数据块上传达到数据块编号的最大值为止,即将所述数据块信息均上传给服务器。
请参阅图3,所述步骤S4具体包括:
步骤S401:所述车载设备计算所述待上传文件的大小;
步骤S402:所述车载设备根据所述待上传文件的大小将所述待上传文件分割成预设块数的数据块,计算分割后每一数据块的大小,并对每一数据块进行编号;
步骤S403:所述车载设备将数据块信息进行打包成数据包,再将所述数据包及该待上传文件的Md5校验值上传至服务器上传给服务器,所述数据块信息包括车载设备ID、数据块、数据块编号、数据块数据类型、数据块业务分类及通信协议。
步骤S5:所述服务器将接收到的数据包解析得到数据块信息,并根据数据块信息将数据块合并成一整体文件;
在具体实现时,请参阅图4,所述步骤S5具体包括:
步骤S501:所述服务器对接收到的数据包进行解析得到每一数据块信息;
步骤S502:所述服务器根据数据块数据类型、数据块业务分类将该数据块放置于服务器对应的区域中;
步骤S503:所述服务器根据数据块编号将该组数据块进行合并成一整体文件。
即所述服务器根据数据块编号将该组数据块进行合并,若合并的数据块编号已达到设定的最大值,则数据块合并结束。
步骤S6:所述服务器计算所述整体文件的Md5校验值,判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致,若是,则表示上传文件成功;若否,则表示上传文件失败。
本步骤中,所述服务器通过比较所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致,从而判断合并得到的整体文件与待上传文件内容是否一致完整,从而得出上传文件是否成功。
所述步骤S6之后还包括:在判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值不一致的情况下,所述服务器通知车载设备重新上传文件。
另外,请参阅图5,本发明还提供了一种车载设备,用于执行上述文件上传方法中车载设备所执行的方法步骤,所述车载设备包括:
选择计算模块10,用于选择待上传文件并计算该待上传文件的Md5校验值;
切割模块20,用于将所述待上传文件分割成一组不重叠的数据块;
打包模块30,用于将数据块信息进行打包成数据包;
上传模块40,用于将所述数据包及该待上传文件的Md5校验值上传至服务器。
其中,所述车载设备还包括:
网络连接模块50,用于在车载设备上电后通过网络连接远端的服务器;以及
ID发送模块60,用于将车载设备ID发送给所述服务器。
另外,请参阅图6,本发明还提供了一种服务器,用于执行上述文件上传方法中服务器所执行的方法步骤,所述服务器包括:
接收模块100,用于接收所述数据包及该待上传文件的Md5校验值;
解析模块200,用于将接收到的数据包解析得到该一组数据块信息,所述数 据块信息包括车载设备ID、数据块、数据块编号、数据块数据类型、数据块业务分类及通信协议;
合并模块300,用于根据数据块信息将数据块合并成一整体文件;
计算模块400,用于计算所述整体文件的Md5校验值;
判断模块500,用于判断所述整体文件的Md5校验值与所述待上传文件的Md5校验值是否一致。
进一步,所述服务器还包括:
鉴权模块600,用于根据所述车载设备ID进行鉴权,并在鉴权失败的情况下断开与所述车载设备的连接。
另外,请参阅图7,本发明还提供了一种文件上传的系统,该系统包括:车载设备701及服务器702;其中,车载设备701如上述实施例提供的车载设备;服务器702如上述实施例提供的服务器。
相比于现有技术,本发明基于车载设备的文件上传方法、车载设备、服务器及系统有效实现了文件上传,提高了传输效率以及传输的准确率,提高了数据传输过程中车联网系统的稳定性和可靠性。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。