动态服务路由在合成作战平台中的研究

2017-02-14 09:26马成前
网络安全技术与应用 2017年1期
关键词:调用警务路由

◆马成前 熊 枫

(武汉理工大学计算机学院 湖北 430070)

动态服务路由在合成作战平台中的研究

◆马成前 熊 枫

(武汉理工大学计算机学院 湖北 430070)

企业服务总线(Enterprise Service Bus,ESB)作为面向服务架构的核心组成部分,为面向服务架构提供服务集成的主要功能,如消息路由,服务质量(QoS)管理,数据格式转换等。面向服务的应用强调动态和松耦合的集成,要求ESB提供动态的、可靠的路由方法,同时支持基于服务路由的服务选择和适配,从而达到提供更方便、快捷、灵活的业务流程处理的目的。通过对服务总线中服务路由的动态性、可靠性,组合服务中的关键服务路由等关键技术进行分析研究,并根据合成作战平台的实际情况加以应用,来确保服务的可靠执行,提高服务组合的有效性等。

企业服务总线; 服务路由; 合成作战

0 前言

随着科学技术的发展,智慧警务在智慧城市中的应用也越来越广,各大城市都建设了适合本城市的警务管理体系,以达到科技强警和保障市民安全的目的。目前大多数的警务系统都是基于SOA(SOA,Service-Oriented Architecture)体系模型建立,因为SOA考虑了业务的长期发展的特性。服务总线是SOA体系的一个框架,同时也是基于消息传输和协议转换的框架,通过服务总线将软件体系间各子系统、各服务和各数据进行了联接。因此,一个稳定可靠和高效的总线技术在整个警务系统中起到一个举足轻重的作用,关系到整个警务系统运行的效率。本文的意义,在于针对本次的合成作战项目,基于对服务总线中动态路由的研究方法来提高合成作战的指挥效率。

1 动态服务路由模型

希望通过提出一种动态服务路由模型,实现物理服务的虚拟化封装,来达到服务交互松耦合的目的。此模型旨在强调服务路由的动态性和可靠性,实现对服务组合流程高效的解释和执行,模型结构图如图1。

图1 模型结构图

1.1 服务虚拟化层

服务虚拟化是服务集成领域的一项重要技术,能够在保留服务原有功能不变的条件下,通过各种手段,使之成为虚拟的服务,实现服务请求者和服务提供者的解耦合。

图2 虚拟化过程图

1.2 动态路由层

服务路由层是本系统的核心内容,它从服务请求者接收到服务请求,经过多策略,多模式的路由方法,将服务请求信息传递给服务提供者。动态服务路由依靠多种的路由组件,实现服务的动态访问和消息传递。

服务路由通过执行多策略的路由方法,动态的调用匹配的服务单元,服务单元通过服务绑定(针对物理服务),来调用物理服务完成对应的业务功能。本模型通过动态服务路由,实现对服务组合的解释和执行。同时动态路由通过可靠的动态路由方法,在完成对服务流程执行的同时,对服务节点提供合理的容错机制,提高了服务的可靠性和组合服务的有效性。

该方法在保证原有服务的前提下,实现服务的动态组合。针对本次的合成作战项目,在可能出现的应急情况事件下,能够具有良好的适应性。灵活集成已经存在的服务,综合各个服务的优势,能够快速智能的组建功能更加强大的服务,以应对复杂的服务需求和需要快速反应的需求变更。

1.3 逻辑服务层

这里的逻辑服务层本身并不具备实际的业务处理能力,它是通过动态的对物理服务进行绑定来完成业务功能。

逻辑服务的实现主要是通过服务单元对物理服务的动态绑定,实现物理服务的组合,来满足业务的需求。此方法能够灵活的适应多变的复杂的需求,面对某些物理服务异常或者发生改变的情况,动态服务绑定能够选择功能相似的其他物理服务代替,保证逻辑服务的可执行性、稳定性和可靠性。

2 可靠路由方法之服务置换

提出一种基于服务置换的可靠路由方法,来提高服务组合执行时候的服务安全性和可靠性。通过各种消息组件的协同作用,来实现服务的动态选择,同时当服务出现异常或者错误的时候,能够迅速的做出反应,对失效服务进行动态置换,以此来提高服务路由的可靠性和完整性。

消息路由组件:

(1)消息标识器:在这里的消息标识器主要的功能是在接收服务请求时,在不改变服务请求的前提下,将此消息添加一个标识信息,为后面的一系列操作提供支持。这里标识码具有唯一性,以此来区别不同的服务请求,对后续的消息传递、分离、聚合等过程提供支持。

