一种应用程序运行的方法及站点接入设备技术

技术编号:12200164 阅读:68 留言:0更新日期:2015-10-14 12:31
本发明专利技术提供一种应用程序运行的方法及站点接入设备,应用于通信技术领域,其中,所述方法包括:从网络层接收超文本传输协议http请求报文数据;根据所述http请求报文数据查找运行动态网页asp.net应用程序的实例;在查找到所述实例后,驱动所述实例的动态网页asp.net层处理所述http请求报文数据,本发明专利技术的方案在运行应用程序时,在iis外寄宿多个实例,来达到高效运行应用程序的目的。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及一种应用程序运行的方法及站点接入设备
技术介绍
随着动态网页asp.net应用越来越广泛,对于部署动态网页asp.net站点首选服务器是互联网信息服务器iis,但iis是开发人员是封闭的,在处理复杂问题存在缺陷且在处理超文本传输协议http请求与管理动态网页asp.net程序不能进行过多的干预。比如,基于服务器iis的动态网页asp.net无法稳定的监听端口,由于服务器iis的应用程序池定时回收机制,虽然可以创建套接字socket通信,当应用程序池时间到达,服务器iis会释放应用程序池所占资源,断开socket连接;或者当服务器iis创建应用程序池时,当报告“端口被占用,无法监听socket端口”异常信息时,服务器iis将无法创建应用程序池。虽然可以使用.net http协议侦听器http listener临时替代iis,但使用.netHTTP协议侦听器httplistener的程序需要使用管理员权限,用户体验不佳;.netHTTP协议侦听器httplistener的异步接收请求和发送应答是普通的异步编程模型apm模式(beginxxx, endxxx格式),这种异步模式在频繁调用时会大量产生和销毁异步请求对象Iasyncrequest对象,从而增加了 gc的压力,而且iasyncrequest对象没有提供自定义池化的接口 ;httplisenter是.net的包装类,在用户态执行,而http, sys驱动服务是内核态运行,在接受请求,返回应答会进行两次用户态和内核态之间的切换,降低了性倉泛。亦或使用.net动态网页运行时httpruntime寄宿动态网页asp.net应用程序,而网络中公开资料实行方式只能寄宿单个运行动态网页asp.net应用程序的实例,无法寄宿多个站点。
技术实现思路
本专利技术的目的是提供一种应用程序运行方法及站点接入设备,可以解决目前运行应用程序的寄宿体出现问题难以排查且调优空间不大,或应用程序只能寄宿单个实例来运行的问题。为了解决上述技术问题,本专利技术的实施例提供一种应用程序运行的方法,其中,所述方法包括:从网络层接收超文本传输协议http请求报文数据;根据所述http请求报文数据查找运行动态网页asp.net应用程序的实例;在查找到所述实例后,驱动所述实例的动态网页asp.net层处理所述http请求报文数据。进一步地,所述从网络层接收超文本传输协议http请求报文数据的步骤包括:从网络层接收封装后的http请求报文数据。进一步地,所述根据所述http请求报文数据查找运行动态网页asp.net应用程序的实例的步骤包括:分析并查找所述http请求报文数据的请求行数据;在查找到所述http请求报文数据的请求行数据后,分析所述请求行数据的统一资源定位符url字段数据;根据所述url字段数据获取请求运行动态网页asp.net应用程序对应的虚拟路径;根据所述获取到的虚拟路径获取运行所述动态网页asp.net应用程序对应的实例。进一步地,所述根据所述url字段数据获取请求运行动态网页asp.net应用程序对应的虚拟路径的步骤包括:获取所述url字段数据的首字符数据,在所述首字符数据指示为目录标识字符数据,且在获取到所述url字段数据中的第二个目录标识字符数据后,则截取所述首字符目录标识数据与所述第二个目录标识字符数据之间的字符数据作为所述请求运行动态网页asp.net应用程序对应的虚拟路径;或者获取所述url字段数据的首字符数据,在所述首字符数据指示为目录标识字符数据,且在未获取到所述url字段数据中的第二个目录标识字符数据后,则截取所述首字符目录标识数据之后的全部字符数据作为所述请求运行动态网页asp.net应用程序对应的虚拟路径;或者获取所述url字段数据的首字符数据,在所述首字符数据指示为不是目录标识字符数据,且在获取到所述url字段数据中的第一个目录标识字符数据后,则截取所述首字符数据至所述第一个目录标识字符数据之间的字符数据作为所述请求运行动态网页asp.net应用程序对应的虚拟路径。进一步地,所述根据所述获取到的虚拟路径获取运行所述动态网页asp.net应用程序对应的实例的步骤包括:根据所述获取到的虚拟路径在网站存储模块查找与所述虚拟路径对应的运行所述动态网页asp.net应用程序的实例;其中,所述网站存储模块存储有虚拟路径与网站的对应关系;所述虚拟路径以哈希表的键的形式存储于所述网站存储模块中。进一步地,所述在查找到所述实例后,驱动所述实例的动态网页asp.net层处理所述http请求报文数据的步骤包括:在查找到所述实例后,驱动所述实例的虚拟主机初始化动态网页请求aspnetworkerrequest,并驱动所述虚拟主机通知所述aspnetworkrequest处理所述http请求报文数据,使得所述aspnetworkerequest分析所述http请求报文数据,并将所述http请求报文数据委托给.net动态网页运行时system, web.httpruntime, processrequest进行处理,使得所述动态网页运行时httpruntime根据所述http请求报文数据驱动所述实例执行所述动态网页asp.net应用程序;其中,所述动态网页请求aspnetworkerrequest为.net动态网页请求system, web.hosting, httpworkerrequest的扩展,并定义了所述实例的动态网页asp.net层处理http请求报文数据的规则。为了解决上述技术问题,本专利技术的实施例还提供一种站点接入设备,包括:接收模块,用于从网络层接收超文本传输协议http请求报文数据;查找模块,用于根据所述http请求报文数据查找运行动态网页asp.net应用程序的实例;驱动模块,用于在查找到所述实例后,驱动所述实例的动态网页asp.net层处理所述http请求报文数据。进一步地,所述接收模块包括:接收单元,用于从网络层接收封装后的http请求报文数据。进一步地,所述查找模块包括:第一分析单元,用于分析并查找所述http请求报文数据的请求行数据;第二分析单元,用于在查找到所述http请求报文数据的请求行数据后,分析所述请求行数据的统一资源定位符url字段数据;第一获取单元,用于根据所述url字段数据获取请求运行动态网页asp.net应用程序对应的虚拟路径;第二获取单元,用于根据所述获取到的虚拟路径获取运行所述动态网页asp.net应用程序对应的实例。进一步地,所述第一获取单元具体用于获取所述url字段数据的首字符数据,在所述首字符数据指示为目录标识字符数据,且在获取到所述url字段数据中的第二个目录标识字符数据后,则截取所述首字符目录标识数据与所述第二个目录标识字符数据之间的字符数据作为所述请求运行动态网页asp.net应用程序对当前第1页1 2 3 4 本文档来自技高网
...
一种应用程序运行的方法及站点接入设备

【技术保护点】
一种应用程序运行的方法,其特征在于,所述方法包括:从网络层接收超文本传输协议http请求报文数据;根据所述http请求报文数据查找运行动态网页asp.net应用程序的实例;在查找到所述实例后,驱动所述实例的动态网页asp.net层处理所述http请求报文数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:白琳胡文辉王钢张慧芳陈昌文王继伟
申请(专利权)人:中国移动通信集团广东有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1