【技术实现步骤摘要】
一种业务请求报文数据的处理方法和装置
本专利技术涉及数据处理
,特别涉及一种业务请求报文数据的处理方法和装置。
技术介绍
传统的网络应用大多采用单体架构,也就是将应用程序的所有功能都打包成一个独立的单元部署在一个中心服务器上,中心服务器不但要对接所有外来业务请求,还要根据业务请求调用系统内部不同的功能模块进行处理。这种系统架构的优点是开发周期短、部署简单,但缺点也很明显:处理高并发难度大、功能迭代升级速度慢。为满足互联网应用高并发和功能快速迭代的需求,近年来,人们开始使用微服务架构来搭建应用系统。在微服务架构下,应用系统的所有功能可拆解为多个独立子服务,这些子服务可以部署在不同的服务器上独立运行,这些子服务间的应用程序接口(ApplicationProgrammingInterface,API)从传统单体架构内部的类、函数调用接口,变为服务器间的超文本传输协议(HyperTextTransferProtocol,HTTP)格式的业务请求报文接口。如此一来,中心服务器的业务处理流程可以被多个分布式子服务器接管,外来业务请求甚至可以直接发送至子服务器上进行处理,从而提高了应用系统对高并发的处理能力、和对快速升级的响应能力。但是,我们在实际实施部署中,也发现了一些问题,若直接将所有子服务都部署在公网上,子服务需要预备额外的软硬件资源来处理发自不同客户端的业务请求,另外还要申请多个公网地址对服务器进行部署,同时还会使得系统面临攻击的风险增大。为了兼顾灵活部署与安全运维,我们采用了一种折中的处理方 ...
【技术保护点】
1.一种业务请求报文数据的处理方法,其特征在于,所述方法包括:/n获取第一业务请求报文数据;/n对所述第一业务请求报文数据,进行请求权限校验处理;/n所述请求权限校验处理成功,则按超文本传输协议HTTP协议的请求报文数据格式,对所述第一业务请求报文数据的请求行的统一资源定位符URL信息,进行路径信息与参数信息的拆解处理,生成对应的第一请求路径数据和第一参数数据组;/n根据所述第一请求路径数据,查询预设的反映请求路径与转发主机地址及转发路径对应关系的第一对应关系表,生成对应的第一主机地址数据和第二请求路径数据;/n按HTTP协议的请求报文数据格式,将所述第二请求路径数据做为请求报文请求行的URL信息,将所述第一主机地址数据做为请求报文请求头的主机字段信息,将所述第一参数数据组做为请求报文的请求体,拼装生成第二业务请求报文数据;并向所述第一主机地址数据对应的第一服务器,发送所述第二业务请求报文数据。/n
【技术特征摘要】
1.一种业务请求报文数据的处理方法,其特征在于,所述方法包括:
获取第一业务请求报文数据;
对所述第一业务请求报文数据,进行请求权限校验处理;
所述请求权限校验处理成功,则按超文本传输协议HTTP协议的请求报文数据格式,对所述第一业务请求报文数据的请求行的统一资源定位符URL信息,进行路径信息与参数信息的拆解处理,生成对应的第一请求路径数据和第一参数数据组;
根据所述第一请求路径数据,查询预设的反映请求路径与转发主机地址及转发路径对应关系的第一对应关系表,生成对应的第一主机地址数据和第二请求路径数据;
按HTTP协议的请求报文数据格式,将所述第二请求路径数据做为请求报文请求行的URL信息,将所述第一主机地址数据做为请求报文请求头的主机字段信息,将所述第一参数数据组做为请求报文的请求体,拼装生成第二业务请求报文数据;并向所述第一主机地址数据对应的第一服务器,发送所述第二业务请求报文数据。
2.根据权利要求1所述的业务请求报文数据的处理方法,其特征在于,所述对所述第一业务请求报文数据,进行请求权限校验处理,具体包括:
按HTTP协议的请求报文数据格式,对所述第一业务请求报文数据的请求体中的所有字段进行提取,生成第一字段数据组集合;所述第一字段数据组集合包括多个第一字段数据组;所述第一字段数据组包括第一字段名数据和第一字段内容数据;
在所述第一字段数据组集合中,根据预设的授权令牌字段名信息和授权校验码字段名信息,进行令牌字段查询处理,并根据查询结果生成第一授权类型数据;
当所述第一授权类型数据为令牌授权类型时,提取与所述授权令牌字段名信息对应的所述第一字段数据组的所述第一字段内容数据,做为第一令牌数据;并根据所述第一令牌数据,进行第一令牌校验处理;若所述第一令牌校验处理成功,则所述请求权限校验处理成功;
当所述第一授权类型数据为校验码授权类型时,提取与所述授权校验码字段名信息对应的所述第一字段数据组的所述第一字段内容数据,做为第一校验码数据;并根据所述第一校验码数据,进行第一校验码校验处理;若所述第一校验码校验处理成功,则所述请求权限校验处理成功;
当所述第一授权类型数据为令牌及校验码授权类型时,提取与所述授权令牌字段名信息对应的所述第一字段数据组的所述第一字段内容数据,做为第二令牌数据,并提取与所述授权校验码字段名信息对应的所述第一字段数据组的所述第一字段内容数据,做为第二校验码数据;并根据所述第二令牌数据,进行第二令牌校验处理;并根据所述第二校验码数据,进行第二校验码校验处理;若所述第二令牌校验处理成功、且所述第二校验码校验处理成功,则所述请求权限校验处理成功。
3.根据权利要求2所述的业务请求报文数据的处理方法,其特征在于,所述在所述第一字段数据组集合中,根据预设的授权令牌字段名信息和授权校验码字段名信息,进行令牌字段查询处理,并根据查询结果生成第一授权类型数据,具体包括:
初始化第一状态数据和第二状态数据为空;
在所述第一字段数据组集合中,对所有所述第一字段名数据进行轮询,当被轮询的所述第一字段名数据与所述授权令牌字段名信息匹配时,设置所述第一状态数据为成功状态;
在所述第一字段数据组集合中,对所有所述第一字段名数据进行轮询,当被轮询的所述第一字段名数据与所述授权校验码字段名信息匹配时,设置所述第二状态数据为成功状态;
当所述第一状态数据为所述成功状态、且所述第二状态数据为空时,将所述第一授权类型数据设为所述令牌授权类型;当所述第一状态数据为空、且所述第二状态数据为所述成功状态时,将所述第一授权...
【专利技术属性】
技术研发人员:张奎,袁飞,
申请(专利权)人:北京树米网络科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。