一种HTTP消息动态编排装置和方法与流程

文档序号:36403138发布日期:2023-12-16 08:31阅读:24来源:国知局
一种的制作方法

本发明涉及一种http消息动态编排装置和方法。


背景技术:

1、电信网络下一步变革的核心是it化,构建一张资源可全局调度、能力可全面开放、容量可弹性伸缩、架构可灵活调整的新一代网络,本质就是承载在一个大的云平台之上。随着nfv/sdn等新网络架构的出现,运营商开始简化业务网络,改变现有的竖井式的通信业务提供体系。

2、为满足新业务发展模式对网络架构的要求,运营商的各类增值业务计划演进为标准统一的话音/媒体/信令能力平台(提供能力调用接口)和智能业务服务器(提供现有标准化和个性化业务)。其中,云媒体封装开放平台可基于nfv架构进行建设,对ims媒体功能进行封装,具备业务开发性,将放音、收号、录音、ivr等作为应用程序接口对外提供。但是,当前能力封装侧缺乏安全管控支撑手段,无法从互操作性、可用性、性能、安全性等方面对系统qos进行监控,无法对接口、媒体、信令、系统安全进行管控。


技术实现思路

1、针对现有技术中存在的问题,本发明的目的在于提供一种http消息动态编排装置和方法的技术方案,以实现在http接口提供服务过程中无需进行任何修改的前提下,对外部提供鉴权与编排(字段权限)等能力为解决目标。

2、所述的一种http消息动态编排装置,其特征在于包括

3、配置模块:对数据进行处理和存储;

4、策略模块:接受http请求客户端发送的http请求报文,根据策略,执行访问鉴权、ip黑白名单校验、访问资源权限校验、访问资源状态校验、流量控制;调度模块:根据编排脚本进行编排并生成http应答报文,将http应答报文发送给http请求客户端。

5、所述的一种http消息动态编排方法,其特征在于包括如下步骤:

6、步骤s101,配置模块对数据进行处理和存储;

7、步骤s102,策略模块接受http请求客户端发送的http请求报文;

8、步骤s103,策略模块根据策略,执行访问鉴权、ip黑白名单校验、访问资源权限校验、访问资源状态校验、流量控制;

9、步骤s104,调度模块根据编排脚本进行编排并生成http应答报文;

10、步骤s105,调度模块将http应答报文发送给http请求客户端。

11、所述的一种http消息动态编排方法,其特征在于所述步骤s101独立与应用程序接口编排调度过程,它主要是根据业务模型处理和存储流程步骤s102、步骤s103、步骤s104、步骤s105执行时所需的数据;

12、所述应用程序接口编排简称编排,指通过应用程序接口模型结合编排脚本将多个应用程序接口请求按特定顺序组合和执行,以实现更复杂的业务逻辑或功能的过程;

13、所述应用程序接口模型包括应用程序接口模式和应用程序接口上下文,其中应用程序接口模式来表达应用程序接口的约束限制,应用程序接口上下文用来表达某次具体访问应用程序接口的具体信息,应用程序接口模式为应用程序接口的描述,应用程序接口上下文为应用程序接口的具体承载。

14、所述的一种http消息动态编排方法,其特征在于所述编排脚本为脚本语言,除了支持脚本语言的基本特性外,还支持调用预置对象的方法,支持动态更新,支持根据应用程序接口模式对应用程序接口上下文进行新增、删除、修改;

15、所述预置对象为调用所述编排脚本的主语言预先定义的一些操作的集合,其中预置对象的操作可以进行扩展,支持;

16、所述动态更新指的编排脚本发生变动的时候,无需重启装置,就可以更新编排脚本。

17、所述的一种http消息动态编排方法,其特征在于所述业务模型为业务基础,用于对http访问客户端、http应答客户端、http应用程序接口进行约束和业务上的抽象定义,并为策略、编排引擎提供业务信息支撑;http访问客户端、http应答客户端进行业务抽象,http访问客户端抽象为消费者、http应答客户端抽象为提供者;http应用程序接口根据不同层级分为北向应用程序接口、南向应用程序接口,北向应用程序接口为消费者调用的应用程序接口,南向应用程序接口为提供者提供的应用程序接口。

18、所述的一种http消息动态编排方法,其特征在于所述步骤s101的实施过程如下:

19、步骤s1011,对提供者数据进行处理和存储,将提供者处理的结构化数据存储到数据库中;

20、步骤s1012,对南向应用程序接口数据进行处理和存储,将南向应用程序接处理的结构化数据存储到数据库中;

21、步骤s1013,对北向应用程序接口数据进行处理和存储,将北向应用程序接处理的结构化数据存储到数据库中;

