首页> 中国专利> 基于MirrorLink协议的文件传输方法及装置

基于MirrorLink协议的文件传输方法及装置

摘要

本发明提供了一种用于在智能移动终端和车载终端之间进行文件传输的文件传输方法,包括:在接收到文件传输请求后,发送端将要被传输的文件的文件名封装为第一报文,并作为文件传输过程的第一个报文发送给接收端;接收端基于所接收的第一报文,确认是否进行文件传输,如进行文件传输,则向发送端返回第二报文;在接收到返回的第二报文后,发送端将要被传输的文件封装成第四报文或者一个或多个第三报文和第四报文,传输给所述接收端。利用该方法,可以在MirrorLink协议的基础上实现智能移动终端和车载终端之间的文件传输,增加了协议的功能,提高了用户体验。

著录项

  • 公开/公告号CN103067462A

    专利类型发明专利

  • 公开/公告日2013-04-24

    原文格式PDF

  • 申请/专利权人 东软集团股份有限公司;

    申请/专利号CN201210554547.7

  • 发明设计人 聂山人;张骞;杨明;张翼;马晟;

    申请日2012-12-19

  • 分类号H04L29/08(20060101);

  • 代理机构11327 北京鸿元知识产权代理有限公司;

  • 代理人林锦辉

  • 地址 110179 辽宁省沈阳市浑南新区新秀街2号

  • 入库时间 2024-02-19 19:33:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-10

    授权

    授权

  • 2013-05-29

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20121219

    实质审查的生效

  • 2013-04-24

    公开

    公开

说明书

技术领域

本发明涉及数据处理领域,更为具体地,涉及一种基于MirrorLink协议 的文件传输方法和装置。

背景技术

随着智能移动终端和车载终端的快速发展,将上述两种设备结合起来使 得使用价值最大化的要求越来越强烈。众所周知,车载终端具有大屏幕的优 势,而智能移动终端具有丰富的联网功能,如果将两者结合起来使用(例如, 使用智能移动终端的网络在车载终端显示进行实时导航),不仅可以提高用户 体验,方便使用,而且可以实现资源整合复用。按照这种方式,一方面丰富 了车载终端的功能,另一方面节约了成本。

MirrorLink协议是为了应对上述场景而设计的一种协议,应用该协议可以 将智能移动终端与车载终端紧密联系起来。在MirrorLink协议中,将智能移 动终端称为MirrorLink服务端,将车载终端称为MirrorLink客户端,通过将 服务端(智能移动终端)的屏幕显示及声音传输到客户端(车载终端),实现 在客户端使用服务端提供的内容及服务的功能。图1示出了基于MirrorLink 协议在智能移动终端和车载终端之间实现的功能的示意图。如图1所示, MirrorLink实现的功能如下:(1)将服务端的屏幕显示内容传输到客户端;(2) 将服务端的声音传输到客户端;以及(3)将客户端的用户输入,包括屏幕触 控信息、声控信息等传输到服务端。

通过上述功能的组合实现在车载终端使用智能移动终端提供的内容和服 务的功能。只要支持MirrorLink协议,用户就可以在车载终端拨打电话、上 网、使用智能移动终端上的导航软件等。

从上可以看出,基于MirrorLink协议,可以实现智能移动终端与车载终 端的连接,从而提高了整体使用价值。然而,MirrorLink协议却不支持智能移 动终端与车载终端间的文件传输,由此智能移动终端与车载终端之间不能实 现完全“互联”功能。

因此,需要一种新的基于MirrorLink协议的文件传输方法和装置,其能 够实现智能移动终端与车载终端之间的文件传输。

发明内容

鉴于上述,本发明的目的在于提供一种基于扩展的RFB协议实现的用于 在智能移动终端和车载终端之间进行文件传输的文件传输方法,该文件传输 方法能够利用MirrorLink协议中的RFB协议实现智能移动终端与车载终端之 间的文件传输。

本发明的另一目的在于提供一种基于扩展的RFB协议实现的用于在智能 移动终端和车载终端之间进行文件传输的文件传输装置,具有上述文件传输 装置的智能移动终端和车载终端。

根据本发明的一个方面,提供了一种用于在智能移动终端和车载终端之 间进行文件传输的文件传输方法,其中,所述智能移动终端和车载终端中之 一作为发送端,以及所述智能终端和车载终端中的另一个作为接收端,所述 方法包括:在接收到文件传输请求后,发送端将要被传输的文件的文件名封 装为第一报文,并作为文件传输过程的第一个报文发送给接收端;接收端基 于所接收的第一报文,确认是否进行文件传输,如进行文件传输,则向发送 端返回第二报文;在接收到返回的第二报文后,发送端将要被传输的文件封 装成第四报文或者一个或多个第三报文和第四报文,传输给所述接收端,其 中,所述第一报文依次包括报文类型字段、报文子类型字段、Length字段以 及Data字段,所述第二报文依次包括报文类型字段和报文子类型字段,所述 第三报文和第四报文依次包括报文类型字段、报文子类型字段、报文序号字 段、Length字段以及Data字段,其中,所述第一到第四报文的报文类型字段 被赋予RFB协议中的同一预留报文号,所述第一到第四报文的报文子类型字 段用于记录被赋予预定定义且为发送端和接收端已知的第一、第二、第三和 第四报文编号,所述第三和第四报文的报文序号字段用于记录文件分块传输 时该报文中的文件分块的序号,所述第一、第三和第四报文的Length字段用 于记录各自的Data字段的长度,所述第一报文的Data字段用于记录文件名, 以及第三和第四报文的Data字段用于记录数据部分,其中,所述第一报文编 号表明该报文是文件传输发起报文,第二报文编号表明该报文是文件传输应 答报文,第三报文编号表明该报文是非最后一个报文的文件传输数据报文, 以及第四报文编号表明该报文是作为最后一个报文的文件传输数据报文。

