一种资源下载方法和装置的制造方法

文档序号:9910790阅读:635来源:国知局
一种资源下载方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络领域,特别涉及一种资源下载方法和装置。
【背景技术】
[0002]在开发0S2和Window程序时,正式引入了资源的概念。如Borland的C++,Delphi把会话框分为两部分:一部分是程序的逻辑,另一部分是对话框及其上面的控件的大小、位置、字体等信息。这些信息就是资源,它在程序中就是不变的常量。早期的资源文件一般都被嵌入到程序中,我们可以使用一些工具在dll或exe中读取这些资源。
[0003]随着计算机技术的飞速发展,资源的类型也越来越丰富,例如图片、音频、视频等等。从软件国际化(Globalizat1n/Localizat1n)的角度,可以把资源分成两大类:一类是需要随使用者所用的语言而改变的资源,如软件的中文版、英文版等;另一类是不需要随使用者所用的语言而改变的资源,如:音频、图像等。从资源出现的方式来看,资源可以分为三大类:第一类是嵌入在程序集里面;第二类是以单独文件的形式出现在本地的存储介质上(通常是硬盘);第三类是以单独的文件存在在异地的存储介质上,如网络硬盘等。
[0004]然而,在资源下载过程中,经常会因为资源的提供方提供的种子不足,或者网速的变慢,致使资源下载的速度变慢,例如在迅雷客户端下载某一部电影的过程中,资源数目为198,然而,只有50的资源是可用并有效的,致使资源下载的速度只有198K/S,而正常的下载速度一般超过lM/s以上。

【发明内容】