(2)动态过滤器:它的作用是接收服务消息,然后对此服务消息进行分析,选择服务列表中的第一个服务单元作为访问的服务目标。同时,动态过滤器存储剩余的服务列表,并在服务消息中添加对应的服务监听器的访问信息。最后,将服务消息继续向下发送。

(3)消息分离器:接收到了一条服务消息后,通过某种特定的消息分离策略,将其分解为相互存在一定关联的子消息,并根据消息的内容,将每一个子消息分别发送到指定的服务。

(4)消息聚合器:将分散的子消息从各服务中收集回来,然后将他们整合成为一条新的服务消息。消息聚合器能够接收来自不同服务提供者的响应结果,并将多条子消息整合成为一条完整的服务消息。在此过程中需要考虑:服务消息之间的关联问题; 如何实现服务结果的异步接收。

(5)服务状态监听器:它的目的是为了检测目标服务的工作状态,并对异常状态进行分析和处理。

3 动态服务路由

图3 动态服务路由示意图

3.1 服务动态验证

服务请求者首先访问逻辑服务,服务选择器根据逻辑服务中的业务流程对服务节点的要求和描述进行服务选择。在第一次服务选择的时候,选择三个服务的执行者(这里默认为三个,可以根据要求进行修改),按照顺序参加服务的调用。如果第一个服务就能够在有效的时间内返回结果,则算此次的服务调用成功,服务监测也随之结束; 如果第一个服务没有按时返回结果,则判定为此次服务调用失效,这时动态的启用第二个服务,启用服务调用。以此类推,直到三个服务全部调用完成。如果这三个服务全部出现异常,则判定为此服务节点访问失败; 相反,如果三个中至少有一个服务能够正常返回,则判定为此服务节点访问成功,此时可以继续下一个服务节点的调用工作。

如上述所说的,如果第一次服务选择的三个服务全部调用完成后,还是没有得到返回结果,则服务选择器将会对这三个服务进行第二次的服务调用,重复上面的操作,对上次未正确返回请求响应的服务进行验证,避免因为服务阻塞或者是其他原因导致的未返回响应的情况发生。如果第二次验证的时候,服务请求者得到了响应的结果,服务调用立即停止。如果在第二次验证后,依然无法得到正确的响应结果,则将这三个服务视为无效服务,此时将会重新选择新的三个服务进行服务调用。

在服务验证中,这里只提到了对服务是否响应进行了验证,这显然是不够的。公安合成作战系统不仅需要响应的速率,同时也必须保证响应的正确性,后者的重要性明显要高于前者的。所以,对于某些特殊必须做到严格执行的服务,还需要对其正确结果进行验证,即第一次验证已经返回响应的前提下对此服务单独进行再次的服务调用,判断两次的调用响应结果是否一致,如果不一致则重新选择服务进行调用,做到准确性的验证。

图4 服务动态验证

3.2 服务动态置换

服务请求者首先访问逻辑服务,服务选择器根据逻辑服务中的业务流程对服务节点的要求和描述进行服务选择。如果选择的三个服务请求都不能返回正确请求的时候将会执行此服务置换方法。具体流程如图5。

图5 服务置换流程示意图

在第一次服务选择的时候,选择三个服务的执行者,按照顺序参加服务的调用。如果第一个服务就能够在有效的时间内返回结果,则算此次的服务调用成功,服务监测也随之结束; 如果第一个服务没有按时返回结果,则判定为此次服务调用失效,这时动态的启用第二个服务,启用服务调用。以此类推,直到三个服务全部调用完成。如果这三个服务全部出现异常,则判定为此服务节点访问失败; 相反,如果三个中至少有一个服务能够正常返回,则判定为此服务节点访问成功,此时可以继续下一个服务节点的调用工作。

如上述所说的,如果第一次服务选择的三个服务全部调用完成后,还是没有得到返回结果,则服务选择器将会进行第二次的服务选择,同样选择新的三个服务,重复上面的操作。如此反复,直到服务请求者得到了响应的结果,服务调用才停止。如果发来的服务请求,服务选择器无法提供服务,则说明针对此服务请求,没有能够处理的服务提供者,说明此服务无效,服务路由也就此停止。

3.3 动态服务组

服务组合是面向服务领域中的一个重要组成部分,其意义在于通过多个服务的组合能够实现更加高级的服务功能。基于可靠路由的组合服务执行实现了对服务中组合流程的解释和执行,并完成服务组合执行操作。

