Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于Windows Phone 8平台的引导应用流量的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:网宿科技股份有限公司

摘要:本发明提供了一种基于Windows Phone 8平台的引导应用流量的方法,该方法包括:向系统注册HTTPHTTPS前缀的请求创建模块并配置目标代理服务器的IP地址及端口;构造一个自主实现的支持代理设置的HTTP请求对象;在该HTTP请求对象中设置之前所配置的目标代理服务器的IP地址以及端口;将该HTTP请求对象返回给上层应用程序;解析所述上层应用程序的请求并按对应格式转发给所述目标代理服务器;接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序;从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序。

主权项:一种基于Windows Phone 8平台的引导应用流量的方法,其特征在于,包括:向系统注册HTTPHTTPS前缀的请求创建模块并配置目标代理服务器的IP地址及端口;构造一个自主实现的支持代理设置的HTTP请求对象;在该HTTP请求对象中设置之前所配置的目标代理服务器的IP地址以及端口;将该HTTP请求对象返回给上层应用程序;解析所述上层应用程序请求并按对应格式转发给所述目标代理服务器;接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序;从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序。

全文数据:_种基于WindowsPhone8平台的引导应用流量的方法技术领域[0001] 本发明涉及流量引导技术,尤其涉及WindowsPhone8平台下的非侵入式Http、Https协议的流量引导技术。背景技术[0002]目前,内容分发网络CDN动态加速技术对于提高移动应用的网络体验具有明显效果。而进行动态加速的基础要能够获得用户访问流量。目前,可采用远程方法引导移动应用访问流量。远程方法是通过CNAME机制,设置访问域名的别名,实现将流量指向自己的服务器。这种方法的优点是客户端无需配置即可使用,但缺点是只能使用通用的传输协议,无法在客户端对数据流进行个性化优化。[0003] 为了能优化动态内容的访问链路,往往需要将移动应用的流量引导到内容分发网络的服务器上。目前Http与Https协议是移动应用程序最为常用的网络传输协议。而WindowsPhone8平台主要通过WebClient和WebRequest这两个类实现HTTP请求的构造和提交,以及HTTP响应的获取和解析。但是WindowsPhone8平台下,WebClient和WebRequest不支持代理服务器设置的接口,因此无法对系统原生的WebClient和WebRequest类的流量进行引导。另外,利用软件开发库SDK进行嵌入的时候,为了最大了限度的方便用户的接入,需要把额外的调用的数量降到最低。[0004] 因此,亟需一种能在本地实现的引导应用流量的方法。发明内容[0005] 为了克服上述缺陷,本申请提供了一种基于WindowsPhone8平台的引导应用流量的方法。[0006] 所述方法包括以下几个步骤。[0007] 向系统注册HTTPHTTPS前缀的请求创建模块并配置目标代理服务器的IP地址及端口;[0008] 构造一个自主实现的支持代理设置的HTTP请求对象;[0009] 在该HTTP请求对象中设置之前所配置的目标代理服务器的IP地址以及端口;[0010] 将该HTTP请求对象返回给上层应用程序;[0011] 解析所述上层应用程序的请求并按对应格式转发给所述目标代理服务器;[0012] 接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序;[0013] 从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序。[0014] 在一个实施例中,所述解析上层应用程序请求并按对应格式转发给所述目标代理服务器的步骤包括:[0015] 解析所述上层应用程序请求所对应用户请求中的URL并构造HTTPHTTPS请求头部;[0016] 根据URL的前缀类型,创建连接所述目标代理服务器的对应连接类型;如果是HTTP前缀,则创建TCP连接;如果是HTTPS前缀,则调用SSL,完成SSL握手;[0017] 向所述目标代理服务器发送HTTPHTTPS请求。[0018] 在一个实施例中,所述接收所述HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序的步骤包括:[0019] 获取所述HTTP响应的头部;[0020] 在成功接收所述HTTP响应的头部后,创建HTTP响应对象,并根据HTTP响应的头部的各个字段值,设置HTTP响应对象的各属性;[0021] 将HTTP响应对象返回给所述上层应用程序。[0022] 在一个实施例中,所述从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序的步骤包括:[0023] 从所述目标代理服务器处接收所述HTTP响应的内容;[0024] 检查所述HTTP响应的内容的属性;[0025] 若所述HTTP响应的内容的属性为压缩属性,则对接收到的所述HTTP响应的内容进行解压缩,然后返回给所述上层应用程序;否则直接将接收到的所述HTTP响应的内容返回给所述上层应用程序。[0026] 在一个实施例中,所述方法采用软件开发库嵌入到应用程序中实现。[0027] 在一个实施例中,所述客户端中的代码结构和业务逻辑不做任何改变。[0028] 本发明的优点在于在WindowsPhone8平台下,原客户端中的代码结构和业务逻辑无需做任何改变,只需将流量引导SDK嵌入到应用程序中,并进行初始化配置,便能将使用基于WebClient类进行访问的HTTPHTTPS流量引导到指定的地址,以便于后续的链路优化和协议优化。而且,本发明通过本地方法,则将流量引导到本地的客户端上来,为优化客户端的接入方式提供巨大灵活性,克服了远程方法所带来的缺陷。附图说明[0029] 本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。[0030]图1示出根据本发明的一实施例的流量引导模块的初始化流程;[0031] 图2示出根据本发明的一实施例的流量引导模块的创建httphttps请求的流程图;[0032] 图3示出根据本发明一实施例的创建HTTP请求响应模块的流程图;[0033] 图4示出根据本发明的一实施例的获取响应内容的流程图;以及[0034] 图5示出根据本发明的一实施例的引导应用流量的方法的流程图。具体实施方式[0035] 以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。[0036] 本发明关键点在于通过WindowsPhone8平台下WebClient类的RegisterPrefix注册HttpClientCreater创建器,与实现支持代理设置的HttpRequest,HttpResponse抽象类相结合,实现在不修改原来应用代码的基础上,将所有的WebClient.Create函数返回的系统默认HttpRequest替换成自己开发的,实现HttpRequest抽象类接口标准,且加入代理设置支持的对象,并且在返回之前将代理地址设置成预先配置好的代理服务器的IP地址与端口,实现将WebClient的HTTPHTTPS流量引导到目标IP地址。[0037] 本发明主要利用WindowsPhone8平台下支持根据不同的URL前缀创建自有类型的HttpClient的特性。[0038] —般来说,WindowsPhone8下创建HTTP请求的步骤如下:[0039]首先,调用 WebRequest.Create方法创建HTTPHTTPS请求,获取WebRequest对象。[0040] 其次,调用WebRequest对象的GetResponse方法获取Response对象。[0041]再次,调用Response对象的GetResponseStream,并调用其Read方法获取HTTP响应的HttpBody数据。[0042] 本发明以第三方sdk的形式提供流量引导模块。在一个实施例中,流量引导模块位于客户端中。流量引导模块的设计关键点在于在GetResponse内部进行的修改,例如,将连接的地址修改为目标代理服务器的地址。流量引导模块的主要工作在于,按照原有HTTP类的设计逻辑及接口形式,重新实现一套进行HTTP访问的类,包括WebRequest,WebResponse,ResponseStreamo通过这些类的相互配合,实现HTTPHTTPS请求的发送和响应的接收。以下是处理一个HTTPHTTPS请求的步骤:[0043]图1示出根据本发明的一实施例的流量引导模块的初始化流程。配置和初始化包括两个步骤。[0044] 在步骤101中,向操作系统注册HTTPHTTPS前缀。在一个实施例中,该操作系统可以是WindowsPhone8。[0045] 在步骤102中,配置代理服务器的IP地址及端口,并保存。[0046] 在步骤103中,应用原有逻辑而不需要进行任何修改。[0047] 图2示出根据本发明的一实施例的流量引导模块的创建httphttps请求的流程图。在本发明中,http请求可以采用HttpRequest对象的形式。[0048] 系统或者上层应用程序调用HTTP请求创建模块e.g.,WebClient.Create方法创建http请求e.g.,HttpRequest对象。HttpReqest创建模块HttpRequestCreate用于在上层调用WebClient.Create的时候,生成一个支持代理的HttpRequest请求对象,而不是系统默认的HttpRequest。[0049] 在创建HTTP请求的过程中,流量引导模块至少执行以下三个步骤。[0050] 在步骤201中,HTTP请求创建模块HttpRequestCreate创建一个自主实现的支持代理设置的HTTP请求HttpRequest,其中,所谓“自主实现”指的是HTTP请求创建模块所创建的HTTP请求符合WindowsPhone8平台HttpRequest接口规范,并且重新实现了其内部逻辑和行为要求。[0051] 在步骤202中,在该HTTP请求中设置之前配置的目标代理服务器的地址以及端□O[0052] 在步骤203中,将该HTTP请求HttpRequest返回给上层。[0053] 图3示出根据本发明一实施例的创建HTTP请求响应模块的流程图。[0054] 在步骤301中,应用程序调用获取响应模块GetResponseO。获取响应模块GetResponseO由HTTP请求模块实现,而且是HTTP请求模块的主要接口。获取响应模块GetResponseO解析对应于上层应用程序的用户请求中的URL并构造HTTP请求头部。[0055] 在步骤302中,根据URL的前缀类型例如,HTTP,还是HTTPS,创建连接目标代理服务器的对应连接类型。在一个实施例中,如果是HTTP前缀,则创建TCP连接步骤304;如果是HTTPS前缀,则调用SSL,完成SSL握手步骤303。[0056] 在步骤305中,向目标代理服务器发送HTTPHTTPS请求。[0057] 在步骤306中,获取HTTP响应头部。[0058] 在步骤307中,在成功接收HTTP响应头部后,创建HTTP响应模块HttpResponse对象,并根据HTTP响应的头部的各个字段值,设置HTTP响应模块HttpResponse对象对应的属性。[0059] 在步骤308中,将HTTP响应HttpResponse对象返回给系统或者上层应用程序。[0060] 图4示出根据本发明的一实施例的获取响应内容的流程图。该获取响应内容的流程主要涉及用户调用HttpResonse对象的GetResponseStream方法并调用Read读取Httpbody的数据。该流程可以包括以下几个步骤。[0061] 在步骤401中,ResponseStream对象从目标代理服务器接收HTTP响应的BODY部分即,HTTP响应的内容。[0062] 在步骤402中,检查HTTP响应内容Content-Encoding的属性。[0063] 在步骤403中,若HTTP响应内容Content-Encoding的属性为压缩属性例如,GZIP,就先调用zib对接收到的数据流进行解压缩操作,然后返回给上层应用程序或系统,否则直接将接收到的数据返回给上层应用程序或系统步骤404。[0064] 图5示出根据本发明的一实施例的引导应用流量的方法的流程图。该方法包括以下步骤。[0065] 在步骤501中,向系统注册HTTPHTTPS前缀的请求创建模块并配置目标代理服务器的IP地址及端口;[0066] 在步骤502中,构造一个自主实现的支持代理设置的HTTP请求对象;[0067] 在步骤503中,在该HTTP请求对象中设置之前所配置的目标代理服务器的IP地址以及端口;[0068] 在步骤504中,将该HTTP请求对象返回给上层应用程序;[0069] 在步骤505中,解析所述上层应用程序请求并按对应格式转发给所述目标代理服务器;[0070] 在步骤506中,接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序;[0071] 在步骤507中,从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序。[0072] 在一个实施例中,步骤505进一步包括:解析所述上层应用程序所对应用户请求中的URL并构造HTTPHTTPS请求头部;根据URL的前缀类型,创建连接所述目标代理服务器的对应连接类型;如果是HTTP前缀,则创建TCP连接;如果是HTTPS前缀,则调用SSL,完成SSL握手;向所述目标代理服务器发送HTTPHTTPS请求。[0073] 在一个实施例中,步骤506进一步包括:获取HTTP响应的头部;在成功接收所述HTTP响应的头部后,创建HTTP响应对象,并根据HTTP响应的头部的各个字段值,设置HTTP响应对象的各属性;将HTTP响应对象返回给所述上层应用程序。[0074] 在一个实施例中,步骤507进一步包括:从所述目标代理服务器处接收所述HTTP响应的内容;检查所述HTTP响应的内容的属性;若所述HTTP响应的内容的属性为压缩属性,则对接收到的所述HTTP响应的内容进行解压缩,然后返回给所述上层应用程序;否则直接将接收到的所述HTTP响应的内容返回给所述上层应用程序。[0075] 这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述或其中部分的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。[0076] 同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