[0005]基于此,为解决上述现有技术的问题,提供了一种资源下载的方法和装置。
[0006]—种资源下载方法,所述方法包括:
将预设代码注入资源下载客户端的下载进程中;
通过所述进程中的所述预设代码获取资源共享方提供的片源数据;
若判断所述片源数据与正在下载的片源数据的数据类型相同,并且所述片源的ed2k地址与正在下载的片源的ed2k地址相同,则,
开启资源通道并向所述资源共享方所述的第三方服务器发送资源获取请求,使所述第三方服务器通过所述资源通道传输包含片源数据的资源。
[0007]在其中一个实施例中,所述将预设代码注入资源下载客户端的下载进程中,所述方法包括:
远程调用所述进程中的用于加载动态链接库的系统调用函数以根据所述路径加载所述动态链接库;
远程调用所述进程的用于操作动态链接库的系统调用函数获取所述动态链接库中用于处理下载资源的函数的函数地址;
根据获取的函数地址执行相应的函数。
[0008]在其中另一个实施例中,所述预设代码通过辅助应用注入所述下载进程中,所述方法还包括:
通过所述进程接收所述第三方服务器反馈的资源信息;
通过所述辅助应用获取来自所述进程的所述资源信息;
展示所述资源信息,和/或,根据获取的资源信息进行统计,得到统计结果。
[0009]在其中另一个实施例中,所述预设代码通过辅助应用被注入所述资源下载客户端的进程中,所述方法还包括:
通过所述辅助应用获取所述资源下载客户端的下载数据;
根据所述下载数据判断是否需要开启告诉通道加速,和/或开启离线下载加速;
将所述判断结果传递给所述进程,使所述进程调用用于开启高速加速通道的函数进行加速下载,或者,调用用于开启离线加速通道的函数进行离线加速下载。
[0010]在其中另一个实施例中,所述方法还包括:
所述辅助应用搜索所述资源下载客户端中是否存在其他的进程;
判断所述进程是否为无用进程;
若是,则关闭所述无用进程以释放所述无用进程的内存。
[0011 ] —种资源下载装置,所述装置包括:
注入模块,用于将预设代码注入资源下载客户端的下载进程中;
第一获取模块,用于通过所述进程中的所述预设代码获取资源共享方提供的片源数据;
第一判断模块,用于当判断所述片源数据与正在下载的片源数据的数据类型相同,并且所述片源的ed2k地址与正在下载的片源的ed2k地址相同,则,
开启模块,用于开启资源通道并向所述资源共享方所述的第三方服务器发送资源获取请求,使所述第三方服务器通过所述资源通道传输包含片源数据的资源。
[0012]在其中一个实施例中,所述注入模块包括:第一调用单元,用于远程调用所述进程中的用于加载动态链接库的系统调用函数以根据所述路径加载所述动态链接库;
第二调用单元,用于远程调用所述进程的用于操作动态链接库的系统调用函数获取所述动态链接库中;
处理单元,用于处理下载资源的函数的函数地址;
执行单元,用于根据获取的函数地址执行相应的函数
在其中另一个实施例中,所述预设代码通过辅助应用注入所述下载进程中,所述装置还包括:
接收模块,用于通过所述进程接收所述第三方服务器反馈的资源信息;
第二获取模块,用于通过所述辅助应用获取来自所述进程的所述资源信息;
展示模块,用于展示所述资源信息,和/或,根据获取的资源信息进行统计,得到统计结果O
[0013]在其中另一个实施例中,所述预设代码通过辅助应用被注入所述资源下载客户端的进程中,所述装置还包括:
第三获取模块,通过所述辅助应用获取所述资源下载客户端的下载数据;
第二判断模块,用于根据所述下载数据判断是否需要开启高速通道加速,和/或开启离线下载加速; 调用模块,用于将所述判断结果传递给所述进程,使所述进程调用用于开启高速加速通道的函数进行加速下载,或者,调用用于开启离线加速通道的函数进行离线加速下载。
[0014]在其中另一个实施例中,所述装置还包括:
搜索模块,用于根据所述辅助应用搜索所述资源下载客户端中是否存在其他的进程; 第三判断模块,用于判断所述进程是否为无用进程;
关闭模块,用于当判断结果为是,则关闭所述无用进程以释放所述无用进程的内存。
[0015]有益效果:
本发明的一种资源下载方法,所述方法包括:将预设代码注入资源下载客户端的下载进程中;通过所述进程中的所述预设代码获取资源共享方提供的片源数据;若判断所述片源数据与正在下载的片源数据的数据类型相同,并且所述片源的ed2k地址与正在下载的片源的ed2k地址相同,则开启资源通道并向所述资源共享方所述的第三方服务器发送资源获取请求,使所述第三方服务器通过所述资源通道传输包含片源数据的资源。通过上述方法,加快资源下载的速度。
【附图说明】
[0016]图1是本发明的一种资源下载方法的方法流程图;
图2是本发明的一种资源下载装置的模块框图。
【具体实施方式】
[0017]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0018]如图1所示,在一个实施例中,提供了一种资源下载方法,所述方法包括:
SlOl:将预设代码注入资源下载客户端的下载进程中;
S102:通过所述进程中的所述预设代码获取资源共享方提供的片源数据;
S103:若判断所述片源数据与正在下载的片源数据的数据类型相同,并且所述片源的ed2k地址与正在下载的片源的ed2k地址相同,则,
S104:开启资源通道并向所述资源共享方所述的第三方服务器发送资源获取请求,使所述第三方服务器通过所述资源通道传输包含片源数据的资源。
[0019]在一个实施例中,提供了一种用于资源下载的终端,该终端设置有资源下载客户端,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏以及输入装置。其中处理器具有计算功能和控制终端工作的功能,该处理器被配置为执行一种下载资源处理方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质中的至少一种,非易失性存储介质存储有操作系统和下载资源处理装置。该下载资源处理装置用于实现一种下载资源处理方法。网络接口用于连接到网络与社交应用服务器或者辅助应用服务器通信。显示屏包括液晶显示屏、柔性显示屏和电子墨水显示屏中的至少一种。输入装置包括物理按钮、轨迹球、触控板以及与显示屏重叠的触控层中的至少一种,其中触控层与显示屏组合形成触控屏。
[0020]具体地,预设代码是预先编写的用于实现下载资源处理方法的代码,可以采用C语言或者C++语言编写。注入是指在进程中加入可执行的代码的过程,注入可以是远程注入,是指在一个进程中通过调用远程注入系统函数在另一个进程中加入可执行的代码的过程。在不同的操作系统下可使用不同的远程注入系统函数实现远程注入,比如在Android(安卓)操作系统下可使用远程注入系统函数PtraceO实现远程注入,在Solaris操作系统下可使用远程注入系统函数dtrace()实现远程注入,在Mac操作系统下可使用远程注入系统函数dtrussO实现远程注入。社交应用通常具有联系人查找功能以及即时通信功能,还可以具有UGC(User Generated Content,用户生成内容)分享功能以及UGC评论功能。
[0021]在一个实施例中,步骤101具体包括如下步骤:
步骤a,远程调用社交应用的进程的用于分配存储空间的系统调用函数以分配存储空间,并在存储空间中写入动态链接库的路径。
[0022]具体地,终端可通过辅助应用获取社交应用的进程标识(PID),从而通过该进程标识连接到社交应用的进程。终端通过辅助应用获取进程的寄存器值并保存,以便完成注入后恢复进程原有的状态。终端通过辅助应用获取进程的用于分配存储空间的系统调用函数(_ap)的调用地址、用于加载动态链接库的系统调用函数(dlopen)的调用地址以及用于操作动态链接库的系统调用函数(dlsym)的调用地址。从而根据进程的用于分配存储空间的系统调
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1