一种网络请求处理方法及装置的制造方法

文档序号:9730100阅读:181来源:国知局
一种网络请求处理方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及计算机通信领域,具体涉及一种网络请求处理方法及装置。
【背景技术】
[0002]在计算机通信领域中,当客户端的某一应用程序需要与服务器进行通信时,该应用程序会向操作系统提交网络请求,该请求中包括请求地址、头信息和多种相关参数,操作系统会根据上述信息向服务器端请求数据,并将服务器反馈的数据提供给相应的应用程序。
[0003]通常同一客户端中会安装有多种网络通信应用程序,而多种应用程序会分别提交不同的网络请求,在实际情况中,会出现非常多的并发的网络请求,而客户端对这些网络请求缺乏统一的调度和管理,这样会使网络请求之间彼此影响效率。

【发明内容】

[0004]因此,本发明所要解决的是现有技术中的对这些网络请求缺乏统一的调度和管理、网络请求之间彼此影响效率的问题。
[0005]有鉴于此,本发明提供一种网络请求处理方法,包括如下步骤:获取网络请求;创建请求对象,所述请求对象包括所述网络请求中的请求地址、以及与所述网络请求相应的请求方法;判断阻塞队列是否已满;当所述阻塞队列未满时,将所述请求对象存入所述阻塞队列;当所述阻塞队列已满时,将所述请求对象存入缓冲队列;按照所述阻塞队列中存储的请求对象的顺序依次执行请求对象,并且当所述阻塞队列形成空余位置时,从所述缓冲队列中提取请求对象存入所述阻塞队。
[0006]优选地,所述请求对象还包括优先级信息。
[0007]优选地,所述创建请求对象包括:从预存的多个请求方法中确定与所获取的网络请求相应的请求方法;根据所获取的网络请求和所确定的请求方法构建请求对象;对所构建请求对象赋予优先级信息。
[0008]优选地,所述按照所述阻塞队列中存储的请求对象的顺序依次执行请求对象,并且当所述阻塞队列形成空余位置时,从所述缓冲队列中提取请求对象存入所述阻塞队包括:每执行一个所述阻塞队列中存储的请求对象后,判断所述缓冲队列中是否存在之前存入的请求对象;当所述缓冲队列中存在之前存入的请求对象时,将所述缓冲队列中的首个请求对象存入所述阻塞队列。
[0009]优选地,所述按照所述阻塞队列中存储的请求对象的顺序依次执行请求对象,包括:从所述阻塞队列中读取请求对象;利用读取的请求对象中的请求地址和请求方法向服务器请求网络数据;通过异步任务解析服务器反馈的网络数据;将解析后的网络数据分发到提交所述网络请求的页面。
[0010]相应地,本发明还提供一种网络请求处理装置,包括:获取单元,用于获取网络请求;创建单元,用于创建请求对象,所述请求对象包括所述网络请求中的请求地址、以及与所述网络请求相应的请求方法;判断单元,用于判断阻塞队列是否已满;第一存储单元,用于当所述阻塞队列未满时,将所述请求对象存入所述阻塞队列;第二存储单元,用于当所述阻塞队列已满时,将所述请求对象存入缓冲队列;执行单元,用于按照所述阻塞队列中存储的请求对象的顺序依次执行请求对象,并且当所述阻塞队列形成空余位置时,从所述缓冲队列中提取请求对象存入所述阻塞队。
[0011 ]优选地,所述请求对象还包括优先级信息。
[0012]优选地,所述创建单元包括:确定单元,用于从预存的多个请求方法中确定与所获取的网络请求相应的请求方法;构建单元,用于根据所获取的网络请求和所确定的请求方法构建请求对象;优先级设定单元,用于对所构建请求对象赋予优先级信息。
[0013]优选地,所述执行单元包括:队列判断单元,用于每执行一个所述阻塞队列中存储的请求对象后,判断所述缓冲队列中是否存在之前存入的请求对象;队列调度单元,用于当所述缓冲队列中存在之前存入的请求对象时,将所述缓冲队列中的首个请求对象存入所述阻塞队列。
[0014]优选地,所述执行单元包括:提取单元,用于从所述阻塞队列中读取请求对象;请求单元,用于利用读取的请求对象中的请求地址和请求方法向服务器请求网络数据;解析单元,用于通过异步任务解析服务器反馈的网络数据;分发单元,用于将解析后的网络数据分发到提交所述网络请求的页面。
【附图说明】
[0015]为了更清楚地说明本发明【具体实施方式】或现有技术中的技术方案,下面将对【具体实施方式】或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本发明实施例提供的网络请求处理方法的流程图;
[0017]图2为本发明实施例提供的网络请求处理装置的结构图。
【具体实施方式】
[0018]下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019]本发明实施例提供一种网络请求处理方法,该方法可以由客户端来执行,如图1所示该方法包括如下步骤:
[0020]S1,获取网络请求,该请求可以是由不同的应用程序提交的与不同服务器进行通信的请求,例如应用程序A提交的下载请求、应用程序B提交的登录请求;
[0021]S2,创建请求对象,所述请求对象包括所述网络请求中的请求地址、以及与所述网络请求相应的请求方法。各个应用程序提交的网络请求通常包含不同的请求地址、头信息和参数,本步骤具体可以是从网络请求中提取访问服务器时所必要的信息,必要信息包括但不限于上述请求地址、头信息和参数,然后根据提取到的必要信息创建请求对象。本步骤针对上述各种请求创建格式统一的请求对象,以便后续步骤对创建的请求对象进行统一处理。
[0022]S3,判断阻塞队列是否已满,在客户端中预先建立两个管理队列,分别为阻塞队列和缓冲队列,处理请求对象使优先使用阻塞队列,本领域技术人员可以理解,队列是一种具有“先进先出”管理特点的结构,并且其具有预定的容量,随着请求对象的出队和进队,队列中的内容数量是动态变化的,在先存入队列的内容会被优先处理,例如队列存满后,只有当队列中的首个内容出队后队列尾部会形成空余,此时则允许新的内容存入队列尾部。在此首先判断阻塞队列的存储状态,如果阻塞队列未满,则执行步骤S4,否则执行步骤S5;
[0023]S4,将所述请求对象存入所述阻塞队列,即将所创建的请求对象存入阻塞队列尾部;
[0024]S5,将所述请求对象存入缓冲队列,即将所创建的请求对象存入缓冲队列的尾部。实际上在此还存在阻塞队列、缓冲队列均已存满的情况,若出现此情况则等待,直至缓冲队列存在空余位置时再继续存入。
[0025]S6,按照所述阻塞队列中存储的请求对象的顺序依次执行请求对象,并且当所述阻塞队列形成空余位置时,从所述缓冲队列中提取请求对象存入所述阻塞队。执行请求对象的过程有多种,具体可包括如下步骤:从所述阻塞队列中读取请求对象;利用读取的请求对象中的请求地址和请求方法向服务器请求网络数据;通过异步任务解析服务器反馈的网络数据;将解析后的网络数据分发到提交所述网络请求的应用程序。
[0026]根据上述网络请求处理方案,可针对各个网络请求创建统一形式的请求对象数据,然后利用上述阻塞队列和缓冲队列对所有的请求对象数据进行统一的存储,并按照上述阻塞队列和缓冲队列的存储顺序依次执行所有的请求对象,由此则实现了对所有网络请求的统一管理和调度,提高了客户端访问服务器的效率。
[0027]为了进一步提高管理和调度处理的灵活性,上述请求对象中还可以包括优先级信息。具体地,预先可设置多种优先级以供选择,在创建请求对象时可以根据网络请求的内容、类型等多种因素,利用预先设定的优先级设置策略对每个请求对象赋予优先级信息,优先级信息可以决定该请求对象存入队列的顺序,例如优先级较高的请求对象可以优先存入阻塞队列。
[0028]作为一个优选的实施方式,上述步骤S2可以包括如下子步骤:
[0029]S21,从预存的多个请求方法中确定与所获取的网络请求相应的请求方法,客户端中可以预先存储可能用到的所有网络请求的请求方法,每获取到一个网络请求时,则调用相应的请求方法。
[0030]S22,根据所获取的网络请求和所确定的请求方法构建请求对象,即根据网络请求中的请求地址、头信息、参数等必要信息建立请求对象;
[0031 ] S2
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1