在上述方面的一个或多个示例中,在将所述第一报文发送给接收端后, 如果接收到所述接收端返回的第五报文,则发送端不进行文件传输,其中, 所述第五报文依次包括报文类型字段和报文子类型字段,所述第五报文的报 文类型字段用于记录与第二报文中的报文类型相同的报文号,所述报文子类 型字段用于记录预定的第五报文编号,所述第五报文编号表明不进行文件传 输。

在上述方面的一个或多个示例中,在文件传输过程期间,如果接收端或 者发送端接收到对端发送的第六报文,则中断文件传输过程,其中,所述第 六报文依次包括报文类型字段和报文子类型字段,所述第六报文的报文类型 字段用于记录与第二报文中的报文类型相同的报文号,以及所述报文子类型 字段用于记录预定的第六报文编号,所述第六报文编号表明中断文件传输。

根据本发明的另一方面,提供了一种用于在智能移动终端和车载终端之 间进行文件传输的文件传输方法,其中,所述智能移动终端和车载终端中之 一作为发送端,以及所述智能终端和车载终端中的另一个作为接收端,所述 方法包括:在接收到文件传输请求后,发送端为要被传输的文件分配文件ID; 发送端将要被传输的文件的文件名和所分配的文件ID封装为第一报文,并作 为文件传输过程的第一个报文发送给接收端;接收端基于所接收的第一报文 中包含的文件ID,检查该文件ID是否与正在传输的其它文件的文件ID冲突, 在检查出没有冲突时,向发送端返回第二报文;以及在接收到所述接收端返 回的第二报文后,发送端将要被传输的文件封装成第四报文或者一个或多个 第三报文和第四报文,传输给所述接收端,其中,所述第一报文依次包括报 文类型字段、报文子类型字段、文件ID字段、Length字段以及Data字段, 所述第二报文依次包括报文类型字段和报文子类型字段,所述第三报文和第 四报文依次包括报文类型字段、报文子类型字段、文件ID字段、报文序号字 段、Length字段以及Data字段,其中,所述第一到第四报文的报文类型字段 被赋予RFB协议中的同一预留报文号,所述第一到第四报文的报文子类型字 段用于记录被赋予预定定义且为发送端和接收端已知的第一、第二、第三和 第四报文编号,所述第一、第三和第四报文的文件ID字段用于记录文件ID, 所述第三和第四报文的报文序号字段用于记录文件分块传输时该报文中的文 件分块的序号,所述第一、第三和第四报文的Length字段用于记录各自的Data 字段的长度,所述第一报文的Data字段用于记录文件名,以及第三和第四报 文的Data字段用于记录数据部分,其中,所述第一报文编号表明该报文是文 件传输发起报文,第二报文编号表明该报文是文件传输应答报文,第三报文 编号表明该报文是非最后一个报文的文件传输数据报文,以及第四报文编号 表明该报文是作为最后一个报文的文件传输数据报文。

在上述方面的一个或多个示例中,在将所述第一报文发送给接收端后, 如果接收到所述接收端返回的第五报文,则发送端重新为要被传输的文件分 配新文件ID,并且基于重新分配的新文件ID和文件名封装成新的第一报文发 送给所述接收端,其中,所述第五报文依次包括报文类型字段和报文子类型 字段,所述第五报文的报文类型字段用于记录与第二报文中的报文类型相同 的报文号,所述报文子类型字段用于记录预定的第五报文编号,所述第五报 文编号表明所分配的文件ID与正在传输的其它文件的文件ID冲突。

在上述方面的一个或多个示例中,在文件传输过程期间,如果接收端或 者发送端接收到对端发送的第六报文,则中断与所述第六报文中包含的文件 ID对应的文件的文件传输过程,其中,所述第六报文依次包括报文类型字段、 报文子类型字段和ID字段,所述第六报文的报文类型字段用于记录与第二报 文中的报文类型相同的报文号,所述报文子类型字段用于记录预定的第六报 文编号,所述第六报文编号表明中断文件传输,以及所述ID字段记录要被中 断传输的文件的ID。