权利要求:1.一种基于WindowsPhone8平台的引导应用流量的方法,其特征在于,包括:向系统注册HTTPHTTPS前缀的请求创建模块并配置目标代理服务器的IP地址及端P;构造一个自主实现的支持代理设置的HTTP请求对象;在该HTTP请求对象中设置之前所配置的目标代理服务器的IP地址以及端口;将该HTTP请求对象返回给上层应用程序;解析所述上层应用程序请求并按对应格式转发给所述目标代理服务器;接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序;从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序。2.如权利要求1所述的方法,其特征在于,所述解析上层应用程序请求并按对应格式转发给所述目标代理服务器的步骤包括:解析所述上层应用程序所对应用户请求中的URL并构造HTTPHTTPS请求头部;根据URL的前缀类型,创建连接所述目标代理服务器的对应连接类型;如果是HTTP前缀,则创建TCP连接;如果是HTTPS前缀,则调用SSL,完成SSL握手;向所述目标代理服务器发送HTTPHTTPS请求。3.如权利要求2所述的方法,其特征在于,所述接收HTTP响应的头部,构造HTTP响应对象返回给所述上层应用程序的步骤包括:获取HTTP响应的头部;在成功接收所述HTTP响应的头部后,创建HTTP响应对象,并根据HTTP响应的头部的各个字段值,设置HTTP响应对象的各属性;将HTTP响应对象返回给所述上层应用程序。4.如权利要求3所述的方法,其特征在于,所述从所述目标代理服务器接收所述HTTP响应的内容并转换成响应格式传递给所述上层应用程序的步骤包括:从所述目标代理服务器处接收所述HTTP响应的内容;检查所述HTTP响应的内容的属性;若所述HTTP响应的内容的属性为压缩属性,则对接收到的所述HTTP响应的内容进行解压缩,然后返回给所述上层应用程序;否则直接将接收到的所述HTTP响应的内容返回给所述上层应用程序。5.如权利要求1所述的方法,其特征在于,所述方法采用将软件开发库嵌入到所述客户端中实现。6.如权利要求1所述的方法,其特征在于,所述客户端中的代码结构和业务逻辑不做任何改变。

百度查询: 网宿科技股份有限公司 一种基于Windows Phone 8平台的引导应用流量的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。