22、步骤s1014,对消费者数据进行处理和存储,将消费者处理的结构化数据存储到数据库中;

23、步骤s1015,对应用数据进行处理和存储,将应用处理的结构化数据存储到数据库中;

24、步骤s1016,对应用ip黑白名单数据进行处理和存储,将应用ip黑白名单处理的结构化数据存储到数据库中;

25、步骤s1017,对应用授权数据进行处理和存储,将应用授权处理的结构化数据存储到数据库中;

26、步骤s1018,对应用订阅数据进行处理和存储,将应用订阅处理的结构化数据存储到数据库中。

27、所述的一种http消息动态编排方法,其特征在于所述步骤s1014依赖步骤s1011,步骤s1013部分情况依赖步骤s1012;在步骤s1015之后,步骤s1016、步骤s1017、步骤s1018为三个可以同时进行的流程,三者之间没有任何先后顺序;

28、所述步骤s1013部分情况依赖步骤s1012,指的北向应用程序接口可以关联零到多个南向应用程序接口,并根据实际的编排逻辑实现简单或者复杂的调用逻辑,当关联零个南向应用程序接口时,步骤s1013不依赖步骤s1012,当关联多个南向应用程序时,步骤s1013依赖步骤s1012。

29、所述的一种http消息动态编排方法,其特征在于所述步骤s103的实施过程如下:

30、步骤s1031,解析http请求报文;

31、步骤s1032,进行访问鉴权,访问鉴权支持http basic认证和签名认证;

32、步骤s1033,判断鉴权是否通过,若否则进入步骤s10313,若是则进入步骤s1034;步骤s1034,进行ip黑白名单校验,

33、所述ip黑白名单校验,首先从http请求报文中头域host中获取访问的主机名或者域名,然后从根据步骤s1032获取的应用,从应用ip黑白名单表中查找应用的id与ip黑白名单表的应用id相等的所有ip黑白名单,并进行遍历,如果所有ip黑白名单中ip黑白名单的类型存在白名单,则再判断从头域中获得主机名或者域名是否与所有ip黑白名单中ip黑白名单的主机相同,相同则放通,不同则拦截,如果所有ip黑白名单中ip黑白名单的类型不存在白名单,则再判断从头域中获得主机名或者域名是否与所有ip黑白名单中ip黑白名单的主机相同,相同则拦截,不同则放通;

34、步骤s1035,判断黑白名单校验是否通过,若否则进入步骤s10313,若是则进入步骤s1036;

35、步骤s1036,进行进行访问资源权限校验,

36、所述访问资源权限校验,首先获得当前应用程序接口编排调度过程中的北向应用程序接口,然后从应用授权表获取北向应用程序接口id等于北向应用程序接口的id并且应用id等于根据步骤s1032获取的应用的id的应用授权,如果存在则放通,否则拦截;

37、所述获得当前应用程序接口编排调度过程中的北向应用程序接口,本发明在启动http服务的时候会从北向应用程序接口表获取所有北向应用程序接口并进行遍历,获取北向应用程序接口的应用程序接口模式的请求uri表达式进行监听;http请求客户端访问http服务时,只有匹配北向应用程序接口的应用程序接口模式的请求uri表达式的请求才会进行应用程序接口编排调度过程,所以在整个应用程序接口编排调度过程中都可以获得当前http请求客户端访问的北向应用程序接口;

38、步骤s1037,判断访问资源权限校验是否通过,若否则进入步骤s10313,若是则进入步骤s1038;

39、步骤s1038,进行访问资源状态校验,

40、所述访问资源状态校验,首先获得当前应用程序接口编排调度过程中的北向应用程序接口,判断北向应用程序接口的状态是否为启用,如果否则拦截,如果是则判断根据步骤s1032获取的应用的状态是否为启用,如果是则放通,否则拦截;

41、步骤s1039,判断访问资源状态校验是否通过,若否则进入步骤s10313,若是则进入步骤s10310;

42、步骤s10310,进行流量控制,

43、所述流量控制,获取步骤s1036的应用授权的tps阈值,使用令牌桶算法进行流控,并设置每秒生成的令牌数为应用授权的tps阈值,当可以获取到令牌的时候放通,否则拦截;

44、步骤s10311,判断流量控制是否超过阈值,若否则进入步骤s10313,若是则进入步骤s10312;

45、步骤s10312,将http请求报文转发给调度模块;