根据本发明的另一方面,提供一种用于在智能移动终端和车载终端之间 进行文件传输的文件传输装置,其中,所述智能移动终端和车载终端中之一 作为发送端,以及所述智能终端和车载终端中的另一个作为接收端,所述文 件传输装置包括:在发送端,所述文件传输装置包括:发送端报文生成单元, 用于在接收到文件传输请求后,将要被传输的文件的文件名封装为第一报文, 以及在接收到所述接收端返回的第二报文后,将要被传输的文件封装成第四 报文或者一个或多个第三报文和第四报文;发送端通信单元,用于将发送端 生成的报文发送给接收端,以及接收从接收端传输的报文,在接收端,所述 文件传输装置包括:文件传输确认单元,用于基于所接收的第一报文,确认 是否进行文件传输;接收端报文生成单元,用于在确认进行文件传输时,生 成第二报文;以及接收端通信单元,用于将发送端生成的报文发送给接收端, 以及接收从接收端传输的报文,其中,所述第一报文依次包括报文类型字段、 报文子类型字段、Length字段以及Data字段,所述第二报文依次包括报文类 型字段和报文子类型字段,所述第三报文和第四报文依次包括报文类型字段、 报文子类型字段、报文序号字段、Length字段以及Data字段,其中,所述第 一到第四报文的报文类型字段被赋予RFB协议中的同一预留报文号,所述第 一到第四报文的报文子类型字段用于记录被赋予预定定义且为发送端和接收 端已知的第一、第二、第三和第四报文编号,所述第三和第四报文的报文序 号字段用于记录文件分块传输时该报文中的文件分块的序号,所述第一、第 三和第四报文的Length字段用于记录各自的Data字段的长度,所述第一报文 的Data字段用于记录文件名,以及第三和第四报文的Data字段用于记录数据 部分,其中,所述第一报文编号表明该报文是文件传输发起报文,第二报文 编号表明该报文是文件传输应答报文,第三报文编号表明该报文是非最后一 个报文的文件传输数据报文,以及第四报文编号表明该报文是作为最后一个 报文的文件传输数据报文。

在上述方面的一个或多个示例中,所述文件传输装置还可以包括:文件 传输中断单元,位于发送端和接收端中,用于在文件传输过程期间,如果接 收到对端发送的第六报文,则中断文件传输过程,其中,所述第六报文依次 包括报文类型字段和报文子类型字段,所述第六报文的报文类型字段用于记 录与第二报文中的报文类型相同的报文号,所述报文子类型字段用于记录预 定的第六报文编号,所述第六报文编号表明中断文件传输。

根据本发明的另一方面,提供了一种用于在智能移动终端和车载终端之 间进行文件传输的文件传输装置,其中,所述智能移动终端和车载终端中之 一作为发送端,以及所述智能终端和车载终端中的另一个作为接收端,所述 文件传输装置包括:在发送端,所述文件传输装置包括:文件ID分配单元, 用于在接收到文件传输请求后,为要被传输的文件分配文件ID;发送端报文 生成单元,用于将要被传输的文件的文件名和所分配的文件ID封装为第一报 文,以及在接收到所述接收端返回的第二报文后,将要被传输的文件封装成 第四报文或者一个或多个第三报文和第四报文,发送端通信单元,用于将发 送端生成的报文发送给接收端,以及接收从接收端传输的报文,以及在接收 端,所述文件传输装置包括:文件ID冲突检查单元,基于所接收的第一报文 中包含的文件ID,检查该文件ID是否与正在传输的其它文件的文件ID冲突; 接收端报文生成单元,用于在该文件ID不与正在传输的其它文件的文件ID 冲突时,生成第二报文;以及接收端通信单元,用于将发送端生成的报文发 送给接收端,以及接收从接收端传输的报文,其中,所述第一报文依次包括 报文类型字段、报文子类型字段、文件ID字段、Length字段以及Data字段, 所述第二报文依次包括报文类型字段和报文子类型字段,所述第三报文和第 四报文依次包括报文类型字段、报文子类型字段、文件ID字段、报文序号字 段、Length字段以及Data字段,其中,所述第一到第四报文的报文类型字段 被赋予RFB协议中的同一预留报文号,所述第一到第四报文的报文子类型字 段用于记录被赋予预定定义且为发送端和接收端已知的第一、第二、第三和 第四报文编号,所述第一、第三和第四报文的文件ID字段用于记录文件ID, 所述第三和第四报文的报文序号字段用于记录文件分块传输时该报文中的文 件分块的序号,所述第一、第三和第四报文的Length字段用于记录各自的Data 字段的长度,所述第一报文的Data字段用于记录文件名,以及第三和第四报 文的Data字段用于记录数据部分,其中,所述第一报文编号表明该报文是文 件传输发起报文,第二报文编号表明该报文是文件传输应答报文,第三报文 编号表明该报文是非最后一个报文的文件传输数据报文,以及第四报文编号 表明该报文是作为最后一个报文的文件传输数据报文。

在上述方面的一个或多个示例中,所述文件传输装置还可以包括:文件 传输中断单元,位于发送端和接收端中,用于在文件传输过程期间,如果接 收到对端发送的第六报文,则中断与所述第六报文中包含的文件ID对应的文 件的文件传输过程,其中,所述第六报文依次包括报文类型字段、报文子类 型字段和ID字段,所述第六报文的报文类型字段用于记录与第二报文中的报 文类型相同的报文号,所述报文子类型字段用于记录预定的第六报文编号, 所述第六报文编号表明中断文件传输,以及所述ID字段记录要被中断传输的 文件的ID。

