一种基于面向物联网应用的Web服务并发控制方法及系统的制作方法

文档序号:7768932阅读:944来源:国知局
专利名称:一种基于面向物联网应用的Web服务并发控制方法及系统的制作方法
技术领域
本发明涉及Web服务并发控制方法,具体涉及一种基于面向物联网应用的Web服 务并发控制方法及系统。。
背景技术
物联网(Internet of Things, IOT)是一个新兴的概念,是一种通过射频识别 (RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,把任何物品与互联网连 接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的网络。通过物 联网的定义可以看出,其核心和基础仍然是互联网,不同的是将互联网连接的用户端扩展 到物品和物品。因此,提供商提供的各种物联网应用服务,可以通过hternet进行部署以 便客户端远程访问和调用执行,这将是物联网服务管理的一种必然发展趋势。
Web服务(Web Service, WS)是当前hternet上最主要的一种服务实现技术,它 通过Web服务描述语言(WSDL)对各种软件应用程序进行描述和封装,进而利用统一资源标 识符(URI)对封装后的软件应用程序进行标识定位,通过简单对象访问协议(SOAP)进行消 息通信,最终实现跨越不同地域、不同行业的服务间互操作。
Web服务技术为hternet上的服务管理提供了有效的技术支撑。然而,面向具体 的物联网应用,Web服务将特别呈现出以下两个新特点
第一,物联网的服务将主要建立在各种传感设备之上,通过与底层传感设备的数 据交互来实现特定的功能。例如,一个温度传感器就可以构建入侵检测和空调控制等多个 服务。因此,随着接入hternet的传感设备种类和数量大大增加,物联网中的Web服务规 模将远超于当前hternet上的服务规模,呈指数级增长趋势。
第二,由于底层传感设备的高度互联,物联网的服务依赖关系也将更加紧密。在这 种情况下,同一个服务资源往往可能要被多个服务调用和操作。例如,在提供游客实时视频 浏览的公园旅游场景下,摄像头就属于公共的服务资源。服务S1可以提供查询摄像头是否 空闲的服务,而服务&也可以提供对该摄像头的移动操作。
随着物联网的快速发展,Web服务中的资源共享程度大大增加,将对Web服务的并 发控制提出新的机遇和挑战。Web服务发展了近十年,至今没有有效地并发控制研究,通过 调研分析,可能有两个方面的原因。一方面,Web服务请求SOAP协议是建立在HTTP协议 基础之上的,在资源冲突发生不频繁的情况下,仅依赖成熟的HTTP并发控制来解决Web服 务的并发控制,是可以满足基本需求的。另一方面,Web服务是面向普适计算而提出的新理 论,在缺乏具体应用需求驱动的背景下,面对复杂多样的服务表示及资源刻画,设计一个通 用的并发控制方法是不切实际的。因此,在物联网领域,针对物联网的服务设备资源提出新 的Web服务并发控制方法,可以说,既有强烈的需求驱动又有具体的实施目标,是物联网上 成功开发Web服务不可避免的关键研究问题。
目前,Web 服务请求主要采用 IBM、Microsoft、UserLand 和 DevelopMentor 在 1998年共同提出,并于2000年提交给万维网联盟(W3C)的SOAP协议,当前的最新版本为SOAP1. 2。SOAP是建立在XML语言基础上的一个轻量的协议,用以规范在一个分布式环境下 进行结构化的信息交换。一条SOAP消息就是一个普通的XML文档,包含Envelopedeader、 Body和Fault四个基本元素,通过HTTP进行承载(如

图1所示)。对于搭载在HTTP上的 Web服务请求,相应的并发控制机制如图2所示。
搭载Web服务请求的HTTP消息到达Web服务器后,线程池分配线程用以处理HTTP 消息。首先经过HTTP解析得到搭载的SOAP消息,进一步进行XML解析,获得SOAP Body包 含的服务请求内容,由相应的Web服务进行处理,经过上述相反过程对响应信息进行封装 并返回给服务请求端。最后,线程释放该Web服务请求实例并放回线程池以循环执行Web 服务请求。以上Web服务并发控制核心在于线程池维护确定数量的等待线程,每当有Web 服务请求到达,线程池就分配一个线程为请求服务。为了运行这些线程,处理器为每个独立 线程安排一些处理器时间,处理器以顺序轮换方式向线程提供时间片,实现多线程的并发 处理。线程池的优势在于服务器运行之初一次性创建多个线程并循环使用,将线程创建开 销分摊到多个任务上,避免了频繁创建、销毁线程带来的巨大资源开销,以及创建过多的线 程耗尽系统资源。
由图2可知,Web服务器在收到服务请求时即分配线程进行响应,而具体的服务请 求内容是在经过HTTP及XML解析后获得。传统的Web服务并发控制方法缺陷就在于线程 的分配没有考虑HTTP消息中封装的服务请求内容,多个HTTP请求被分配独立的线程单独 执行。如果当前的多个HTTP请求封装相同的服务请求或服务请求之间有冲突或执行优先 级之分,有可能会造成线程浪费、资源冲突和错误的发生。仍然以上面提到的公园旅游场景 为例,用户A将请求服务S1来询问摄像头是否空闲,而用户B将请求服务&来移动摄像头 查看景点。当用户A与用户B的请求同时到达时,目前的Web服务并发控制方法是分配两 个独立线程并随机执行Web服务响应。但是,这两个服务请求是存在优先级之分的,用户B 的请求应该优先用户A的请求执行,以避免用户A查询到摄像头空闲而请求操作时摄像头 已被占用。发明内容
本发明的目的在于,为克服传统的Web服务并发控制方法造成线程浪费、资源冲 突和错误的发生等问题,从而提供一种基于面向物联网应用的Web服务并发控制方法及系 统。
本发明的一种基于面向物联网应用的Web服务并发控制系统,该系统在SOAPBody 内容解析模块之后增加并发控制模型来实现Web服务的并发控制,所述的并发控制系统, 包含两个线程池和一个并发控制模型,该并发控制模型包含重复和冲突检测模块、优先 级设定模块和执行模块;
所述的重复和冲突检测模块包含预处理子模块,用于对解析的服务请求消息进 行数学表示;重复检测子模块,用于对解析消息的数学表示进行重复性检测;过滤器子模 块,用于过滤检测得到的重复的服务请求消息;和冲突监测子模块,将过滤后的所有服务请 求消息进行再冲突性检测。所述的优先级设定模块包含优先级设定子模块,用于对存在冲 突的服务请求消息进行优先级排序。所述的执行模块包含请求消息预处理子模块,用于对 标记优先级的服务请求进行排序并分配线程;寻址子模块,使用该子模块通过消息发送模块执行服务请求。
其中,上述模块的所有操作基于在SOAP Body中定义了服务设备资源统一描述框 架,该框架如下所示
表1,服务设备资源属性定义
权利要求
1. 一种基于面向物联网应用的Web服务并发控制系统,该系统在SOAP Body内容解析 模块之后增加并发控制模型来实现Web服务的并发控制,所述的并发控制系统,包含两个 线程池和一个并发控制模型,该并发控制模型包含重复和冲突检测模块、优先级设定模块 和执行模块;所述的重复和冲突检测模块包含 预处理子模块,用于对解析的服务请求消息进行数学表示; 重复检测子模块,用于对解析消息的数学表示进行重复性检测; 过滤器子模块,用于过滤检测得到的重复的服务请求消息;和 冲突监测子模块,将过滤后的所有服务请求消息进行再冲突性检测; 所述的优先级设定模块包含优先级设定子模块,用于对存在冲突的服务请求消息进 行优先级排序;所述的执行模块包含请求消息预处理子模块,用于对标记优先级的服务请求进行排序并分配线程; 寻址子模块,使用该子模块通过消息发送模块执行服务请求; 其中,上述模块和子模块的所有操作基于在SOAP Body中定义了服务设备资源统一描述框架,该框架如下所示表1服务设备资源属性定义
2.根据权利要求1所述的基于面向物联网应用的Web服务并发控制系统,其特征在于, 所述的优先级设定模块还包含当前场景获取子模块和规则子模块,用于为优先级设定子 模块的优先级算法提供信息。
3.一种基于面向物联网应用的Web服务并发控制方法,该方法利用一种基于面向物联 网应用的Web服务并发控制系统,所述的并发控制系统,包含两个线程池和一个并发控制模型,该并发控制模型包含重复和冲突检测模块、优先级设定模块和执行模块;所述的重 复和冲突检测模块包含预处理子模块,用于对解析的服务请求消息进行数学表示;重复 检测子模块,用于对解析消息的数学表示进行重复性检测;过滤器子模块,用于过滤检测得 到的重复的服务请求消息;和冲突监测子模块,将过滤后的所有服务请求消息进行再冲突 性检测;所述的优先级设定模块包含优先级设定子模块,用于对存在冲突的服务请求消 息进行优先级排序;所述的执行模块包含请求消息预处理子模块,用于对标记优先级的 服务请求进行排序并分配线程;寻址子模块,使用该子模块通过消息发送模块执行服务请 求;其中,上述模块的所有操作基于在SOAP Body中定义了服务设备资源统一描述框架;该 框架如下所示表1服务设备资源属性定义
4.根据权利要求3所述的基于面向物联网应用的Web服务并发控制系统,其特征在 于,所述的重复算法步骤为通过比较两个服务请求的访问地址URL、OperationName和 OperationInput来判断,若全部相同则表示两个服务请求是重复的;若至少有一项不同,则两个服务请求是不同的。
5.根据权利要求3所述的基于面向物联网应用的Web服务并发控制系统,其 特征在于,所述的冲突检测算法的步骤为首先服务请求存在冲突的前提条件为RL (S)=Rl. RL(Sl)nR2. RL (S2)辦,即两个服务请求Rl,R2关联有相同的服务设备资源;其 次,服务请求R1,R2对其关联的相同服务设备资源的操作类型决定了冲突的存在。
6.根据权利要求3所述的基于面向物联网应用的Web服务并发控制系统,其特征在于, 所述的优先级算法的计算公式为
7.根据权利要求6所述的基于面向物联网应用的Web服务并发控制系统,其特征在于, 所述的静态优先级计算公式可表示为
8.根据权利要求6所述的基于面向物联网应用的Web服务并发控制系统,其特征在于, 所述的动态优先级算法步骤为系统通过不断更新服务的等待时间,按从小到大顺序产生一组等待时间序列RW = {1, 2,...M},RW每隔固定间隔更新的;假设冲突服务请求RS在RW序列中的序号为Z,则动态 优先级计算公式为=Pdynamic = Z,其中,1彡S彡M,1彡Z彡M。
全文摘要
本发明提出的一种基于面向物联网应用的Web服务并发控制系统,该系统在SOAP Body内容解析模块之后增加并发控制模型来实现Web服务的并发控制,所述的并发控制系统,包含两个线程池和一个并发控制模型,该并发控制模型包含重复和冲突检测模块、优先级设定模块和执行模块;所述的重复和冲突检测模块包含预处理子模块,重复检测子模块,过滤器子模块,和冲突监测子模块;所述的优先级设定模块包含优先级设定子模块,用于对存在冲突的服务请求消息进行优先级排序;所述的执行模块包含请求消息预处理子模块,用于对标记优先级的服务请求进行排序并分配线程;和寻址子模块其中,上述模块的所有操作基于在SOAPBody中定义了服务设备资源统一描述框架。
文档编号H04L29/08GK102035890SQ20101059034
公开日2011年4月27日 申请日期2010年12月8日 优先权日2010年12月8日
发明者唐晖, 牛温佳, 童恩栋, 谭红艳, 赵志军 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1