46、步骤s10313,将构造的http应答报文转发给http请求客户端,在非放通的情况下,构造http应答报文,填写http应答状态码,并转发给http请求客户端;其中访问鉴权未通过时,http应答状态码填写为401,ip黑白名单校验未通过时,http应答状态码填写为403,访问资源权限校验未通过时,http应答状态码填写为403,访问资源状态校验未通过时,http应答状态码填写为403,流量控制未通过时,http应答状态码填写为503。

47、所述的一种http消息动态编排方法,其特征在于所述http basic认证先通过httpbasic认证解密方式解密http请求报文头域authorization的值,获得用户名和密码,其中用户名既为消费者下应用的编码,密码既为消费者下应用的密码,然后从应用表查找编码等于通过http basic认证解密方式解密获得的用户名的应用,查询到应用并且应用的密码与通过http basic认证解密方式解密获得的密码一致则认为认证成功;

48、所述签名认证通过签名认证解密方式解密http请求报文头域authorization的值,获得用户名、时间戳和签名字符串,其中用户名既为消费者下应用的编码,时间戳为http请求时的时间的时间戳,签名字符串为签名后的字符串,然后对比时间戳与装置接收到请求的时间的时间戳之差是否在指定的误差内,如果不在则认证失败,如果在,然后从应用表查找编码等于通过签名认证解密方式解密获得的用户名的应用,如果查询到则使用通过签名认证解密方式解密获得的用户名、时间戳和应用的密码进行签名,将签名获得的字符串与通过签名认证解密方式解密获得的签名对比,一致则认为认证成功。

49、所述的一种http消息动态编排方法,其特征在于所述步骤s104的实施流程如下:

50、步骤s1041,获得当前应用程序接口编排调度过程中的北向应用程序接口的类型;

51、步骤s1042,判断北向应用程序接口的类型,若为请求则进入步骤s1043,若为推送则进入步骤s1044;

52、步骤s1043,执行北向应用程序接口中的编排脚本进行请求逻辑处理,所述请求逻辑处理,编排脚本针对请求流程的处理,支持编排脚本的通用特性,但是预置对象中不支持将应用程序接口上下文转发到订阅时消费者的应用接收的应用程序接口;其中预置对象将应用程序接口上下文转发到提供者提供的南向应用程序接口可以将应用程序接口上下文转换为http请求报文,再转发给南向应用程序接口的http应答客户端,http应答客户端返回http应答报文,再根据南向应用程序接口模式和http应答报文生成应用程序接口上下文,最后返回应用程序接口上下文,这个预置对象不限制调用的次数;

53、步骤s1044,执行北向应用程序接口中的应用编码脚本获取推送应用,所述应用编码脚本获取推送应用,首先根据获得当前应用程序接口编排调度过程中的北向应用程序接口的应用程序接口模式和http请求报文生成应用程序接口上下文,然后根据应用编码脚本的通用特性进行处理,返回推送应用编码,最后从应用表查找编码等于推送应用编码的应用;

54、步骤s1045,判断是否可以获取到推送应用,若否则进入步骤s1049,若有则进入步骤s1046;

55、步骤s1046,根据推送应用和北向应用程序接口获取应用订阅;

56、步骤s1047,判断是否可以获取到应用订阅,若否则进入步骤s1049,若有则进入步骤s1048;

57、步骤s1048,执行应用订阅中的编排脚本进行推送逻辑处理,获得http应答报文,

58、所述推送逻辑处理,首先根据获得当前应用程序接口编排调度过程中的北向应用程序接口的应用程序接口模式和http请求报文生成应用程序接口上下文,然后根据编排脚本的通用特性进行处理,返回应用程序接口上下文,最后根据应用订阅中的应用程序接口模式和返回的应用程序接口上下文生成http应答报文;

59、步骤s1049,将构造的http应答报文转发给http请求客户端,在未获取到推送应用和未获取到应用订阅的情况下,构造http应答报文,填写http应答状态码,并转发给http请求客户端;其中未获取到推送应用时,http应答状态码填写为404,未获取到应用订阅时,http应答状态码填写为403。

60、本发明的优点如下:

61、1.在不需要对现有平台进行改造的情况既可以实现原有北向请求南向,南向请求北向的各类应用程序接口的集成管控,并使其在本发明中可以清晰的体现业务流程;

62、2.对应用程序接口进行抽象,让他可以在不同代码框架下使用应用程序接口模型传递应用程序接口相关信息,大幅度简化了跨语言、跨框架的应用程序接口集成成本;

63、3.使用应用程序接口编排调度过程,可以让应用程序接口在不进行代码改造的情况下,实现更多控制逻辑;

64、4.可以在平台接入本发明之后,提供访问鉴权、ip黑白名单校验、访问资源权限校验、访问资源状态校验、流量控制。无需代码开发,大幅度的提高接入效率。

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