根据本发明的另一方面,提供了一种智能移动终端,包括如上所述的文 件传输装置中的发送端部分、接收端部分或者两者。

根据本发明的另一方面,提供了一种车载终端,包括如上所述的文件传 输装置中的发送端部分、接收端部分或者两者。

利用上述文件传输方法,可以在MirrorLink协议的基础上实现智能移动 终端和车载终端之间的文件传输,增加了该协议的功能,并提高了用户体验。

为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细 说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发 明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的 各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等 同物。

附图说明

根据下述参照附图进行的详细描述,本发明的上述和其他目的、特征和 优点将变得更加显而易见。在附图中:

图1示出了示出了基于MirrorLink协议在智能移动终端和车载终端之间 实现的功能的示意图;

图2示出了RFB3.8协议中包含的报文类型;

图3示出了RFB3.8协议中被选用来实现双向文件传输的报文号;

图4中示出了被选用的RFB协议文件传输报文的文件传输格式;

图5示出了根据本发明的一个示例的该RFB协议文件传输报文中的预先 定义的子类型的编号、对应的文件名称以及相应说明的图表;

图6A示出了图5中的子类型编号为0的报文的第一示例的报文格式;

图6B示出了图5中的子类型编号为0的报文的第二示例的报文格式;

图7A示出了图5中的子类型编号为1的报文的第一示例的报文格式;

图7B示出了图5中的子类型编号为1的报文的第二示例的报文格式;

图8示出了成功的文件传输过程的示意图;

图9A示出了图5中的子类型编号为2的报文的第一示例的报文格式;

图9B示出了图5中的子类型编号为2的报文的第二示例的报文格式;

图10示出了文件传输过程中断的示意图;

图11A示出了图5中的子类型编号为3的报文的第一示例的报文格式;

图11B示出了图5中的子类型编号为3的报文的第二示例的报文格式;

图12示出了图5中的子类型编号为4的报文的报文格式;

图13示出了文件ID协商成功的报文交互流程示意图;

图14示出了图5中的子类型编号为5的报文的报文格式;

图15示出了rfbFileIDFail报文在文件传输过程中的作用及交互流程示意 图;

图16示出了服务端向客户端传输文件时的成功文件传输过程的示意图;

图17示出了用户拒绝文件传输时的示意图;

图18示出了根据本发明的第一实施例的用于在智能移动终端和车载终端 之间进行文件传输的文件传输方法的流程图;

图19示出了根据本发明的第一实施例的用于在智能移动终端和车载终端 之间进行文件传输的文件传输装置的方框示意图;

图20示出了根据本发明的第二实施例的用于在智能移动终端和车载终端 之间进行文件传输的文件传输方法的流程图;

图21示出了根据本发明的第二实施例的用于在智能移动终端和车载终端 之间进行文件传输的文件传输装置的方框示意图;

图22示出了具有根据本发明的文件传输装置的智能移动终端的方框示意 图;和

图23示出了具有根据本发明的文件传输装置的车载终端的方框示意图。

在所有附图中相同的标号指示相似或相应的特征或功能。

具体实施方式

下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多 样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代 表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一 个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可 以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现 装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一 个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现 这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求 的至少一个元素。

本发明通过适当地扩展MirrorLink协议的相应部分,基于MirrorLink协 议实现文件传输功能,而不影响MirrorLink协议的现有功能。以下详细介绍 其实现原理。

MirrorLink协议囊括了一系列的协议,包括UPnP协议、RTP协议、RFB 协议等。通过仔细分析可以发现,在智能移动终端和车载终端之间的数据传 输中,相比于屏幕显示数据,声音数据及用户控制信号的数据量要小得多。 因此,在基于MirrorLink协议实现的设备互联中,传输数据量最大、最频繁 的是屏幕显示内容。这些数据是通过RFB协议传输的。RFB协议不仅用于传 输屏幕显示内容,也用于传输用户输入等控制信息等。由此可以得出,RFB 协议在建立MirrorLink连接后的整个生命周期中是一直存在的,并且具有能 传输大量数据的特性,符合文件传输的“用户触发、数据量大”的要求。基 于此,选择扩展RFB协议来实现文件传输功能。

RFB(Remote Framebuffer)协议是一种用于远程访问设备图形界面的协 议。RFB协议建立在面向连接的协议之上,如TCP协议。已发布的最新版的 RFB协议为3.8版本,图2示出了RFB3.8协议中包含的报文类型。

从图2中示出的RFB报文的报文类型可以看出,RFB协议支持发送屏幕 更新数据、发送剪切板信息等,该协议并主要针对屏幕共享的场景,没有设 计文件传输功能,故不支持文件传输。

通常,在处理RFB报文的流程中,在接收到RFB报文后,首先需要读取 RFB报文中的报文号字段(即,报文类型字段),不同的报文号代表不同的报 文类型。例如,当报文号是0时,表示该RFB报文为一个FramebufferUpdate 报文,即屏幕更新报文,该报文中的内容为Framebuffer的更新数据。

