一种企业服务总线平台及数据分析方法与流程

文档序号:14993439发布日期:2018-07-20 22:59阅读:280来源:国知局

本发明涉及企业服务总线技术领域,尤其是一种企业服务总线平台及数据分析方法。



背景技术:

随着企业信息化程度的不断提高,开发的应用系统数目越来越多,方便了企业管理,具备了对市场需求的变化作出快速响应的能力。但是企业在提高自身信息化的过程中,不可避免会遇到一些问题:1.采用不同技术实现的应用系统,因没有形成统一的协议标准和通信接口,系统一体化、集成化进度缓慢,并出现了较为严重的“信息孤岛”现象。2.企业内部不同部门以及企业之间的资源共享和优化的程度较低。3.应用系统的功能和规模庞大,系统维护和升级的成本高,软件结构不易调整,使得不同应用系统的信息交互变得更加困难。如何构建一个松耦合的集成系统,让企业原有的应用系统成功“对接”,成为了企业亟待解决的问题。



技术实现要素:

为了解决目前企业多个系统集成的问题,本发明一方面提供一种企业服务总线平台,包括若干个接入适配器、若干个接出适配器及企业服务总线,若干个所述接入适配器与服务消费者连接,若干个所述接出适配器与所述服务提供者连接,若干个所述接入适配器与若干个所述接出适配器通过所述企业服务总线连接,其中,所述企业服务总线包括标准服务层、组合服务层及原子服务层,

所述标准服务层用于将业务服务封装,向外发布标准服务;

所述原子服务层用于将所述服务提供者提供的相对独立的、无状态的业务功能进行映射形成原子服务;

所述组合服务层用于将多个原子服务进行编排。

作为优选,一个所述标准服务通过多个所述接入适配器访问,多个所述原子服务通过一个所述接出适配器访问所述服务提供者。

作为优选,所述服务消费者为发起标准服务调用的it系统,所述服务提供者为提供基础服务的it系统。

本发明另一方面提供企业服务总线平台的数据分析方法,包含以下步骤:

s1.接入适配器,将请求报文封装为报文规范格式,将响应报文封装为请求系统所要求的格式;

s2.报文解析,按照报文规范,对请求报文的头进行解析;

s3.身份认证,为每一个业务系统分配一个独立的队列名称,由mq/jms来控制各个系统的访问权限,esb进一步验证报文中的系统编码与queue的名称的一致性;

s4.服务鉴权,在运行态时,esb会根据事先配置好的参数来进行验证;

s5.并发控制,针对每个请求系统设置允许访问的标准服务的最大并发数;

s6.流量控制,每个标准服务都可以单独配置请求报文的大小,,如果服务请求中的报文超过设定上限值,那么esb返回错误提示信息;

s7.报文验证,验证服务消费者的报文是否包含了必选字段、以及字段中值的类型是否正确;

s8.接入转换,实现报文的标准化,esb对外发布的每个标准服务所需要的字段都进行标准化定义;

s9.服务路由,将标准服务路由到服务提供方的原子服务;

s10.接出转换,当服务提供者的报文不能遵循规范时,那么esb在发送报文之前,需要先将报文转换为服务提供者的报文格式;

s11.接出适配器,每个接出适配器上可以配置独立的handler,当遇到需要特殊处理的接出调用时,可以执行此handler。

本发明提供的一种企业服务总线平台及数据分析方法,其有益效果在于:采用面向服务体系结构的集成思想,提供一种规范、使用方便,总线软件架构扩展性好、跨平台能力强,能够实现企业核心业务主数据的一致性,能够简化企业it架构,降低运营成本,提升业务灵活性和市场响应速度,提升企业的竞争优势。

附图说明

图1是本发明企业服务总线平台的架构原理图;

图2是本发明企业服务总线平台的数据分析方法的流程图;

图3是本发明互联网实名认证统一授权平台的模块逻辑图;

图4是报文解析步骤流程图;

图5是身份认证步骤流程图;

图6是服务鉴权步骤流程图;

图7是并发控制步骤流程图;

图8是流量控制步骤流程图;

图9是报文验证步骤流程图;

图10是接入转换步骤流程图;

图11是服务路由步骤流程图;

图12是接出转换步骤流程图;

图13是接出适配器步骤流程图。

具体实施方式

为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。

现结合附图和具体实施方式对本发明进一步说明。

如图1所示,本实施例提出的提供一种企业服务总线平台,包括若干个接入适配器、若干个接出适配器及企业服务总线,若干个接入适配器与服务消费者连接,若干个接出适配器与所述服务提供者连接,若干个接入适配器与若干个接出适配器通过企业服务总线连接,其中,企业服务总线包括标准服务层、组合服务层及原子服务层,标准服务层用于将业务服务封装,向外发布标准服务;原子服务层用于将所述服务提供者提供的相对独立的、无状态的业务功能进行映射形成原子服务;组合服务层用于将多个原子服务进行编排。