首先,通过分析组合流程的构成,查找关键服务节点(如果将服务流程看成一个有向图,关键节点则是有向图中出度或者入度为0的节点),根据关键节点将服务分解为多个流程片段,达到将流程简化的目的。再通过路由策略的描述来对每个流程片段进行解释,将服务内容翻译为路由系统能够理解和执行的路由策略。同时,为了保证服务组合的可靠性和有效性,实现服务的动态绑定,并体现服务请求者和服务提供者之间的松耦合,并对服务流程中的节点提供服务容错,在验证其实简单的体现了一点服务容错的思想,但是还很片面,这个需要后续阶段的加强和完善。

4 结合合成作战平台进行分析

4.1 场景描述

近年来,各种复杂案件的频繁发生,对人民的生活带来了极大的影响,同时对人民生命造成极大威胁,促使着目前警务系统从各警种或各部门的办案向各警种部门之间无缝合成作战发展。现在瞬息万变的案件需求促使智慧警务中的合成作战平台必须快速的应对各种临时、突发的复杂情况。合成作战平台将成为智慧警务的产业结构,也是平安城市建设的重要组成部分,能够成为快速应对突发状况的有效途径。合成作战平台的实施需要多方的数据共享、信息共享和业务协同,传统的警务系统已经不足以支撑这种跨部门、跨警种、跨地区、分布式异构环境下的协同作战。因此,松耦合、支持异构通讯的面向服务的架构SOA成为合成作战平台的理想软件架构。

4.2 可靠的动态路由在合成作战中的意义

目前的服务路由大多处于静态配置型的静态路由,使得服务提供者和服务请求者在某种程度上来说是一种紧耦合的关系。所以,一旦服务调用失败,同时又没有及时的发现问题,此时就会影响到与之相关联的业务。而合成作战平台的意义就在于当某一警种发现问题,需要处理某些业务逻辑的时候,一定要尽可能准确,高效的处理请求来进行对案件的分析和处理。这时如果采用原有的静态路由方式,某一环节出现了异常,则很可能导致整体的业务无法进行,影响了办案的效率,与合成作战的宗旨背道而驰。而提出的动态服务替换方法,可以实现服务的动态绑定和路由的动态调整。对于失效的服务,能够及时的进行动态的替换,保证了路由的完整性和高效性。同时,服务动态验证的方法又可以在保证路由完整性和高效性的前提下,保证服务调用的准确性,最后,在动态服务组合的协调工作下,实现复杂的服务请求,实现复杂需求的简单化、高效化、准确化的处理。基于这样一种服务替换方法的路由方式,可以大大的提高合成作战平台的工作效率。

5 结语

通过对服务总线中的动态路由方法进行分析,针对其动态性、可靠性、稳定性进行分析,同时结合可靠的组合服务执行,并能够结合实际的合成作战项目进行研究,旨在实现合成作战平台在针对临时的、复杂的的案情能够动态的、快速的、精准的进行分析并提出解决方案。但是,对于服务可靠性的问题还需要进一步的研究,需要得到一种更加完善的可靠性保障机制。同时,在针对服务动态置换方法中如何为其增加一种服务容错的机制,避免在服务替换时出现异常和错误,最终提高服务系统的运行效率。

[1]张晓丽,徐飞飞.基于企业服务总线的统一数据展现平台设计与实现.河南理工大学学报,2016.

[2]陈伟,顾思思.基于企业服务总线的信息管理系统可靠性分析.计算机应用与软件,2016.

[3]孔祥瑞,郑洪源.基于企业服务总线的业务集成方法[J].计算机工程,2009.

[4]冯培培,王辉.基于 ESB 技术的系统集成框架的研究[J].通信技术,2010.

[5]郭文越,陈虹,刘万军.基于 SOA 的数据共享与交换平台[J].计算机工程,2010.

[6]范菁,熊丽荣,徐聪.分布式企业服务总线平台数据集成研究及应用,2014.

[7]LRONID STOIMENOV,MILO BOGDANOVIC, SANJ-A BOGDANOVIC-DINIC.ESB-based sensor web integratio-n for the prediction of electric power supply system vulnerability [J].Sensors,2013.

猜你喜欢
调用警务路由
铁路数据网路由汇聚引发的路由迭代问题研究
核电项目物项调用管理的应用研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
探究路由与环路的问题
环球警务专访
基于系统调用的恶意软件检测技术研究
浅谈港航公安网上警务公开的现状和问题
警务训练中腹痛的成因及预防
警务指挥与战术研究现状及发展趋势