因此,要在RFB协议的基础上实现文件传输功能,需要注册文件传输特 有的报文号。考虑到要实现双向文件传输,则需要同时在服务端到客户端 (Server->Client)及客户端到服务端(Client->Server)的报文类型中均注册相 应报文号。为了不与现有的报文号冲突,通常选择RFB协议中的预留报文号。 此外,为了不占用RFB协议的小协议号的未来发展空间,优选地,选用图3 所示的报文号(即,248)。在本发明的其它示例中,也可以选用RFB协议中 的其它预留报文号。

在如上选定报文号后,在接收RFB报文的处理流程中,若读取的报文号 类型为248,则表明该RFB报文是文件传输报文,后续的流程需要调用文件 传输的处理流程进行处理。同样,若要将文件数据封装在RFB报文中进行发 送,也需要将该RFB报文的报文类型字段(即,报文号)设置为248。

在确定报文号后,需要定义RFB协议文件传输报文的文件传输格式,图 4示出了所定义的文件传输格式。

如图4所示,在报文号选定为248的情况下,8bits(即,1个字节)的 Type字段需要设置为如前所述的报文号248,表示该RFB报文是文件传输报 文。8bits的Subtype字段用于进一步表明该RFB报文的具体类型。不同的 Subtype表明了报文的不同功能,包括传输文件数据、终止传输、协商文件ID 等。图5示出了具体的Subtype值以及其对应的报文功能,该具体的Subtype 值预先由发送端和接收端协商确定。这里要说明的是,图4中示出的仅仅是 示例,每个字段的长度还可以采用其它合适的值。例如,Subtype字段的长度 可以为至少为2比特的任意长度。此外,Subtype值与各个报文功能之间的 对应关系也可以采用其它形式对应,并且Subtype值也可以采用其它合适值。

为了实现文件传输报文的正常传输,注册了六种文件报文子类型,其对 应的Subtype值如图5所示。

当Subtype为0时,表明该报文为一个普通文件传输报文(即,本发明中 的第三报文),具体的报文格式如图6A和图6B所示。图6A示出了图5中的 子类型编号为0的报文在不选用文件ID进行文件传输的示例下(在下文中称 为第一示例)的报文格式;图6B示出了图5中的子类型编号为0的报文在选 用文件ID进行文件传输的示例中(在下文中称为第二示例)的报文格式。

在图6A中,Sequence字段(即,报文序号字段)为文件分块传输时该报 文的序号,其长度为2个字节。其中,首个文件分块的序号为0,后续分块序 号值依次递增。Length字段指明Data字段的长度,并且所记录的Data字段长 度的单位为字节,该Length字段的长度为4个字节。Data字段为数据部分, 长度由Length指定。

在图6B中,Id字段为文件id,其长度为2个字节(即,16比特)。不同 的id号标识不同的文件,同一个文件分块进行传输时,具有相同的id号。 Sequence字段(即,报文序号字段)为文件分块传输时该报文的序号,其长 度为2个字节。其中,首个文件分块的序号为0,后续分块序号值依次递增。 Length字段指明Data字段的长度,并且所记录的Data字段长度的单位为字节, 该Length字段的长度为4个字节。Data字段为数据部分,长度由Length指定。

当Subtype为1时,表明该报文为文件传输过程的最后一个报文(即,本 发明中的第四报文),具体的报文格式如图7A和图7B所示。图7A示出了图 5中的子类型编号为1的报文在第一示例中的报文格式;图7B示出了图5中 的子类型编号为1的报文在第二示例中的报文格式。

在图7A中,Sequence字段为文件分块传输时该报文的序号,其长度为2 个字节。若该报文既是最后一个报文(最后一个文件分块)也是第一个文件 分块,则序号为0。否则,是前一文件分块的序号加1。例如,如果紧接着该 报文的上一普通文件传输报文的序号为3,则该报文的序号为4。Length字段 指明Data字段的长度,其长度为4个字节,并且所记录的Data字段长度的单 位为字节。Data字段为数据部分,长度由Length字段指定。

在图7B中,Id字段为文件id,其长度为2个字节(即,16比特)。不同 的id号标识不同的文件,同一个文件分块进行传输时,具有相同的id号。 Sequence字段为文件分块传输时该报文的序号,其长度为2个字节。若该报 文既是最后一个报文(最后一个文件分块)也是第一个文件分块,则序号为0。 否则,是前一文件分块的序号加1。例如,如果紧接着该报文的上一普通文件 传输报文的序号为3,则该报文的序号为4。Length字段指明Data字段的长 度,其长度为4个字节,并且所记录的Data字段长度的单位为字节。Data字 段为数据部分,长度由Length字段指定。

一次成功的文件传输过程,如图8所示。文件发送方发送rfbFilePacket, 报文中携带文件数据。最后一个文件分块封装在rfbEndOfFile报文中。

文件传输过程除了可以在文件传输完成后正常结束,也可以由用户输入 等其他方式异常终止。发生异常时,不管是文件接收方还是文件发送方,均 需要将异常通知到对方,即,通知对方中断文件传输。因此需要一种能用于 通知对方中断文件传输的报文。为此,将Subtype=2的报文设计为中断文件传 输报文。

