[发明专利]一种REST服务方法、装置及系统无效
申请号: | 201210276257.0 | 申请日: | 2012-08-03 |
公开(公告)号: | CN103577257A | 公开(公告)日: | 2014-02-12 |
发明(设计)人: | 李晨 | 申请(专利权)人: | 杭州勒卡斯广告策划有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 310012 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 rest 服务 方法 装置 系统 | ||
技术领域
本申请涉及软件服务技术领域,特别涉及一种REST服务方法、装置及系统。
背景技术
REpresentational State Transfer服务(REST服务)是一种架构原则,其将web服务视为资源,由客户端通过开放API服务技术对该web资源进行调用,即客户端发出I/O请求数据,建立HTTP连接,连接到服务器的REST通讯接口上,由此服务器根据该I/O请求数据启动一个线程对I/O请求数据进行处理,即读取与该I/O请求数据相对应的资源数据,调用与I/O请求数据相对应的服务利用读取的资源数据执行具体的业务逻辑,写入服务执行结果即资源数据的处理结果,此时,释放线程。
但上述REST服务中,每个I/O请求都需要建立一个线程对该I/O请求进行处理,处理完成以后再释放该线程,因此在处理高并发的REST服务时,对高并发的每一个I/O请求都创建一个线程进行处理,造成系统资源的浪费,降低了系统资源的使用率,尤其是在I/O请求较多时,会引起系统资源严重不足,甚至系统瘫痪。
发明内容
本申请所要解决的技术问题是提供一种REST服务方法、装置及系统,用以解决现有技术中在处理高并发的REST服务请求时,对高并发的每一个I/O连接都创建一个线程进行处理,造成系统资源的浪费,降低了系统资源的使用率,尤其是在I/O连接请求较多时,会引起系统资源严重不足,甚至系统瘫痪的技术问题。
为解决上述技术问题,本申请提供了一种REST服务方法,包括:
接收客户端发送的I/O请求数据;
判断预设的线程池中的线程是否均处于非空闲状态,如果是,将所述I/O请求数据置入所述I/O等待集合中;
其中,所述线程池中至少包括一个线程;
在所述线程池中出现处于空闲状态的线程时,获取所述I/O等待集合中的一个I/O请求数据作为当前I/O请求数据;
依据预设的第一启动规则,启动所述线程池中一个处于空闲状态的线程对所述当前I/O请求数据进行处理;
释放所述当前启动线程至所述线程池。
上述方法,优选地,所述方法还包括:
若所述线程池中存在处于空闲状态的线程,依据预设的第二启动规则,启动所述线程池中一个处于空闲状态的线程,将所述I/O请求数据作为当前I/O请求数据进行处理;
释放所述当前启动线程至所述线程池。
上述方法,优选地,所述依据预设的第一启动规则,启动所述线程池中一个处于空闲状态的线程,对所述当前I/O请求数据进行处理包括:
依据预设的第一启动规则,启动所述线程池中一个处于空闲状态的线程,读取与所述当前I/O请求数据相对应的资源数据;
调用与所述当前I/O请求数据相对应的服务,并对所述资源数据执行所述调用的服务;
将所述资源数据的执行结果进行写入。
上述方法,优选地,在所述接收客户端发送的I/O请求数据之后,在所述判断预设的线程池中的线程是否均处于非空闲状态之前,所述方法还包括:
读取与所述I/O请求数据相对应的资源数据置入数据缓存集合中;
所述依据预设的第一启动规则,启动所述线程池中一个处于空闲状态的线程,对所述当前I/O请求数据进行处理包括:
依据预设的第一启动规则,启动所述线程池中一个处于空闲状态的线程;
调用与所述当前I/O请求数据相对应的服务;
对所述数据缓存集合中与所述当前I/O请求数据相对应的资源数据执行所述调用的服务;
将所述资源数据的执行结果置入所述数据缓存集合中;
在所述释放所述当前启动线程至所述线程池之后,所述方法还包括:
将所述数据缓存集合中与所述当前I/O请求数据相对应的资源数据的执行结果进行写入。
上述方法,优选地,在所述接收客户端发送的I/O请求数据之后,在判断预设的线程池中的线程是否均处于非空闲状态之前,所述方法还包括:
查询预设的I/O等待集合中是否非空;
如果是,将所述I/O请求数据置入所述I/O等待集合中,并在所述线程池中出现处于空闲状态的线程时,获取所述I/O等待集合中的一个I/O请求数据作为当前I/O请求数据;
否则,判断预设的线程池中的线程是否均处于非空闲状态。
上述方法,优选地,所述I/O等待集合的数据结构为队列的数据结构;
所述将所述I/O请求数据置入所述I/O等待集合中包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州勒卡斯广告策划有限公司,未经杭州勒卡斯广告策划有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210276257.0/2.html,转载请声明来源钻瓜专利网。