本申请属于移动互联,尤其涉及一种报文解析方法和装置。
背景技术:
1、目前,针对发送方上传的报文,一般都是通过调用dsf(distributed serviceframework,分布式服务框架,也称为服务化)对接收到的报文进行逐级解析,以生成对应的指令。
2、然而,dsf服务的调用是存在时间上限的,如果解析时间超出dsf的调用时间上限,那么发送方会认为本次发送失败,随着业务的扩展,相应的报文内容也会变多,这样势必会增加解析时长,也就更容易导致dsf的调用时间超出预设的时间上限。
3、针对如何解决上述问题,目前尚未提出有效的解决方案。
技术实现思路
1、本申请目的在于提供一种报文解析方法和装置,可以实现对报文的多线程并行解析,从而解决报文内容过长而导致的报文解析超时的技术问题。
2、本申请提供一种报文解析方法和装置是这样实现的:
3、一种报文解析方法,包括:
4、获取携带有多层级结构体的报文数据;
5、将所述报文数据转换至临时表;
6、调用预先建立的配置表,其中,所述临时表中的字段与所述配置表中的标签字段是一一对应的;
7、基于所述配置表,将所述临时表中不同层级的结构体通过异步线程同步解析至对应的业务子表中,其中,不同层级的结构体对应不同的业务子表。
8、在一个实施方式中,上述方法还包括:
9、与上游节点建立通信连接;
10、在通信连接建立完成后,接收上游节点下发报文需求,其中,所述报文需求中包括:报文中所包含的结构体、每个结构体中包含的字段;
11、根据所述报文需求,建立面向所述上游节点的配置表,其中,所述配置表中记录有:接口类型与业务表的对应关系、结构体的层级与业务子表的对应关系。
12、在一个实施方式中,基于所述配置表,将所述临时表中不同层级的结构体通过异步线程同步解析至对应的业务子表中,包括:
13、获取当前结构体的层级;
14、根据当前结构体的层级,从所述配置表中匹配出对应的元组序号;
15、根据对应的元组序号,查找当前结构体在当前业务表中对应的业务子表;
16、根据查找到的在对应业务表中的字段,将所述当前结构体解析至对应的业务子表中。
17、在一个实施方式中,根据所述配置表中的表字段,通过异步线程将各结构体解析至对应的业务子表中,包括:
18、获取当前结构体对应的元组序号、当前结构体的层级;
19、根据所述当前结构体对应的元组序号、当前结构体的层级,从所述配置表中确定当前结构体对应的元组序号;
20、根据所述元组序号,查找当前结构体在当前业务表中对应的业务子表;
21、根据所述配置表中的表字段,将所述当前结构体解析至对应的业务子表中。
22、在一个实施方式中,获取携带有多层级结构体的报文数据,包括:
23、通过预先建立的通信连接,接收上游节点下发的携带有多层级结构体的xml格式的报文数据。
24、一种报文解析装置,包括:
25、获取模块,用于获取携带有多层级结构体的报文数据;
26、转换模块,用于将所述报文数据转换至临时表;
27、调用模块,用于调用预先建立的配置表,其中,所述临时表中的字段与所述配置表中的标签字段是一一对应的;
28、解析模块,用于基于所述配置表,将所述临时表中不同层级的结构体通过异步线程同步解析至对应的业务子表中,其中,不同层级的结构体对应不同的业务子表。
29、在一个实施方式中,上述装置还包括:
30、建立模块,用于与上游节点建立通信连接;
31、接收模块,用于在通信连接建立完成后,接收上游节点下发的报文需求,其中,所述报文需求中包括:报文中所包含的结构体、每个结构体中包含的字段;
32、生成模块,用于根据所述报文需求,建立面向所述上游节点的配置表,其中,所述配置表中记录有:接口类型与业务表的对应关系、结构体的层级与业务子表的对应关系。
33、一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法的步骤。
34、一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
35、一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
36、本申请提供的报文解析方法,在接收到携带有多层级结构体的报文数据的时候,可以先将报文数据转换至临时表,然后,调用预先建立的配置表,基于配置表,将临时表中不同层级的结构体通过异步线程同步解析至对应的业务子表中,其中,不同层级的结构体对应不同的业务子表。通过上述方式因为配置表是可以配置的,因此,可以满足不同上游节点的需求,进一步的,通过异步线程对不同层级的结构体进行同步解析,从而可以解决报文内容过长而导致的报文解析超时的技术问题,以达到缩短解析时长,提升报文传输成功率的技术效果。
1.一种报文解析方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,基于所述配置表,将所述临时表中不同层级的结构体通过异步线程同步解析至对应的业务子表中,包括:
4.根据权利要求3所述的方法,其特征在于,根据所述配置表中的表字段,通过异步线程将各结构体解析至对应的业务子表中,包括:
5.根据权利要求2至4中任一项所述的方法,其特征在于,获取携带有多层级结构体的报文数据,包括:
6.一种报文解析装置,其特征在于,包括:
7.根据权利要求6所述的装置,其特征在于,还包括:
8.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,其特征在于,所述处理器执行所述指令时实现权利要求1至5中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