当Subtype=2时,表明该报文是文件传输中断报文(即,本发明中的第六 报文),该类报文用于文件传输的一方通知另一方中断文件传输,并进行相应 的清理工作。具体的报文格式如图9A和图9B所示。图9A示出了图5中的 子类型编号为2的报文在第一示例中的报文格式;图9B示出了图5中的子类 型编号为2的报文在第二示例中的报文格式。在图9B中,Id字段为文件id, 表明需要中断传输的文件的文件id。Id字段的长度为2个字节。

文件传输中断报文可以由文件传输双方中任何一方(发送端或接收端) 发起,并且可以在文件传输过程中的任意时刻发起。一旦接收到文件传输中 断报文,发送端将终止文件发送或者终止具有相应文件id的文件的发送;接 收端将丢弃已经接收的文件数据或者丢弃已经接收的相应文件id的文件数 据,终止文件传输。文件传输过程中断的示意图如图10所示。

上述3种报文可以保证文件传输过程的顺利进行。但启动文件传输过程 需要一系列流程,涉及到请求文件传输、协商所传输的文件ID等。因此还需 要设计用于启动文件传输过程的报文格式。如图5所示,与启动文件传输过 程相关的报文类型主要有三种:文件传输发起报文、文件传输应答报文以及 文件传输拒绝报文。

当Subtype=3时,表明该报文为整个文件传输过程的第一个报文(即,本 发明中的第一报文),其中携带了文件名,或者携带有文件名和ID,具体的报 文格式如图11A和图11B所示。该报文用于文件传输协商。

图11A示出了图5中的子类型编号为3的报文在第一示例中的报文格式。 如图11A所示,Length字段指明Data字段的长度,即文件名的长度,单位为 字节。Length字段的长度为4个字节。Data字段记录文件名,其长度由Length 字段指定。在这种情况下,发送端按照该格式将文件名封装成第一报文后发 送到接收端,然后根据接收端的回复报文决定是否进行文件传输。

图11B示出了图5中的子类型编号为3的报文在第二示例中的报文格式。 如图11B所示,Id字段为文件id,其长度为2个字节。通常,该文件id可以 由用户任意选择。Length字段指明Data字段的长度,即文件名的长度,单位 为字节。Length字段的长度为4个字节。Data字段记录文件名,其长度由Length 字段指定。在这种情况下,发送端首先选择文件id,并按照该格式,将文件 名和文件id封装成第一报文后发送到接收端,然后根据接收端的回复报文决 定是否采用该文件id进行文件传输。

在第二示例中,第一报文传输即将发送的文件的文件名,并根据文件名 选择文件ID。文件ID的选择没有特殊要求,但必须不能与正在传输的其他文 件的文件ID冲突。该报文表明即将发起文件传输,接收方接收到该报文后可 以检查该文件ID是否与正在传输的其它文件的文件ID冲突,并且根据是否 冲突,返回不同的回复报文。

当Subtype=4时,表明该报文为文件传输应答报文,即确认可以进行文件 传输的报文(即,本发明中的第二报文)。在第一示例和第二示例中,具体报 文格式如图12所示。在第一示例(即,不采用文件ID进行传输的示例)中, 该报文表示文件接收端同意进行文件传输,在第二示例(即,采用文件ID进 行文件传输的示例)中,该报文表示同意选择先前发送的文件ID进行文件传 输。即所选的文件ID没有和接收端正在传输的其他文件的ID冲突,可以采 用该文件ID进行文件传输。

在第二示例中,用户同意进行文件传输,并且文件ID协商成功的报文交 互流程如图13所示。文件ID协商成功的准则是接收端检查该文件ID是否和 正在传输的其他文件的ID是否冲突,不冲突则返回rfbFileIDOK。此外,在 第二示例中,在接收到该报文后,除了进行文件ID冲突检查之外,在接收端 还可以由用户确认是否进行文件传输,并根据用户的确认结果返回不同的回 复报文。通常,用户的确认结果的优先级被设置为大于文件ID冲突检查结果。 即,无论文件ID冲突结果如何,只要用户确认不进行文件传输,就返回表明 文件ID协商失败的回复报文。换言之,只有在用户确认进行文件传输并且文 件ID冲突检查结果为不冲突时,才返回表明文件ID协商成功的回复报文。

当Subtype=5时,表明该报文为文件传输拒绝报文(即,本发明中的第五 报文)。在第一示例和第二示例中,具体报文格式如图14所示。在第一示例 中,该报文表示接收端不同意进行文件传输。在第二示例中,该报文表示接 收端不同意先前选择的文件ID,即通知发送端重新选择新的文件ID。换言之, 该报文表明先前选择的文件ID和接收端其他正在传输的文件ID发生冲突, 需要发送端重新选择文件ID。

rfbFileIDFail报文在文件传输过程中的作用及交互流程如图15所示。可 见,该报文用于通知发送方重新选择文件ID。通常情况下,某一时刻只能有 少量的文件在同时传输,大部分情况只有一个文件在进行传输。因此,这种 简单的交互方式足以满足文件ID的协商。

