首页 / 一种上传文件的方法及终端

一种上传文件的方法及终端有效专利 发明

技术领域

[0001] 本发明涉及通信领域,特别涉及一种上传文件的方法及终端。

相关背景技术

[0002] 在通信网络中,用户可以上传图片到位于网络的服务器,其他用户可以从该服务器中获取该用户上传的图片,如此用户可以分享该图片给其他用户。
[0003] 其中,现有技术提供一种上传图片的方法供用户上传图片到服务器中,具体为:终端提供高中低三种压缩模式,每种模式对应一个压缩参数,用户选择一种压缩模式;终端获取用户选择的压缩模式对应的压缩参数,然后对待上传的图片进行压缩,得到待上传的图片对应的压缩包,发送待上传的图片对应的压缩包给服务器,服务器接收并存储该压缩包,以实现上传待上传的图片。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 终端与服务器之间的网络状况是可变的,用户选择的压缩模式可能不适合当前的网络状况,会导致上传时间较长以及压缩质量较差。

具体实施方式

[0054] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0055] 实施例1
[0056] 如图1所示,本发明实施例提供了一种上传文件的方法,包括:
[0057] 步骤101:终端获取其自身与业务服务器之间的有效带宽,有效带宽为终端实际可用带宽;
[0058] 步骤102:终端根据获取的有效带宽计算得到当前网络条件的压缩参数;
[0059] 步骤103:终端根据计算的压缩参数对待上传的文件进行压缩得到对应的压缩包;
[0060] 步骤104:终端发送压缩的压缩包至业务服务器。
[0061] 其中,待上传的文件可以为图片、视频文件或音频文件等。
[0062] 在本发明实施例中,终端获取其自身与业务服务器之间的有效带宽,根据获取的有效带宽计算得到当前网络条件的压缩参数,根据获取的压缩参数对待上传的文件进行压缩,得到待上传的文件对应的压缩包,发送待上传的文件对应的压缩包给业务服务器,以实现上传待上传的文件。如此,可以根据终端与业务服务器之间的网络情况来获取压缩参数,从而能够减少上传文件的时间和提高压缩文件的质量。
[0063] 实施例2
[0064] 本发明实施例提供了一种上传文件的方法。其中,在本实施例中,终端需要上传的文件为待上传的图片,且终端通过本实施例提供的方法将待上传的图片上传到业务服务器中,参见图2,该方法包括:
[0065] 步骤201:终端测量当前网络条件下其与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围;
[0066] 具体地,终端发送预设大小的测量包给业务服务器并从零开始计时,当接收到业务服务器返回的应答消息时停止计时,根据测量包的大小和计时的时间计算出终端与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围。
[0067] 其中,有效带宽为终端实际可用用于传输数据的带宽,事先在终端内存储预设大小的测量包,终端发送测量包给业务服务器,业务服务器接收该测量包后,返回应答消息给终端。
[0068] 其中,事先在终端内定义一个或多个带宽范围,以及每个带宽范围对应的压缩参数,该压缩参数至少包括分辨率和压缩率,并将定义的每个带宽范围和每个带宽范围对应的压缩参数存储在带宽范围与压缩参数的对应关系中。
[0069] 其中,在已存储的带宽范围与压缩参数的对应关系中,如果带宽范围越小,带宽范围对应的压缩参数包括的分辨率和压缩率也随之越小;如果带宽范围越大,带宽范围对应的压缩参数包括的分辨率和压缩率也随之越大。
[0070] 步骤202:终端根据确定出的带宽范围获取当前网络条件下的压缩参数,该压缩参数至少包括分辨率和压缩率;
[0071] 具体地,终端根据确定出的带宽范围,从已存储的带宽范围与压缩参数的对应关系中获取对应的压缩参数。
[0072] 其中,如果终端与业务服务器之间的有效带宽越小,确定的带宽范围也随之越小,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的分辨率和压缩率也随之越小,如此根据该压缩参数对待上传的图片进行压缩得到压缩包也越小,传输待上传的图片的压缩包的所需要的传输时间也越少;如果终端与业务服务器之间的有效带宽越大,确定的带宽范围也随之越大,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的分辨率和压缩率也随之越大,如此根据该压缩参数对待上传的图片进行压缩得到图片压缩质量越高。
[0073] 步骤203:可选地,终端根据预设的最大允许上传时间和终端与业务服务器之间的有效带宽计算流量大小;
[0074] 其中,终端内预设的最大允许上传时间用于要求终端尽量在预设的最大允许上传时间内上传完图片,来保证用户体验。
[0075] 步骤204:可选地,终端根据获取的压缩参数和待上传的图片的大小并通过已存储的压缩模型计算出压缩包大小;
[0076] 步骤205:可选地,终端判断计算的流量大小是否大于或等于计算的压缩包大小,如果是,执行步骤206,如果否,执行步骤207;
[0077] 其中,如果计算的流量大小大于或等于计算的压缩包大小,则判断出能在预设的最大允许时间内上传完待上传的图片;如果计算的流量大小小于计算的压缩包大小,则判断出不能在预设的最大允许时间内上传完待上传的图片。
[0078] 步骤206:可选地,终端确定获取的压缩参数所在的压缩参数范围,从确定的压缩参数范围中获取最小的压缩参数;
[0079] 具体地,终端确定获取的分辨率所在的分辨范围,从确定的分辨率范围中获取最小的分辨率,确定获取的压缩率所在的压缩率范围,从确定的压缩率范围中获取最小的压缩率。
[0080] 其中,已存储的带宽范围与压缩参数的对应关系中的每个压缩参数对应一个压缩参数范围,对于任一个压缩参数,该压缩参数为其对应的压缩参数范围的平均压缩参数,即该压缩参数包括分辨率和压缩率,该分辨率为其对应分辨率范围的平均分辨率,该压缩率为其对应压缩率范围的平均压缩率。
[0081] 其中,计算的压缩包的大小大于计算的流量大小,则表明终端上传待上传的图片所需要的时间可能大于最大允许上传时间,在本实施例中,可以从确定的压缩参数范围中获取最小的压缩参数,使得根据选择的压缩参数对待上传的图片进行压缩时得到的压缩包越小,上传待上传的图片所需要时间也随之越小。
[0082] 步骤207:终端根据该压缩参数对待上传的图片进行压缩,得到待上传的图片对应的压缩包;
[0083] 其中,用户可以向终端提交需求信息来告知终端用户的需求,用户的需求包括要求高压缩质量或要求高压缩分辨率;
[0084] 相应地,终端接收用户提交的需求信息,根据该需求信息确定用户的需求,如果用户的需求为要求高压缩质量,则根据压缩参数包括的压缩率确定出对应的压缩率范围,从压缩率范围中选择最大的压缩率,根据该压缩参数包括的分辨率和选择的压缩率对待上传的图片进行压缩,得到待上传的图片对应的压缩包;如果用户的需求为要求高压缩分辨率,则根据压缩参数包括的分辨率确定出对应的分辨率范围,从分辨率范围中选择最大的分辨率,根据选择的分辨率和该压缩参数包括的压缩率对待上传的图片进行压缩,得到待上传的图片对应的压缩包。
[0085] 步骤208:终端发送待上传的图片对应的压缩包给业务服务器,以实现上传待上传的图片。
[0086] 在本发明实施例中,测量当前网络条件下终端与业务服务器之间的有效带宽,根据终端与业务服务器之间的有效带宽获取压缩参数,根据获取的压缩参数对待上传的图片进行压缩,得到待上传的图片对应的压缩包,发送待上传的图片对应的压缩包给业务服务器,以实现上传待上传的图片。如此,可以根据终端与业务服务器之间的有效带宽来获取压缩参数,从而能够减少上传图片的时间和提高压缩图片的质量。
[0087] 实施例3
[0088] 本发明实施例提供了一种上传文件的方法。其中,在本实施例中,终端需要上传的文件为待上传的视频文件,且终端通过本实施例提供的方法将待上传的视频文件上传到业务服务器中,参见图3,该方法包括:
[0089] 步骤301:终端测量当前网络条件下其与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围;
[0090] 具体地,终端发送预设大小的测量包给业务服务器并从零开始计时,当接收到业务服务器返回的应答消息时停止计时,根据测量包的大小和计时的时间计算出终端与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围。
[0091] 其中,事先在终端内存储预设大小的测量包,终端发送测量包给业务服务器,业务服务器接收该测量包后,返回应答消息给终端。
[0092] 其中,事先在终端内定义一个或多个带宽范围,以及每个带宽范围对应的压缩参数,该压缩参数至少包括分辨率、压缩率和帧速率,并将定义的每个带宽范围和每个带宽范围对应的压缩参数存储在带宽范围与压缩参数的对应关系中。
[0093] 其中,在已存储的带宽范围与压缩参数的对应关系中,如果带宽范围越小,带宽范围对应的压缩参数包括的分辨率、压缩率和帧速率也随之越小;如果带宽范围越大,带宽范围对应的压缩参数包括的分辨率、压缩率和帧速率也随之越大。
[0094] 步骤302:终端根据确定出的带宽范围获取压缩参数,该压缩参数至少包括分辨率、压缩率和帧速率;
[0095] 具体地,终端根据确定出的带宽范围,从已存储的带宽范围与压缩参数的对应关系中获取对应的压缩参数。
[0096] 其中,如果终端与业务服务器之间的有效带宽越小,确定的带宽范围也随之越小,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的分辨率、压缩率和帧速率也随之越小,如此根据该压缩参数对待上传的视频文件进行压缩得到压缩包也越小,传输待上传的视频文件的压缩包的所需要的传输时间也越少;如果终端与业务服务器之间的有效带宽越大,确定的带宽范围也随之越大,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的分辨率、压缩率和帧速率也随之越大,如此根据该压缩参数对待上传的视频文件进行压缩得到视频文件压缩质量越高。
[0097] 步骤303:可选地,终端根据预设的最大允许上传时间和终端与业务服务器之间的有效带宽计算流量大小;
[0098] 其中,终端内预设的最大允许上传时间用于要求终端尽量在预设的最大允许上传时间内上传完视频文件,来保证用户体验。
[0099] 步骤304:可选地,终端根据获取的压缩参数和待上传的视频文件的大小并通过已存储的压缩模型计算出压缩包的大小;
[0100] 步骤305:可选地,终端判断计算的流量大小是否大于或等于计算的压缩包大小,如果是,执行步骤306,如果否,执行步骤307;
[0101] 其中,如果计算的流量大小大于或等于计算的压缩包大小,则判断出能在预设的最大允许时间内上传完待上传的视频文件;如果计算的流量大小小于计算的压缩包大小,则判断出不能在预设的最大允许时间内上传完待上传的视频文件。
[0102] 步骤306:可选地,终端确定获取的压缩参数所在的压缩参数范围,从确定的压缩参数范围中获取最小的压缩参数;
[0103] 具体地,终端确定获取的分辨率所在的分辨范围,从确定的分辨率范围中获取最小的分辨率,确定获取的压缩率所在的压缩率范围,从确定的压缩率范围中获取最小的压缩率,确定获取的帧速率所在的帧速率范围,从确定的帧速率范围中获取最小的帧速率。
[0104] 其中,已存储的带宽范围与压缩参数的对应关系中的每个压缩参数对应一个压缩参数范围,对于任一个压缩参数,该压缩参数为其对应的压缩参数范围的平均压缩参数,即该压缩参数包括分辨率、压缩率和帧速率,该分辨率为其对应分辨率范围的平均分辨率,该压缩率为其对应压缩率范围的平均压缩率以及该帧速率为其对应帧速率范围的平均帧速率。
[0105] 其中,计算的压缩包的大小大于计算的流量大小,则表明终端上传待上传的视频文件所需要的时间可能大于最大允许上传时间,在本实施例中,可以从确定的压缩参数范围中获取最小的压缩参数,使得根据选择的压缩参数对待上传的视频文件进行压缩时得到的压缩包越小,上传待上传的视频文件所需要时间也随之越小。
[0106] 步骤307:终端根据该压缩参数对待上传的视频文件进行压缩,得到待上传的视频文件对应的压缩包;
[0107] 其中,用户可以向终端提交需求信息来告知终端用户的需求,用户的需求包括要求高压缩质量或要求高压缩分辨率;
[0108] 相应地,终端接收用户提交的需求信息,根据该需求信息确定用户的需求,如果用户的需求为要求高压缩质量,则根据压缩参数包括的压缩率确定出对应的压缩率范围,从压缩率范围中选择最大的压缩率,根据该压缩参数包括的分辨率和帧速率以及选择的压缩率对待上传的视频文件进行压缩,得到待上传的视频文件对应的压缩包;如果用户的需求为要求高压缩分辨率,则根据压缩参数包括的分辨率确定出对应的分辨率范围,从分辨率范围中选择最大的分辨率,根据选择的分辨率以及该压缩参数包括的压缩率和帧速率对待上传的视频文件进行压缩,得到待上传的视频文件对应的压缩包。
[0109] 步骤308:终端发送待上传的视频文件对应的压缩包给业务服务器,以实现上传待上传的视频文件。
[0110] 在本发明实施例中,测量当前终端与业务服务器之间的有效带宽,根据终端与业务服务器之间的有效带宽获取压缩参数,根据获取的压缩参数对待上传的视频文件进行压缩,得到待上传的视频文件对应的压缩包,发送待上传的视频文件对应的压缩包给业务服务器,以实现上传待上传的视频文件。如此,可以根据终端与业务服务器之间的有效带宽来获取压缩参数,从而能够减少上传视频文件的时间和提高压缩视频文件的质量。
[0111] 实施例4
[0112] 本发明实施例提供了一种上传文件的方法。其中,在本实施例中,终端需要上传的文件为待上传的音频文件,且终端通过本实施例提供的方法将待上传的音频文件上传到业务服务器中,参见图4,该方法包括:
[0113] 步骤401:终端测量当前其与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围;
[0114] 具体地,终端发送预设大小的测量包给业务服务器并从零开始计时,当接收到业务服务器返回的应答消息时停止计时,根据测量包的大小和计时的时间计算出终端与业务服务器之间的有效带宽,确定终端与业务服务器之间的有效带宽所在的带宽范围。
[0115] 其中,事先在终端内存储预设大小的测量包,终端发送测量包给业务服务器,业务服务器接收该测量包后,返回应答消息给终端。
[0116] 其中,事先在终端内定义一个或多个带宽范围,以及每个带宽范围对应的压缩参数,该压缩参数至少包括采样率和采样精度,并将定义的每个带宽范围和每个带宽范围对应的压缩参数存储在带宽范围与压缩参数的对应关系中。
[0117] 其中,在已存储的带宽范围与压缩参数的对应关系中,如果带宽范围越小,带宽范围对应的压缩参数包括的采样率和采样精度也随之越小;如果带宽范围越大,带宽范围对应的压缩参数包括的采样率和采样精度也随之越大。
[0118] 步骤402:终端根据确定出的带宽范围获取压缩参数,该压缩参数至少包括采样率和采样精度;
[0119] 具体地,终端根据确定出的带宽范围,从已存储的带宽范围与压缩参数的对应关系中获取对应的压缩参数。
[0120] 其中,如果终端与业务服务器之间的有效带宽越小,确定的带宽范围也随之越小,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的采样率和采样精度也随之越小,如此根据该压缩参数对待上传的音频文件进行压缩得到压缩包也越小,传输待上传的音频文件的压缩包的所需要的传输时间也越少;如果终端与业务服务器之间的有效带宽越大,确定的带宽范围也随之越大,从已存储的带宽范围与压缩参数的对应关系中获取确定的带宽范围对应的压缩参数包括的采样率和采样精度也随之越大,如此根据该压缩参数对待上传的音频文件进行压缩得到音频文件压缩质量越高。
[0121] 步骤403:可选地,终端根据预设的最大允许上传时间和终端与业务服务器之间的有效带宽计算流量大小;
[0122] 其中,终端内预设的最大允许上传时间用于要求终端尽量在预设的最大允许上传时间内上传完音频文件,来保证用户体验。
[0123] 步骤404:可选地,终端根据获取的压缩参数和待上传的音频文件的大小并通过已存储的压缩模型计算出压缩包的大小;
[0124] 步骤405:可选地,终端判断计算的流量大小是否大于或等于计算的压缩包大小,如果是,执行步骤406,如果否,执行步骤407;
[0125] 其中,如果计算的流量大小大于或等于计算的压缩包大小,则判断出能在预设的最大允许时间内上传完待上传的音频文件;如果计算的流量大小小于计算的压缩包大小,则判断出不能在预设的最大允许时间内上传完待上传的音频文件。
[0126] 步骤406:可选地,终端确定获取的压缩参数所在的压缩参数范围,从确定的压缩参数范围中获取最小的压缩参数;
[0127] 具体地,终端确定获取的采样率所在的采样率范围,从确定的采样率范围中获取最小的采样率,确定获取的采样精度率所在的采样精度范围,从确定的采样精度范围中获取最小的采样精度。
[0128] 其中,已存储的带宽范围与压缩参数的对应关系中的每个压缩参数对应一个压缩参数范围,对于任一个压缩参数,该压缩参数为其对应的压缩参数范围的平均压缩参数,即该压缩参数包括采样率和采样精度,该采样率为其对应采样率范围的平均采样率,该采样精度为其对应采样精度范围的平均采样精度。
[0129] 其中,计算的压缩包的大小大于计算的流量大小,则表明终端上传待上传的音频文件所需要的时间可能大于最大允许上传时间,在本实施例中,可以从确定的压缩参数范围中获取最小的压缩参数,使得根据选择的压缩参数对待上传的音频文件进行压缩时得到的压缩包越小,上传待上传的音频文件所需要时间也随之越小。
[0130] 步骤407:终端根据该压缩参数对待上传的音频文件进行压缩,得到待上传的音频文件对应的压缩包;
[0131] 步骤408:终端发送待上传的音频文件对应的压缩包给业务服务器,以实现上传待上传的音频文件。
[0132] 在本发明实施例中,测量当前终端与业务服务器之间的有效带宽,根据终端与业务服务器之间的有效带宽获取压缩参数,根据获取的压缩参数对待上传的音频文件进行压缩,得到待上传的音频文件对应的压缩包,发送待上传的音频文件对应的压缩包给业务服务器,以实现上传待上传的音频文件。如此,可以根据终端与业务服务器之间的有效带宽来获取压缩参数,从而能够减少上传音频文件的时间和提高压缩音频文件的质量。
[0133] 实施例5
[0134] 如图5所示,本实施例提供了一种上传文件的终端,包括:
[0135] 获取模块501,用于获取终端与业务服务器之间的有效带宽,所述有效带宽为所述终端实际可用带宽;
[0136] 计算模块502,用于根据所述有效带宽计算得到当前网络条件的压缩参数;
[0137] 压缩模块503,用于根据所述压缩参数对所述待上传的文件进行压缩得到对应的压缩包;
[0138] 发送模块504,用于发送所述压缩包至所述业务服务器。
[0139] 其中,计算模块502包括:
[0140] 获取单元,用于根据获取的有效带宽,从预设在终端的带宽范围与压缩参数的对应关系中获取对应的压缩参数。
[0141] 进一步地,计算模块502还包括:
[0142] 判断单元,用于根据终端与业务服务器之间的有效带宽和压缩参数判断能否在预设的最大允许时间内上传完待上传的文件;
[0143] 选择单元,用于如果不能,则确定压缩参数所在压缩参数范围,从该压缩参数范围中选择最小压缩参数。
[0144] 其中,判断单元包括:
[0145] 第一计算子单元,用于根据预设的最大允许上传文件的时间和终端与业务服务器之间的有效带宽计算出流量大小;
[0146] 第二计算子单元,用于根据该压缩参数和待上传的文件的大小并通过已存储的压缩模型计算出压缩包大小;
[0147] 第一判断子单元,用于如果计算的流量大小大于或等于计算的压缩包大小,则判断出能在预设的最大允许时间内上传完待上传的文件;
[0148] 第二判断子单元,用于如果计算的流量大小小于计算的压缩包大小,则判断出不能在预设的最大允许时间内上传完待上传的文件。
[0149] 其中,待上传的文件为图片或视频文件,该压缩参数至少包括分辨率和压缩率;
[0150] 压缩模块503包括:
[0151] 第一压缩单元,用于如果用户的需求为要求高压缩分辨率,确定分辨率所在的分辨率范围,从该分辨率范围中获取最大的分辨率,根据最大的分辨率和压缩参数中除分辨率以外的其他压缩参数对待上传的文件进行压缩得到待上传的文件对应的压缩包;
[0152] 第二压缩单元,用于如果用户的需求为要求高压缩质量,确定压缩率所在的压缩率范围,从压缩率范围中获取最大的压缩率,根据最大的压缩率和压缩参数中除压缩率以外的其他压缩参数对待上传的文件进行压缩得到该待上传的文件对应的压缩包。
[0153] 其中,获取模块501,用于发送预设大小的测量包给业务服务器,并从零开始计时,当接收到业务服务器返回的应答消息时停止计时,根据测量包的大小和计时的时间计算出终端与业务服务器之间的有效带宽。
[0154] 在本发明实施例中,根据当前终端与业务服务器之间的有效带宽获取压缩参数,根据获取的压缩参数对待上传的文件进行压缩,得到待上传的文件对应的压缩包,发送待上传的文件对应的压缩包给业务服务器,以实现上传待上传的文件。如此,可以根据终端与业务服务器之间的网络情况来获取压缩参数,从而能够减少上传文件的时间和提高压缩文件的质量。
[0155] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0156] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页