文件传输方法、设备以及系统与流程

文档序号:26939546发布日期:2021-10-12 14:51阅读:52来源:国知局
1.本技术涉及信息
技术领域
:,尤其涉及一种文件传输方法、设备以及系统。
背景技术
::2.近年来,终端设备之间的近场文件互传有着极大的需求。传统的方案主要有两大类。一类是同一操作系统的终端设备之间所实现的近场文件互传,例如ios系统下的airdrop技术、android系统下的androidbeam技术等,这类技术的缺点在于只在各自的平台下可用,若两个终端设备之间使用不同的操作系统,则无法使用此类传输方式。3.另一类则是可以跨操作系统使用的文件传输工具,此类文件传输工具一般是需要用户在各自的终端设备中安装文件传输工具的客户端程序,发送方通过客户端程序将文件上传至第三方平台,再由接收方通过客户端程序将从第三方平台中下载文件。此种方式虽然可以解决跨操作系统的问题,但是其缺点在于安全性不足,传输的文件在第三方平台上存储过程中往往无法保证安全性,即使被加密,文件名等其它信息仍然有可能泄露保密信息。4.申请内容5.本技术的一个目的是提供一种文件传输方法,用以解决能够跨操作系统使用的传输方案安全性不足的问题。6.本技术实施例中提供了一种文件传输方法,该方法包括:7.第一终端设备对第一文件进行加密和重命名,获取第二文件;8.所述第一终端设备将所述第二文件存储至传输服务器;9.所述第一终端设备生成用于提供给第二终端设备的、关于所述第二文件的二维码,以使所述第二设备在扫描所述二维码之后,从所述传输服务器获取所述第二文件;10.所述第一终端设备在所述第二终端设备获取到所述第二文件之后,向向第二终端设备提供安全信息,所述安全信息包括解密相关信息和原文件名,以使所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。11.本技术实施例还提供了另一种文件传输方法,该方法包括:12.第二终端设备扫描第一终端设备提供的关于所述第二文件的二维码,其中,所述第二文件为所述第一终端设备对第一文件进行加密和重命名所获取的文件;13.所述第二终端设备根据所述二维码中的信息,从传输服务器获取第二文件;14.所述第二终端设备从所述第一终端设备获取安全信息,所述安全信息包括解密相关信息和原文件名;15.所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。16.本技术实施例提供了一种用于文件传输的第一终端设备,该第一终端设备包括:17.处理模块,用于对第一文件进行加密和重命名,获取第二文件;18.交互模块,用于将所述第二文件存储至传输服务器;生成用于提供给第二终端设备的、关于所述第二文件的二维码,以使所述第二设备在扫描所述二维码之后,从所述传输服务器获取所述第二文件;以及在所述第二终端设备获取到所述第二文件之后,向向第二终端设备提供安全信息,所述安全信息包括解密相关信息和原文件名,以使所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。19.本技术实施例提供了一种用于文件传输的第二终端设备,其中,该第二终端设备包括:20.交互模块,用于扫描第一终端设备提供的关于所述第二文件的二维码,其中,所述第二文件为所述第一终端设备对第一文件进行加密和重命名所获取的文件;根据所述二维码中的信息,从传输服务器获取第二文件;从所述第一终端设备获取安全信息,所述安全信息包括解密相关信息和原文件名;21.处理模块,用于所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。22.本技术实施例还提供了一种用于文件传输的系统,该系统包括前述的第一终端设备、第二终端设备以及传输服务器,其中,所述传输服务器,用于存储第一终端设备生成的第二文件,向所述第二终端设备发送第二文件。23.本技术的一些实施例还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述的文件传输方法。24.本技术的另一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的文件传输方法。25.本技术实施例提供方案中,第一终端设备对第一文件进行加密和重命名,获取第二文件,并将所述第二文件存储至传输服务器;而后第一终端设备可以生成用于提供给第二终端设备的、关于所述第二文件的二维码,以使所述第二设备在扫描所述二维码之后,从所述传输服务器获取所述第二文件;第一终端设备在所述第二终端设备获取到所述第二文件之后,向向第二终端设备提供安全信息,以使所述第二终端设备可以对所述第二文件进行解密和重命名,获得第一文件。在整个传输过程中,文件会被加密并且重命名,并且安全信息会直接在两个终端设备之间传输,而不会经过公网或第三方平台,因此安全性较高,信息泄露的可能性较小。附图说明26.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:27.图1为本技术实施例中实现文件传输时所涉及的各个设备的交互关系示意图;28.图2为本技术实施例的方案在实现文件传输时各个设备之间的交互流程图;29.图3为本技术实施例中文件在所述交互流程中在各个设备之间流转过程示意图;30.图4为采用本技术实施例提供的方案实现文件传输时的一种交互流程示意图;31.图5为本技术实施例提供的一种终端设备的结构示意图;32.图6为本技术实施例提供的一种用于文件传输的计算设备的结构示意图;33.附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式34.下面结合附图对本技术作进一步详细描述。35.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。36.本
技术领域
:技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。37.本技术实施例提供了一种文件传输方法,该方法实现过程中,传输的文件会被加密并且重命名,并且安全信息会直接在两个终端设备之间传输,而不会经过公网或第三方平台,因此安全性较高,信息泄露的可能性较小。38.图1示出了本技术实施例中实现文件传输方法时所涉及的各个设备的交互关系示意图,包括第一终端设备110、第二终端设备120以及传输服务器130。所述第一终端设备和第二终端设备可以包括但不限于手机、平板电脑、智能手表、计算机等终端设备,所述传输服务器也可以包括但不限于终端设备、网络设备或者终端设备与网络设备通过网络相集成所构成的设备,此外也可以是部署于上述设备中的程序或者功能模块。所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(cloudcomputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。39.图2示出了在实现文件传输时各个设备之间的数据交互流程,包括如下处理步骤:40.步骤s201,第一终端设备对第一文件进行加密和重命名,获取第二文件。在本实施例中,所述第一终端设备为文件的发送方,所述第一文件为需要传输的原始文件,而所述第二文件即为对原始文件进行加密处理和重命名处理之后所获得的文件。41.第一终端设备在对第一文件进行加密时,可以先密钥,而后基于所述密钥对所述第一文件进行加密,使得第一文件基于该密钥由明文计算生成对应的密文,由此即使第二文件被泄漏,其他人也无法获知原始文件的内容。42.其中,加密的方式可以根据实际需求采用对称加密或者非对称加密,若使用对称加密,则仅生成一个密钥即可,第一终端设备通过可靠的方式将所述密钥提供给第二终端设备,第一终端设备的加密过程和第二终端设备的解密过程均使用该密钥。若使用非对称加密,则生成的密钥实际为一个密钥对,第一终端设备将公钥提供给第二终端设备,第一终端设备的加密过程使用私钥,而第二终端设备的解密过程均使用公钥。43.在实际场景中,文件名一般包括主名和扩展名两部分,其中也可能携带一些用户不希望公开的保密信息,在文件泄漏时,其他人也有可能通过文件名来获得一些保密信息。因此,本技术实施例的方案中,除了对第一文件进行加密,还会对其进行重命名,按照一定的方式将第一文件的文件名进行修改,使得隐藏文件名中可能携带的保密信息。例如,在实际场景中,可以随机生成一些字符组合,作为新文件名,或者也可以将先对第一文件进行哈希计算,获得其对应的哈希值,而后将文件的哈希值作为新文件名来实现重命名。44.步骤s202,所述第一终端设备将所述第二文件存储至传输服务器。在实际场景中,所述第一终端设备可以使用浏览器将第二文件上传至传输服务器中保存,由此无需用户安装相应的客户端,使得用户在传输文件时更加便利。45.所述传输服务器在存储第二文件时,可以为其设定一有效时长,例如该有效时长可以设定为1天、7天、1个月或者是永久有效等,若第二文件的存储时间超过了有效时长,可以自动删除第二文件,由此可以对已存储的第二文件进行有效管理,避免文件长时间留存于传输服务器而导致的泄漏风险。46.步骤s203,所述第一终端设备生成用于提供给第二终端设备的、关于所述第二文件的二维码。47.在本技术的一些实施例中,所述二维码中需要携带关于所述第二文件的信息,使得第二终端设备在扫描而二维码之后,可以从传输服务器中获取到第二文件。例如,所述二维码中包含的信息可以是第二文件的url(uniformresourcelocator,统一资源定位符),第二终端设备在扫描二维码之后,可以获取到该url,而后基于该url向传输服务器发起资源获取请求,请求获取第二文件。实际场景中,可以采用任意类型的二维码,例如qrcode、pdf417、datamatrix、maxicode、code49、code16k等。48.所述第一终端设备生成二维码的处理步骤,可以由传输服务器触发执行,例如,传输服务器在成功存储第二文件之后,可以向第一终端设备发送存储完成的通知消息,而第一终端设备在获取到该通知消息之后,即可触发生成所述二维码。在实际场景中,所述传输服务器可以采用websocket协议发送通知消息。49.步骤s204,第二终端设备扫描第一终端设备提供的关于所述第二文件的二维码。由于本技术实施例中的一种主要的应用场景是终端设备之间的近场文件传输,因此所述第一终端设备可以在其显示装置上显示二维码,由第二终端设备的摄像装置直接扫描其显示装置上的二维码。50.步骤s205,所述第二终端设备根据所述二维码中的信息,从传输服务器获取第二文件。若所述二维码中的信息为第二文件的url,例如该url为:https://filedrop.xxxxx.com/a395/c0ee74d38a3。此时,第二终端设备可以通过浏览器向所述传输服务器请求所述第二文件,即在浏览器中打开该url,从而向传输服务器请求该url对应的资源(即第二文件)。传输服务器在收到请求之后,可以向第二终端设备返回第二文件。实际场景中,第二终端设备的浏览器可以先从所述传输服务器下载所述第二文件至缓存中,暂时存储。51.步骤s206,所述第一终端设备在所述第二终端设备获取到所述第二文件之后,向第二终端设备提供安全信息。52.在实际场景中,“所述第二终端设备获取到所述第二文件”这一信息可以由传输服务器通知第一终端设备,当传输服务器根据第二终端设备的请求向第二终端设备返回其需要的第二文件之后,即可向第一终端设备发送通知消息,使得第一终端设备在获取到该通知消息即可确认第二终端设备已经获取到所述第二文件。在此,所述传输服务器可以采用websocket协议发送通知消息。53.步骤s207,所述第二终端设备从所述第一终端设备获取安全信息。由于此时第二终端设备中所获取的是加密并重命名之后的第二文件,而非原始的第一文件,因此并未达到文件传输的目的,还需要获取对应的安全信息,将所述第二文件恢复为第一文件。54.在本技术的一些实施例中,所述安全信息至少包括了解密相关信息和原文件名,在同时获得第二文件和安全信息之后,即可解析获得原始的第一文件。因此,为了提高安全性,所述安全信息需要直接在第一终端设备和第二终端设备之间传输,而不通过公网或者第三方平台。例如,本技术的一些实施例中,以二维码、nfc(nearfieldcommunication,近场通信)或者声波的方式,将安全信息从第一终端设备传递至第二终端设备,避免了安全信息在经过公网或者第三方平台时被非法获取,从传输渠道上减少了泄露的风险,提高了安全性。55.当安全信息以二维码的方式传递时,所述第一终端设备至少具有如显示屏等显示装置,用于显示该二维码,而所述第二终端设备至少具有如摄像头等摄像装置,用于拍摄该二维码的图像。当安全信息以声波的方式传递时,所述第一终端设备至少具有如扬声器等音频输出装置,用于播放该声波信息,而所述第二终端设备至少具有如麦克风等音频输入装置,用于接收该声波信息。当安全信息以nfc的方式传递时,所述第一终端设备和第二终端设备至少具有rfid(radiofrequencyidentification,射频识别)模块,用于实现近距离的信息传输。56.步骤s208,所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。57.第二终端设备在获取了第二文件以及对应的安全信息之后,即可根据安全信息中的解密相关信息对第二文件进行解密,同时根据原文件名对其进行重命名,将第二文件恢复为原始的第一文件,由此完成整个文件传输过程。其中,若第一终端设备在进行加密时是使用了密钥完成加密,则所述解密相关信息包括了解密所需要的密钥,并且会根据所述密钥对所述第二文件进行解密。例如,第一终端设备使用了对称加密的方式,则可以将用于加密的密钥作为解密相关信息,提供给第二终端设备用于解密,若使用了非对称加密,则需要将密钥对中用于解密的密钥提供给第二终端设备。58.图3示出了文件在所述交互流程中在各个设备之间流转过程,以一个音乐文件blahblah.mp3为例,第一终端设备110会对该第一文件blahblah.mp3进行加密和重命名,获得名为c0ee74d38a3的第二文件。在获得第二文件c0ee74d38a3之后,该第二文件会存储至传输服务器120中,并且第一终端设备110生成用于提供给第二终端设备的、关于所述第二文件的二维码qrcode1,第二终端设备在扫描qrcode1之后,会根据qrcode1中的信息向传输服务器130请求第二文件。第一终端设备在所述第二终端设备获取到所述第二文件之后向第二终端设备提供安全信息,使得第二终端设备可以获取到安全信息,并根据安全信息中的内容对第二文件进行解密和重命名获得第一文件,从而完成第一文件的传输。59.所述第二终端设备可以通过支持脚本程序的浏览器实现文件的传输。由此,在根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件时,所述第二终端设备的浏览器通过脚本程序,根据所述解密相关信息和原文件名对缓存中的第二文件进行解密和重命名,以获得第一文件,而后再调用浏览器的api(应用程序接口)将所述第一文件从缓存下载至所述第二终端设备的预设存储位置中。由此,整个传输过程中无需安装客户端,仅需要浏览器即可实现文件传输,使得用户使用时更加便利。60.在本技术的一些实施例中,为了进一步提高文件传输过程的安全性,所述第一终端设备可以对第一文件设置口令,以使所述第二终端设备通过口令才可以打开所述第一文件。例如,对于文件file1,第一终端设备设置了口令123456,可以将该口令携带于安全信息中传递给第二终端设备使用,或者在近场传输场景中,也可以由双方用户口头传递该口令,即第一终端设备的用户直接口头告知第二终端设备的用户该口令。由此可以在文件加密的基础上,进一步提高安全性。61.此外,所述第一终端设备还可以对所述第一文件进行哈希计算,获取第一文件的哈希值,并且在所述第二终端设备获取到所述第二文件之后,向第二终端设备提供所述哈希值,使得所述第二终端设备根据所述哈希值对所述第一文件进行完整性校验。例如,对于文件file2,第一终端设备计算获得其哈希值hash1:c0ee74d38a91fb7e984b8de1dfef0d53f26f3303,hash1可以携带于安全信息中,由此第二终端设备在获得安全信息时即可同时获得hash1,第二终端设备在从传输服务器获得file2之后,采用相同的哈希算法即可计算出该文件的哈希值hash2,通过比较hash2和hash即可实现file2的完整性验证。若hash2和hash1相同,则表示file2在传输过程中未发生过修改,反之,若hash2和hash1不同,则表示file2在传输过程中发生过修改,第二终端设备从传输服务器获得的文件可能不安全。62.在本技术的另一些实施例中,传输服务器可以并非是独立于终端设备之外的一个单独设备,可以是部署于第一终端设备中、利用第一终端设备上的软件和硬件来实现相应功能的模块。此时,所述第一终端设备可以开启热点功能,将第一终端设备作为一无线接入点(wirelessaccesspoint),使得第二终端设备连接至该无线接入点。由于传输服务器本身部署于第一终端设备中,而第二终端设备时通过第一终端设备提供的无线接入点连接至第一终端设备,因此无论是第二文件本身还是对应的安全信息,都可以不经过公网或者第三方平台,更加提高了文件传输过程的安全性。63.图3示出了采用本技术实施例的方案实现文件传输时的交互流程,其中,alice为发送方,对应于第一终端设备,bob为接收方,对应于第二终端设备,filedrop服务器为传输服务器,其交互过程如下:64.步骤s401,alice生成密钥key以及密钥标识key-id,例如本实施例中,key为cbtdpdx/298=,key-id为a395-12fd-b932。65.步骤s402,alice使用key加密待上传文件。66.步骤s403,alice计算待上传文件的哈希值hash,例如本实施中,计算获得的hash为c0ee74d38a91fb7e984b8de1dfef0d53f26f3303。67.步骤s404,记录原文件名filename,同时将hash作为新文件名来重命名带上传的文件。68.步骤s405,alice向filedrop服务器上传文件。69.步骤s406,filedrop服务器存储文件。70.步骤s407,filedrop服务器使用websocket向alice通知文件上传成功。filedrop服务器可以设置存储的有效时长,在超时后删除文件。71.步骤s408,alice展示qrcode1。该qrcode1中包含的内容可以采用如下形式的url:https://filedrop.xxxxx.com/<key-id>/<hash>。由于本实施例中,hash的具体值为c0ee74d38a91fb7e984b8de1dfef0d53f26f3303,key-id具体值为a395-12fd-b932,由此qrcode1中具体包含的内容为:https://filedrop.xxxxx.com/a395-12fd-b932/c0ee74d38a91fb7e984b8de1dfef0d53f26f3303。72.步骤s409,bob从alice扫描qrcode1。73.步骤s410,bob启动浏览器打开qrcode1中包含的url,向filedrop服务器请求url对应的文件。74.步骤s411,bob浏览器中的javascript调用webwritablefilesapi下载文件至浏览器缓存。75.步骤s412,filedrop服务器使用websocket向alice通知url已被打开。76.步骤s413,alice展示qrcode2,该qrcode2中可以至少包括filename,hash和key这几项内容,其中filename用于文件的重命名,使得文件名恢复为初始状态,hash用于进行文件的完整性验证,key用于实现解密。此外,若本技术实施例中支持多种加密算法,则可以增加关于具体加密算法的名称和参数的内容cipher,例如,cipher可以是aes-128-cbc。在此基础上还可以增加另外的信息,如key-id,url中部分域名等内容,以用作冗余验证。77.本实施例中,qrcode2的一种内容示例如下:{key-id:a395-12fd-b932,cipher:aes-128-cbc,key:cbtdpdx/298=,filename:blahblah.mp3,hash:c0ee74d38a91fb7e984b8de1dfef0d53f26f3303,filedrop:https://filedrop.xxxxx.com/}。78.步骤s414,bob浏览器调用摄像头扫描qrcode2。79.步骤s415,bob通过扫描获取qrcode2中包含的信息。80.步骤s416,bob浏览器的javascript根据hash对浏览器缓存中的文件进行完整性校验。81.步骤s417,bob浏览器的javascript根据cipher和key对浏览器缓存中的文件进行解密。82.步骤s418,bob浏览器的javascript对浏览器缓存中的文件进行重命名,将c0ee74d38a91fb7e984b8de1dfef0d53f26f3303命名为blahblah.mp3。83.步骤s419,bob调用浏览器下载api,弹出下载窗口,提供解密后的数据下载,将文件下载至预设的存储位置,由此完成文件的传输。84.基于同一发明构思,本技术实施例中还提供了用于实现文件传输的设备和系统,这些设备和系统对应的方法是前述实施例中实施的文件传输方法,并且其解决问题的原理与该方法相似。85.本技术实施例提供的用于文件传输的系统中,包括了第一终端设备110、第二终端设备120和传输服务器130。该系统在实现文件传输的过程中,传输的文件会被加密并且重命名,并且安全信息会直接在两个终端设备之间传输,而不会经过公网或第三方平台,因此安全性较高,信息泄露的可能性较小。其中,所述第一终端设备和第二终端设备均可以采用如图5所示的结构,包括处理模块510和交互模块520。86.对于第一终端设备,其处理模块用于对第一文件进行加密和重命名,获取第二文件;交互模块用于将所述第二文件存储至传输服务器;生成用于提供给第二终端设备的、关于所述第二文件的二维码,以使所述第二设备在扫描所述二维码之后,从所述传输服务器获取所述第二文件;以及在所述第二终端设备获取到所述第二文件之后,向向第二终端设备提供安全信息,所述安全信息包括解密相关信息和原文件名,以使所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。87.而对于第二终端设备,其交互模块用于扫描第一终端设备提供的关于所述第二文件的二维码,其中,所述第二文件为所述第一终端设备对第一文件进行加密和重命名所获取的文件;根据所述二维码中的信息,从传输服务器获取第二文件;从所述第一终端设备获取安全信息,所述安全信息包括解密相关信息和原文件名;处理模块用于所述第二终端设备根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。88.在实际场景中,所述第一终端设备和第二终端设备可以包括但不限于手机、平板电脑、智能手表、计算机等终端设备,所述传输服务器也可以包括但不限于终端设备、网络设备或者终端设备与网络设备通过网络相集成所构成的设备,此外也可以是部署于上述设备中的程序或者功能模块。所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(cloudcomputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。89.图2示出了在实现文件传输时各个设备之间的数据交互流程,包括如下处理步骤:90.步骤s201,第一终端设备的处理模块对第一文件进行加密和重命名,获取第二文件。在本实施例中,所述第一终端设备为文件的发送方,所述第一文件为需要传输的原始文件,而所述第二文件即为对原始文件进行加密处理和重命名处理之后所获得的文件。91.第一终端设备在对第一文件进行加密时,可以先密钥,而后基于所述密钥对所述第一文件进行加密,使得第一文件基于该密钥由明文计算生成对应的密文,由此即使第二文件被泄漏,其他人也无法获知原始文件的内容。92.其中,加密的方式可以根据实际需求采用对称加密或者非对称加密,若使用对称加密,则仅生成一个密钥即可,第一终端设备通过可靠的方式将所述密钥提供给第二终端设备,第一终端设备的加密过程和第二终端设备的解密过程均使用该密钥。若使用非对称加密,则生成的密钥实际为一个密钥对,第一终端设备将公钥提供给第二终端设备,第一终端设备的加密过程使用私钥,而第二终端设备的解密过程均使用公钥。93.在实际场景中,文件名一般包括主名和扩展名两部分,其中也可能携带一些用户不希望公开的保密信息,在文件泄漏时,其他人也有可能通过文件名来获得一些保密信息。因此,本技术实施例的方案中,除了对第一文件进行加密,还会对其进行重命名,按照一定的方式将第一文件的文件名进行修改,使得隐藏文件名中可能携带的保密信息。例如,在实际场景中,可以随机生成一些字符组合,作为新文件名,或者也可以将先对第一文件进行哈希计算,获得其对应的哈希值,而后将文件的哈希值作为新文件名来实现重命名。94.步骤s202,所述第一终端设备的交互模块将所述第二文件存储至传输服务器。在实际场景中,所述第一终端设备可以使用浏览器将第二文件上传至传输服务器中保存,由此无需用户安装相应的客户端,使得用户在传输文件时更加便利。95.所述传输服务器在存储第二文件时,可以为其设定一有效时长,例如该有效时长可以设定为1天、7天、1个月或者是永久有效等,若第二文件的存储时间超过了有效时长,可以自动删除第二文件,由此可以对已存储的第二文件进行有效管理,避免文件长时间留存于传输服务器而导致的泄漏风险。96.步骤s203,所述第一终端设备的交互模块生成用于提供给第二终端设备的、关于所述第二文件的二维码。97.在本技术的一些实施例中,所述二维码中需要携带关于所述第二文件的信息,使得第二终端设备在扫描而二维码之后,可以从传输服务器中获取到第二文件。例如,所述二维码中包含的信息可以是第二文件的url(uniformresourcelocator,统一资源定位符),第二终端设备在扫描二维码之后,可以获取到该url,而后基于该url向传输服务器发起资源获取请求,请求获取第二文件。实际场景中,可以采用任意类型的二维码,例如qrcode、pdf417、datamatrix、maxicode、code49、code16k等。98.所述第一终端设备生成二维码的处理步骤,可以由传输服务器触发执行,例如,传输服务器在成功存储第二文件之后,可以向第一终端设备发送存储完成的通知消息,而第一终端设备在获取到该通知消息之后,即可触发生成所述二维码。在实际场景中,所述传输服务器可以采用websocket协议发送通知消息。99.步骤s204,第二终端设备的交互模块扫描第一终端设备提供的关于所述第二文件的二维码。由于本技术实施例中的一种主要的应用场景是终端设备之间的近场文件传输,因此所述第一终端设备可以在其显示装置上显示二维码,由第二终端设备的摄像装置直接扫描其显示装置上的二维码。100.步骤s205,所述第二终端设备的交互模块根据所述二维码中的信息,从传输服务器获取第二文件。若所述二维码中的信息为第二文件的url,例如该url为:https://filedrop.xxxxx.com/a395/c0ee74d38a3。此时,第二终端设备可以通过浏览器向所述传输服务器请求所述第二文件,即在浏览器中打开该url,从而向传输服务器请求该url对应的资源(即第二文件)。传输服务器在收到请求之后,可以向第二终端设备返回第二文件。实际场景中,第二终端设备的浏览器可以先从所述传输服务器下载所述第二文件至缓存中,暂时存储。101.步骤s206,所述第一终端设备的交互模块在所述第二终端设备获取到所述第二文件之后,向第二终端设备提供安全信息。102.在实际场景中,“所述第二终端设备获取到所述第二文件”这一信息可以由传输服务器通知第一终端设备,当传输服务器根据第二终端设备的请求向第二终端设备返回其需要的第二文件之后,即可向第一终端设备发送通知消息,使得第一终端设备在获取到该通知消息即可确认第二终端设备已经获取到所述第二文件。在此,所述传输服务器可以采用websocket协议发送通知消息。103.步骤s207,所述第二终端设备的交互模块从所述第一终端设备获取安全信息。由于此时第二终端设备中所获取的是加密并重命名之后的第二文件,而非原始的第一文件,因此并未达到文件传输的目的,还需要获取对应的安全信息,将所述第二文件恢复为第一文件。104.在本技术的一些实施例中,所述安全信息至少包括了解密相关信息和原文件名,在同时获得第二文件和安全信息之后,即可解析获得原始的第一文件。因此,为了提高安全性,所述安全信息需要直接在第一终端设备和第二终端设备之间传输,而不通过公网或者第三方平台。例如,本技术的一些实施例中,以二维码、nfc(nearfieldcommunication,近场通信)或者声波的方式,将安全信息从第一终端设备传递至第二终端设备,避免了安全信息在经过公网或者第三方平台时被非法获取,从传输渠道上减少了泄露的风险,提高了安全性。105.当安全信息以二维码的方式传递时,所述第一终端设备至少具有如显示屏等显示装置,用于显示该二维码,而所述第二终端设备至少具有如摄像头等摄像装置,用于拍摄该二维码的图像。当安全信息以声波的方式传递时,所述第一终端设备至少具有如扬声器等音频输出装置,用于播放该声波信息,而所述第二终端设备至少具有如麦克风等音频输入装置,用于接收该声波信息。当安全信息以nfc的方式传递时,所述第一终端设备和第二终端设备至少具有rfid(radiofrequencyidentification,射频识别)模块,用于实现近距离的信息传输。106.步骤s208,所述第二终端设备的处理模块根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件。107.第二终端设备在获取了第二文件以及对应的安全信息之后,即可根据安全信息中的解密相关信息对第二文件进行解密,同时根据原文件名对其进行重命名,将第二文件恢复为原始的第一文件,由此完成整个文件传输过程。其中,若第一终端设备在进行加密时是使用了密钥完成加密,则所述解密相关信息包括了解密所需要的密钥,并且会根据所述密钥对所述第二文件进行解密。例如,第一终端设备使用了对称加密的方式,则可以将用于加密的密钥作为解密相关信息,提供给第二终端设备用于解密,若使用了非对称加密,则需要将密钥对中用于解密的密钥提供给第二终端设备。108.图3示出了文件在所述交互流程中在各个设备之间流转过程,以一个音乐文件blahblah.mp3为例,第一终端设备110会对该第一文件blahblah.mp3进行加密和重命名,获得名为c0ee74d38a3的第二文件。在获得第二文件c0ee74d38a3之后,该第二文件会存储至传输服务器120中,并且第一终端设备110生成用于提供给第二终端设备的、关于所述第二文件的二维码qrcode1,第二终端设备在扫描qrcode1之后,会根据qrcode1中的信息向传输服务器130请求第二文件。第一终端设备在所述第二终端设备获取到所述第二文件之后向第二终端设备提供安全信息,使得第二终端设备可以获取到安全信息,并根据安全信息中的内容对第二文件进行解密和重命名获得第一文件,从而完成第一文件的传输。109.所述第二终端设备可以通过支持脚本程序的浏览器实现文件的传输。由此,在根据所述解密相关信息和原文件名对所述第二文件进行解密和重命名,获得第一文件时,所述第二终端设备的浏览器通过脚本程序,根据所述解密相关信息和原文件名对缓存中的第二文件进行解密和重命名,以获得第一文件,而后再调用浏览器的api(应用程序接口)将所述第一文件从缓存下载至所述第二终端设备的预设存储位置中。由此,整个传输过程中无需安装客户端,仅需要浏览器即可实现文件传输,使得用户使用时更加便利。110.在本技术的一些实施例中,为了进一步提高文件传输过程的安全性,所述第一终端设备可以对第一文件设置口令,以使所述第二终端设备通过口令才可以打开所述第一文件。例如,对于文件file1,第一终端设备设置了口令123456,可以将该口令携带于安全信息中传递给第二终端设备使用,或者在近场传输场景中,也可以由双方用户口头传递该口令,即第一终端设备的用户直接口头告知第二终端设备的用户该口令。由此可以在文件加密的基础上,进一步提高安全性。111.此外,所述第一终端设备还可以对所述第一文件进行哈希计算,获取第一文件的哈希值,并且在所述第二终端设备获取到所述第二文件之后,向第二终端设备提供所述哈希值,使得所述第二终端设备根据所述哈希值对所述第一文件进行完整性校验。例如,对于文件file2,第一终端设备计算获得其哈希值hash1:c0ee74d38a91fb7e984b8de1dfef0d53f26f3303,hash1可以携带于安全信息中,由此第二终端设备在获得安全信息时即可同时获得hash1,第二终端设备在从传输服务器获得file2之后,采用相同的哈希算法即可计算出该文件的哈希值hash2,通过比较hash2和hash即可实现file2的完整性验证。若hash2和hash1相同,则表示file2在传输过程中未发生过修改,反之,若hash2和hash1不同,则表示file2在传输过程中发生过修改,第二终端设备从传输服务器获得的文件可能不安全。112.在本技术的另一些实施例中,传输服务器可以并非是独立于终端设备之外的一个单独设备,可以是部署于第一终端设备中、利用第一终端设备上的软件和硬件来实现相应功能的模块。此时,所述第一终端设备可以开启热点功能,将第一终端设备作为一无线接入点(wirelessaccesspoint),使得第二终端设备连接至该无线接入点。由于传输服务器本身部署于第一终端设备中,而第二终端设备时通过第一终端设备提供的无线接入点连接至第一终端设备,因此无论是第二文件本身还是对应的安全信息,都可以不经过公网或者第三方平台,更加提高了文件传输过程的安全性。113.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一些实施例包括一个如图6所示的计算设备,该设备包括存储有计算机可读指令的一个或多个存储器610和用于执行计算机可读指令的处理器620,其中,当该计算机可读指令被该处理器执行时,使得所述设备执行基于前述本技术的多个实施例的方法和/或技术方案。114.此外,本技术的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本技术的多个实施例的方法和/或技术方案。115.综上所述,本技术实施例提供的构建应用数据包的方案中,可以确定应用程序中需要构建为动态功能模块的外部依赖,由于外部依赖构建的动态功能模块与工程依赖所对应的动态功能模块不同,若直接使用appbundle默认的官方构建方式,无法获取到外部依赖构建的动态功能模块与主模块之间的依赖关系,因此可以对主模块和动态功能模块进行依赖分析,确定所述主模块和动态功能模块的依赖关系,由此在主模块的构建过程中插入动态功能模块的构建任务,并将所述动态功能模块的构建任务的数据提供给主模块的相应构建任务,以构建获得包括主模块和动态功能模块的应用数据包,有效减小应用数据包的大小,使其符合特定应用发布平台的要求。116.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。117.本
技术领域
:技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本
技术领域
:技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。118.本
技术领域
:技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。119.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1