如上定义了6种不同的Subtype类型,该6种Subtype类型可以满足文件 传输过程中的文件传输发起、文件传输应答、文件传输拒绝、文件传输、文 件传输正常终止或异常终止等功能。此外,上面的描述仅仅是示例。在本发 明的其它示例中,Length字段、Id字段和Sequence字段的长度可以采用其它 合适值。

文件传输是双向的,服务端(智能移动电话)和客户端(车载终端)都 可以申请开始文件传输。文件传输由用户操作触发,文件传输过程将占用大 量带宽,并且可能是一个漫长的过程,因此,即使文件传输由用户操作触发, 真正的文件传输也需要由用户确认。以服务端向客户端传输文件为例,一次 成功的文件传输过程如图16所示。当用户拒绝文件传输时,文件传输过程 如图17所示。

如上描述了扩展的RFB协议中的用于文件传输的报文的定义以及具体的 报文格式。下面将参照附图对本发明的实施例进行描述。

(第一实施例)

图18描述根据本发明的第一实施例的用于在智能移动终端和车载终端之 间进行文件传输的文件传输方法的流程图。这里,第一实施例中的第一到第 六报文的定义对应于上述第一示例中的报文格式定义。

所述文件传输方法是在发送端和接收端之间执行,这里,智能移动终端 和车载终端中的任何一个可以作为发送端,以及所述智能终端和车载终端中 的另一个作为接收端。

如图18所示,在步骤S1810,在接收到文件传输请求后,发送端将要被 传输的文件的文件名封装为第一报文,并且在步骤S1820,作为文件传输过程 的第一个报文发送给接收端。

在接收到第一报文后,在步骤S1830,接收端基于所接收的第一报文,确 认是否同意进行文件传输。

如果同意,则在步骤S1840,接收端生成第二报文,然后在步骤S1850, 将所生成的第二报文返回给发送端。如果不同意,则接收端生成第五报文, 并返回给发送端。如果发送端接收到所述接收端返回的第五报文,则终止文 件传输。

在接收到所述接收端返回的第二报文后,在步骤S1860,发送端将要被传 输的文件封装成第四报文或者一个或多个第三报文和第四报文,并且在步骤 S1870,将所生成的第四报文或者一个或多个第三报文和第四报文传输给所述 接收端。这里要说明的是,如果要传输的文件仅仅包括一个文件分块(即, 将要传输的文件作为完整文件传输)时,则仅仅生成一个第四报文,如果包 括多个文件分块,则生成一个或多个第三报文以及一个第四报文。

在步骤S1880,接收端接收发送端所传输的报文,如果接收到第三报文, 则继续接收,如果接收端接收到第四报文,则停止接收并且结束文件传输过 程。

上述仅仅是本发明的一个例示性示例,还可以对上述示例进行各种修改。 例如,上述文件传输方法还可以包括:在文件传输过程期间(文件传输过程 中的任意时刻),如果接收端或者发送端接收到对端发送的第六报文,则中断 文件传输过程。

图19示出了根据本发明的用于在智能移动终端和车载终端之间进行文件 传输的文件传输装置1900的方框示意图。

如图19所示,在发送端,文件传输装置1900包括发送端报文生成单元 1910和发送端通信单元1920。

发送端报文生成单元1920用于在接收到文件传输请求后,将要被传输的 文件的文件名封装为第一报文,以及在接收到所述接收端返回的第二报文后, 将要被传输的文件封装成第四报文或者一个或多个第三报文和第四报文。发 送端通信单元1920用于将发送端生成的报文发送给接收端,以及接收从接收 端传输的报文。从接收端接收的报文包括第二报文和第五报文。当从接收端 接收的报文是第五报文时,终止文件传输。

在接收端,所述文件传输装置包括接收端通信单元1930、文件传输确认 单元1940和接收端报文生成单元1950。

接收端通信单元1930用于将发送端生成的报文发送给接收端,以及接收 从接收端传输的报文。文件传输确认单元1940基于所接收的第一报文中,确 认是否进行文件传输。接收端报文生成单元1950用于在确认进行文件传输时, 生成第二报文。此外,接收端报文生成单元1950还用于在确认不进行文件传 输时,生成第五报文。

此外,优选地,文件传输装置1900还可以包括文件传输中断单元(未示 出),用于在文件传输过程期间,如果接收到对端发送的第六报文,则中断文 件传输过程。所述文件传输中断单元可以位于发送端和接收端中。

(第二实施例)

图20描述根据本发明的第二实施例的用于在智能移动终端和车载终端之 间进行文件传输的文件传输方法的流程图。这里,第二实施例中的第一到第 六报文的定义对应于上述第二示例中的报文格式定义。

所述文件传输方法是在发送端和接收端之间执行,这里,智能移动终端 和车载终端中的任何一个可以作为发送端,以及所述智能终端和车载终端中 的另一个作为接收端。

如图20所示,在步骤S2010,在接收到文件传输请求后,发送端为要被 传输的文件分配文件ID(即,选择文件ID)。接着,在步骤S2020,发送端 将要被传输的文件的文件名和所分配的文件ID封装为第一报文,并且在步骤 S2030,作为文件传输过程的第一个报文发送给接收端。