一个标准服务通过多个接入适配器访问,多个原子服务通过一个接出适配器访问所述服务提供者。其中,服务消费者为发起标准服务调用的it系统,服务提供者为提供基础服务的it系统。

本实施例的企业服务总线平台的数据分析方法主要流程如图2所示,包括以下步骤:

s1.接入适配器,将请求报文封装为报文规范格式,将响应报文封装为请求系统所要求的格式。如图3所述,具体步骤如下:

s11.获取handler,通过接入适配器id在esb_adapter中查询获取得到handler。如果查询失败,返回接入适配异常(s001e00015);

s12.接入适配,如果handler不为null,则执行,否则返回;

s13.异常,如果发生异常,返回接入适配异常。

s2.报文解析,按照报文规范,对请求报文的头进行解析;如图4所示,具体步骤如下:

s21.报文解析,

解析报文,并将数据放入缓存。缓存key值如下:

req_message,请求报文

req_service_code:标准服务编码(对应请求报文中的servicecode)

req_sys_code:请求系统(对应请求报文中的reqsyscode)

serial_number:技术流水号(对应请求报文中的serialnumber)

req_time:请求时间(对应请求报文中的reqtime)

req_type:请求类型(对应请求报文中的reqtype)

req_u_code:请求操作员编号(对应请求报文中的ucode)

req_b_code:请求操作员的所属机构(对应请求报文中的bcode)

记录日志表esb_log_service_req。

s22.异常,如果发生异常,返回报文解析异常(s001e00001)。

s3.身份认证,为每一个业务系统分配一个独立的队列名称,由mq/jms来控制各个系统的访问权限,esb进一步验证报文中的系统编码与queue的名称的一致性;如图5所示,具体步骤如下:

s31.获取配置数据,在esb_run_param当中找到全局参数身份验证属性值is_veriify;

s32.是否身份验证,检验is_veriify,如果是“y”,则进行身份验证;否则结束;

s33.身份验证,身份验证失败的话,生成身份验证异常,进入异常处理流程。

s34.异常,如果发生异常,返回身份认证异常(s001e00002)。

s4.服务鉴权,在运行态时,esb会根据事先配置好的参数来进行验证;如图6所示,具体步骤如下:

s41.获取配置数据,通过req_servoce_code在esb_standard_service当中找到该标准服务的服务鉴权属性值is_auth。

s42.是否鉴权,检验服务鉴权属性值,如果是“y”,则进行判服务鉴权;否则结束;

s43.服务鉴权,判断接入适配器id(adapter_in_id)与请求系统编码req_sys_code是否在esb_adapter_system存在;

判断服务编码req_service_code与接入适配器id(adapter_in_id)是否在esb_adapter_s_service存在;

判断服务编码req_service_code与请求系统编码req_sys_code是否在esb_s_service_req存在;

如果判断成功,则鉴权通过;否则,生成服务鉴权失败异常,进入异常处理流程;

s44.异常,如果发生异常,返回服务鉴权异常(s001e00003)。

s5.并发控制,针对每个请求系统设置允许访问的标准服务的最大并发数;如图7所示,具体步骤如下:

s51.获取配置数据,通过req_service_code+req_sys_id在esb_s_service_req当中找到该请求系统访问此标准服务的并发控制属性值is_conc;

s52.是否控制并发,检验并发控制属性值,如果是“y”,则进行并发控制;否则结束;

s53.并发控制,esb引擎传输的类型值:req,表示请求;res:表示响应。

请求,通过req_service_code+req_sys_id在esb_s_service_req中找到允许此系统访问的最大并发数max_conc_number,同时通过req_service_code+req_sys_id在业务数据缓存中也找到当前的并发数current_conc_number。如果current_conc_number小于max_conc_number,则允许该请求的调用,同时current_conc_number+1;否则,生成超过最大并发数异常,进入异常处理流程;

响应,通过req_service_code+req_sys_id在业务数据缓存中找到当前的并发数current_conc_number,执行current_conc_number-1;

s54.异常,如果发生异常,返回请求超过最大并发数异常。

s6.流量控制,每个标准服务都可以单独配置请求报文的大小,,如果服务请求中的报文超过设定上限值,那么esb返回错误提示信息;如图8所示,具体步骤如下:

s61.获取配置数据,通过req_service_code在esb_standard_service中找到该标准服务的流量控制属性值is_flow;

s62.是否控制流量,检验流量控制属性值,如果是“y”,则进行流量控制;否则结束;

