[发明专利]一种报文解析方法、装置、设备和存储介质在审
| 申请号: | 202110900757.6 | 申请日: | 2021-08-06 | 
| 公开(公告)号: | CN113660231A | 公开(公告)日: | 2021-11-16 | 
| 发明(设计)人: | 轩家俊 | 申请(专利权)人: | 上海浦东发展银行股份有限公司 | 
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/54;G06F9/50 | 
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 郭德霞 | 
| 地址: | 200000 *** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 报文 解析 方法 装置 设备 存储 介质 | ||
1.一种报文解析方法,其特征在于,包括:
通过当前Flink节点的源Source模块获取消息队列中的原始报文,对所述原始报文进行解析,得到解析结果;
通过所述Source模块将所述解析结果发送给当前Flink节点的转换Transform模块;
通过所述Transform模块将所述解析结果或对所述解析结果执行预设计算操作后的计算结果,发送给输出sink模块进行输出。
2.根据权利要求1所述的方法,其特征在于,通过当前Flink节点的Source模块获取消息队列中的原始报文,对所述原始报文进行解析,得到解析结果,包括:
通过所述Source模块中的消息队列消费子模块,获取消息队列中的字节流形式的原始报文;
通过所述Source模块中的序列化/反序列化子模块,将所述字节流形式的原始报文进行解析,获得包含解析结果的MAP对象。
3.根据权利要求2所述的方法,其特征在于,通过所述Source模块中的序列化/反序列化子模块,将所述字节流形式的原始报文进行解析,获得包含解析结果的MAP对象,包括:
通过所述Source模块中的序列化/反序列化子模块,将所述字节流形式的原始报文进行拆分,得到协议头、报文头和报文体;
按照预设协议头字段映射关系表,获得所述协议头对应的字段标识和字段值,并将所述字段标识和所述字段值映射到MAP对象中;
根据所述字段值确定所述原始报文的协议类型,加载所述协议类型对应的解析逻辑代码,执行加载的所述解析逻辑代码,以对所述报文头和报文体进行解析,并将得到的解析内容映射到所述MAP对象中。
4.根据权利要求3所述的方法,其特征在于,若所述协议类型为同源协议SOP,则执行加载的所述解析逻辑代码,以对所述报文头和报文体进行解析,并将得到的解析内容映射到所述MAP对象中,包括:
执行加载的所述解析逻辑代码,以从当前Flink节点的Java虚拟机内存中,读取预设报文头字段映射关系表,根据所述报文头字段映射关系表,获得所述报文头对应的字段标识和字段值,将所述报文头对应的字段标识和字段值映射到所述MAP对象中,并从数据库加载与所述原始报文的业务类型对应的报文体字段映射关系表,根据所述报文体字段映射关系表,获得所述报文体对应的字段标识和字段值,将所述报文体对应的字段标识和字段值映射到所述MAP对象中。
5.根据权利要求3所述的方法,其特征在于,若所述协议类型为简单对象访问协议SOAP,则执行加载的所述解析逻辑代码,以对所述报文头和报文体进行解析,并将得到的解析内容映射到所述MAP对象中,包括:
提取所述报文头和报文体中的最后一层可标记扩展语言XML节点的节点标识,将所述节点标识和对应的节点值映射到所述MAP对象中。
6.根据权利要求1所述的方法,其特征在于,在通过当前Flink节点的Source模块获取消息队列中的原始报文之前,所述方法还包括:
通过YARN集群的资源管理器接收输入的任务提交指令,读取所述任务提交指令中的并行资源数量,根据所述并行资源数量申请多个Flink节点的资源,以使所述多个Flink节点并行执行报文解析操作。
7.根据权利要求1-6中任一项所述的方法,其特征在于,还包括:
通过所述Source模块每隔预设时间将当前的解析进度信息进行存储;
若在对所述原始报文进行解析的过程中发生机器故障,则在故障恢复后,根据当前存储的最新的解析进度信息和所述消息队列的偏移量记录信息,定位到故障发生前的解析步骤,并从该解析步骤开始继续进行报文解析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海浦东发展银行股份有限公司,未经上海浦东发展银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110900757.6/1.html,转载请声明来源钻瓜专利网。