在接收到第一报文后,在步骤S2040,接收端基于所接收的第一报文中包 含的文件ID,检查该文件ID是否与正在传输的其它文件的文件ID冲突。

如果不冲突,则在步骤S2050,接收端生成第二报文,然后在步骤S2060, 将所生成的第二报文返回给发送端。如果冲突,则生成第五报文,并返回给 发送端,流程返回到步骤S2010。如果发送端接收到所述接收端返回的第五报 文,则重新为要被传输的文件分配新文件ID,并且基于重新分配的新文件ID 和文件名封装成新的第一报文发送给所述接收端继续进行文件ID冲突检查, 如此循环,直到不发生冲突为止。

在接收到所述接收端返回的第二报文后,在步骤S2070,发送端将要被传 输的文件封装成第四报文或者一个或多个第三报文和第四报文,并且在步骤 S2080,将所生成的第四报文或者一个或多个第三报文和第四报文传输给所述 接收端。这里要说明的是,如果要传输的文件仅仅包括一个文件分块时,则 仅仅生成一个第四报文,如果包括多个文件分块,则生成一个或多个第三报 文以及一个第四报文。

在步骤S2090,接收端接收发送端所传输的报文,如果接收到第三报文, 则继续接收,如果接收端接收到第四报文,则停止接收并且结束文件传输过 程。

上述仅仅是本发明的一个例示性示例,还可以对上述示例进行各种修改。 例如,上述文件传输方法还可以包括:在文件传输过程期间(文件传输过程 中的任意时刻),如果接收端或者发送端接收到对端发送的第六报文,则中断 与所述第六报文中包含的文件ID对应的文件的文件传输过程。

图21示出了根据本发明的用于在智能移动终端和车载终端之间进行文件 传输的文件传输装置2100的方框示意图。

如图21所示,在发送端,文件传输装置2100包括文件ID分配单元2110、 发送端报文生成单元2120和发送端通信单元2130。

所述文件ID分配单元2110用于在接收到文件传输请求后,为要被传输 的文件分配文件ID。发送端报文生成单元2120用于将要被传输的文件的文件 名和所分配的文件ID封装为第一报文,以及在接收到所述接收端返回的第二 报文后,将要被传输的文件封装成第四报文或者一个或多个第三报文和第四 报文。发送端通信单元2130用于将发送端生成的报文发送给接收端,以及接 收从接收端传输的报文。从接收端接收的报文包括第二报文和第五报文。当 从接收端接收的报文是第五报文时,文件ID分配单元2110重新为要被传输 的文件分配新文件ID,并且发送端报文处理单元2120基于重新分配的新文件 ID和文件名封装成新的第一报文发送给所述接收端。

在接收端,所述文件传输装置包括接收端通信单元2140、文件ID检查单 元2150和接收端报文生成单元2160。

接收端通信单元2140用于将发送端生成的报文发送给接收端,以及接收 从接收端传输的报文。文件ID冲突检查单元2150基于所接收的第一报文中 包含的文件ID,检查该文件ID是否与正在传输的其它文件的文件ID冲突。 接收端报文生成单元2160用于在该文件ID不与正在传输的其它文件的文件 ID冲突时,生成第二报文。此外,接收端报文生成单元2160还用于在该文件 ID与正在传输的其它文件的文件ID冲突时,生成第五报文。优选地,在需要 用户进行确认的情况下,只有在用户确认进行文件传输并且该文件ID不与正 在传输的其它文件的文件ID冲突时,生成第二报文;否则,生成第五报文。

此外,优选地,文件传输装置2100还可以包括文件传输中断单元(未示 出),用于在文件传输过程期间,如果接收到对端发送的第六报文,则中断与 所述第六报文中包含的文件ID对应的文件的文件传输过程。所述文件传输中 断单元可以位于发送端和接收端中。

图22示出了具有根据本发明的文件传输装置的智能移动终端10的方框 示意图。如图22所示,智能移动终端10包括上述文件传输装置1900或2100 中的发送端部分、接收端部分或者两者。

图23示出了具有根据本发明的文件传输装置的车载终端20的方框示意 图。如图23所示,车载终端20包括上述文件传输装置1900或2100中的发 送端部分、接收端部分或者两者。

利用上述基用于在智能移动终端和车载终端之间进行文件传输的文件传 输方法及装置,可以在MirrorLink协议的基础上实现智能移动终端和车载终 端之间的文件传输,由此提高了用户体验。

此外,根据本发明的方法还可以被实现为由CPU执行的计算机程序。在 该计算机程序被CPU执行时,执行本发明的方法中限定的上述功能。

此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得 控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。 例如,根据本发明的移动终端可以被实现为一个或多个处理器,以及与该一 个或多个处理器相连的存储器,该存储器中存储具有可以使得处理器执行本 发明的方法中所限定的各个步骤的指令的计算机程序。

尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在 不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。 根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任 何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但 是也可以设想多个,除非明确限制为单数。

虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领 域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离 本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的 权利要求书的内容确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号