s63.流量控制,通过req_service_code在esb_standard_service中找到此服务允许的最大请求报文值max_mess_size(byte),同时在业务数据缓存中找到请求报文,并计算得到其大小req_mess_size(byte)。如果req_mess_size小于max_mess_size,则验证通过;否则,生成超过最大报文异常,进入异常处理流程;

s64.异常,如果发生异常,返回请求报文超过允许最大报文异常。

s7.报文验证,验证服务消费者的报文是否包含了必选字段、以及字段中值的类型是否正确;如图9所示,具体步骤如下:

s71.获取配置数据,过req_service_code在esb_standard_service中找到该标准服务的报文验证属性值is_veri;

s72.是否验证报文,检验请求报文验证属性值,如果是“y”,则进行报文验证;否则结束;

s73.报文验证,通过req_service_code在esb_standard_service中找到此请求服务的规则rule_id,在esb_rule找到对应的规则执行。如果校验成功,则验证通过;否则,生成请求报文校验异常,进入异常处理流程;

s74.异常,如果发生异常,返回请求报文验证异常。

s8.接入转换,实现报文的标准化,esb对外发布的每个标准服务所需要的字段都进行标准化定义;如图10所示,具体步骤如下:

s81.获取配置数据,通过req_service_code+req_sys_id在esb_s_service_req中找到该请求系统访问该标准服对应的请求报文是否转换属性值is_req_t与响应报文是否转换属性值is_resp_t;

s82.请求or响应,esb引擎传输的类型值:req,表示请求;res:表示响应;

s83.请求报文是否转换,检验请求报文转换属性值,如果是“y”,则进行接入转换;否则结束;

s84.响应报文是否转换,检验响应报文转换属性值,如果是“y”,则进行接入转换;否则结束;

s85.接入转换,通过req_service_code+req_sys_id在esb_s_service_req中找到对应的请求报文转换规则req_rule_id或者响应报文转换规则resp_rule_id,同时在业务数据缓存中也找到请求报文req_message或者响应报文resp_message。根据前面的判断,在esb_rule找到对应的规则执行,将转换后的请求报文req_message_in_t或者响应报文resp_message_out_t保存到业务数据缓存中。如果转换过程发生异常,则生成报文转换异常,进入异常处理流程;

s86.异常,如果发生异常,返回请求报文接入转换异常(s001e00007)或者响应报文接入转换异常。

s9.服务路由,将标准服务路由到服务提供方的原子服务;如图11所示,具体步骤如下:

s91.获取配置数据,通过req_service_code在esb_router中得到该标准服务的类型属性值service_type;

s92.类型判断,检验类型属性值,根据属性值的不同,进行原子服务或者组合服务;

s93.原子服务,通过req_service_code在esb_router中得到该标准服务对应的原子服务编码target_service_code,在esb_atomic_service找到对应的原子服务。如果获取失败,则生成esb内部路由异常,进入异常处理流程;

s94.组合服务,通过req_service_code在esb_router中得到该标准服务对应的原子服务编码target_service_code,在esb_composite_service找到对应的组合服务。如果获取失败,则生成esb内部路由异常,进入异常处理流程。

s95.异常,如果发生异常,返回找不到对应的路由信息。

s10.接出转换,当服务提供者的报文不能遵循规范时,那么esb在发送报文之前,需要先将报文转换为服务提供者的报文格式;如图12所示,具体步骤如下:

s101.获取配置数据,通过req_service_code在esb_router中找到标准服务到原子服务的请求报文是否转换属性值is_req_t或者响应报文是否转换属性值is_resp_t;

s102.请求/响应,esb引擎传输的类型值:req,表示请求;res:表示响应;

s103.请求报文是否转换,检验请求报文转换属性值,如果是“y”,则进行接出转换;否则结束;

s104.响应报文是否转换,检验响应报文转换属性值,如果是“y”,则进行报文转换;否则结束;

s105.接出转换,通过req_service_code在esb_router中找到对应的请求报文转换规则req_rule_id或者响应报文转换规则resp_rule_id,同时在业务数据缓存中也找到请求报文req_message_in_t或者响应报文resp_message。执行esb_rule对应的规则,将转换后的请求报文保存为req_message_out_t,响应报文保存为resp_message_out_t。如果转换过程发生异常,则生成报文转换异常,进入异常处理流程。

s106.异常,如果发生异常,返回请求报文接出转换异常(s001e00010)或者响应报文接出转换异常。

s11.接出适配器,每个接出适配器上可以配置独立的handler,当遇到需要特殊处理的接出调用时,可以执行此handler,如图13所示,具体步骤如下:

s111.获取handler,在esb_atomic_service找到接出适配器adapter_id,通过adapter_id在esb_adapter找到对应的handler放入缓存;

s112.接出适配,如果handler不为null,则执行handler。如果发生异常,进入异常流程;

s113.异常,如果发生异常,返回接出适配异常。

本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1