报文管理方法、装置、电子设备及计算机可读存储介质与流程
未命名
09-24
阅读:51
评论:0
1.本技术涉及it应用和java开发领域,尤其涉及一种报文管理方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.目前的智能话费充值依赖于各省级行政区系统提供余额预警、号码销户反向解约智能话费充值等功能。在智能话费充值平台通过接口与各省级行政区对接时,由于各省级行政区系统的差异性,这些接口的报文也存在一些差异,智能话费充值平台无法通过统一的接口与各省级行政区对接。大部分省级行政区的接口报文是json格式,个别省级行政区报文是xml格式,同类型格式的报文,也存在字段的差异。每次新省级行政区份接入时,要针对新接入省级行政区份进行报文解析和响应处理,针对该省级行政区的报文特点,使用fastjson进行json报文的序列化和反序列化,或者使用dom4j进行xml报文的读写。
3.因此,目前的智能话费充值平台通过接口与各省级行政区对接的过程中,报文处理的逻辑和流程基本一样,唯一要处理的差异就是各省级行政区报文格式不同。然而,现有的技术方案存在大量重复代码,开发效率低,无法跟上业务发展的速度等问题。
技术实现要素:
4.本技术提供一种报文管理方法、装置、电子设备及计算机可读存储介质,旨在实现最小化差异处理,提高与各平台的对接效率。
5.第一方面,本技术提供一种报文管理方法,包括:
6.确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
7.根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
8.根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
9.根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
10.在一个实施例中,所述根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器,包括:
11.确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器;
12.若不存在所述目标报文定义类和所述目标报文处理器,则确定预设报文定义类和预设报文处理器;
13.将所述预设报文定义类和所述预设报文处理器,确定为所述平台报文定义类和所述平台报文处理器。
14.所述根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求
报文进行序列化和反序列化,生成响应报文,包括:
15.通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象;
16.确定待接入平台的签名算法和签名密钥,并根据切点方法名和平台标识确定所述待接入平台的响应报文定义类;
17.将所述签名算法和所述签名密钥,配置至所述请求报文的java对象的数据;
18.通过所述响应报文定义类对签名后的请求报文的java对象进行反序列化,生成所述响应报文。
19.所述通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象,包括:
20.确定所述请求报文的报文类型,其中,所述报文类型包括json报文类型和xml报文类型;
21.根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象。
22.所述根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象,包括:
23.若所述报文类型为json报文类型,则通过gson报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。
24.所述根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象,包括:
25.若所述报文类型为xml报文类型,则通过xstream报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。
26.所述确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器之后,还包括:
27.若存在目标报文定义类和目标报文处理器,则通过所述目标报文定义类和所述目标报文处理器为请求报文配置签名算法和签名密钥。
28.第二方面,本技术提供一种报文管理装置,包括:
29.第一确定模块,用于确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
30.第二确定模块,用于根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
31.第三确定模块,用于根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
32.报文处理模块,用于根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
33.第三方面,本技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述报文管理方法。
34.第四方面,本技术还提供一种非暂态计算机可读存储介质,所述非暂态计算机可
读存储介质包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述报文管理方法。
35.第五方面,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述报文管理方法。
36.本技术提供的报文管理方法、装置、电子设备及计算机可读存储介质,在对待接入平台的报文处理过程中,可直接通过接入请求的切点方法名和待接入平台的平台标识,即可确定出待接入平台的平台报文定义类和平台报文处理器,即可实现快速通过平台报文定义类和平台报文处理器对待接入平台的请求报文进行处理,不需要设置大量重复代码,实现最小化差异处理,提高与各待接入平台的对接效率。
附图说明
37.为了更清楚地说明本技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本技术提供的报文管理方法的流程示意图;
39.图2是本技术提供的报文处理器示意图;
40.图3是本技术提供的请求报文示意图;
41.图4是本技术提供的响应报文示意图;
42.图5是本技术提供的报文管理装置的结构示意图;
43.图6是本技术提供的电子设备的结构示意图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.图1至图6描述本技术提供的报文管理方法、装置、电子设备及计算机可读存储介质。图1是本技术提供的报文管理方法的流程示意图;图2是本技术提供的报文处理器示意图;图3是本技术提供的请求报文示意图;图4是本技术提供的响应报文示意图;图5是本技术提供的报文管理装置的结构示意图;图6是本技术提供的电子设备的结构示意图。
46.本技术实施例提供了报文管理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些数据下,可以以不同于此处的顺序完成所示出或描述的步骤。
47.参照图1,图1是本技术提供的报文管理方法的流程示意图。本技术实施例提供的报文管理方法包括:
48.需要说明的是,本技术实施例以电子设备作为执行主体进行举例,本技术实施例的执行主体又应用场景决定,应用场景包括但不限制于话费充值应用场景、流量充值应用场景和业务订购应用场景。话费充值应用场景对应智能话费充值平台,流量充值应用场景对应智能流量充值平台,业务订购应用场景对应智能业务订购平台。为了方便理解,本技术
实施例以话费充值应用场景进行举例说明,因此本技术实施例以智能话费充值平台作为执行主体进行限制举例。
49.进一步需要说明的是,智能话费充值平台包括但不限制于控制器controller和报文处理器messagehandler。其中,控制器包括控制器切点,用于拦截发送至智能话费充值平台的接入请求,报文处理器具有请求报文解析、解析后处理、响应前处理和生成响应报文的功能。
50.步骤s10,确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名。
51.智能话费充值平台通过接口与各个地区平台或者各个企业平台进行对接,其中,各个地区平台即各个省级行政区的移动平台、直辖市级行政区的移动平台,如广东省移动平台、北京市移动平台和上海市移动平台;各个企业平台如支小宝平台和微小信平台。进一步地,智能话费充值平台依赖于各个地区平台或者各个企业平台提供余额预警功能和号码销户反向解约智能话费充值功能,因此,当某个地区平台或者某个企业平台需要接入智能话费充值平台时,需要向智能话费充值平台发送的接入请求。
52.进一步地,智能话费充值平台通过控制器中的控制器切点实时对某个地区平台或者某个企业平台发送的接入请求进行拦截,以确定控制器切点拦截的接入请求,以及确定接入请求的切点方法名。
53.步骤s20,根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
54.需要说明的是,本技术实施例中的接入请求以url(uniform resource locator,统一资源定位器)格式进行表示。
55.因此,智能话费充值平台在确定控制器切点拦截的接入请求url后,需要确定接入请求url中的url占位符参数,再根据url占位符参数确定平台标识,其中,url占位符参数即接入请求url的结尾,进一步可以理解为url占位符参数即为平台标识。在一实施例中,某一接入请求url为https://ip:port/recharge/hunan,因此,确定某一接入请求的url占位符参数为hunan,即智能话费充值平台确定某一接入请求url的平台标识为hunan。
56.进一步地,智能话费充值平台根据平台标识在智能话费充值平台的预设标识平台查询表中查询与平台标识对应的待接入平台,其中,预设标识平台查询表是平台业务人员根据实际情况设定的,预设标识平台查询表如{平台标识为hunan,待接入平台为湖南省移动平台}、{平台标识为shanghai,待接入平台为上海市移动平台}、{平台标识为beijing,待接入平台为北京市移动平台}和{平台标识为guangdong,待接入平台为广东省移动平台}。因此在上述实施例中,某一接入请求url的平台标识为hunan,即发送该某一接入请求url的待接入平台为湖南省移动平台。
57.步骤s30,根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器。
58.进一步地,智能话费充值平台确定发送接入请求url的待接入平台后,需要根据所确定的切点方法名和平台标识,确定适用于该切点方法名且适用于该平台标识对应的待接入平台的平台报文定义类和平台报文处理器,具体如步骤s301至步骤s303所述。其中,请求报文有默认定义类,报文处理器有接口的默认实现,当各个地区平台或者各个企业平台有特殊处理时,可自定义,通过注解进行标识。
59.进一步地,参照图2,图2是本技术提供的报文处理器示意图。报文处理器包括报文处理器接口、json报文处理程序和xml报文处理程序。xml报文处理程序和json报文处理程序主要用于请求报文解析和生成响应报文,报文处理器主要用于请求报文解析、解析后处理、响应前处理和生成响应报文。进一步地,智能话费充值平台默认支持json报文格式和xml报文格式的接入,可通过继承默认报文处理器覆写相应方法,或者重新实现报文处理器接口,实现对报文的特殊处理。解析后处理和响应前处理是接口的默认方法。解析后处理可用于对不同接入方接入报文的特殊检查,拦截问题报文,默认没有特殊处理直接返回解析后的报文对象。响应前处理可用于对不同接入方返回报文如返回内容的转换处理。
60.进一步地,步骤s301至步骤s303的描述如下:
61.步骤s301,确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器;
62.步骤s302,若不存在所述目标报文定义类和所述目标报文处理器,则确定预设报文定义类和预设报文处理器;
63.步骤s303,将所述预设报文定义类和所述预设报文处理器,确定为所述平台报文定义类和所述平台报文处理器。
64.具体地,智能话费充值平台根据切点方法名和平台标识,确定是否存在适用于该切点方法名,且适用于该平台标识对应的待接入平台的平台报文定义类和平台报文处理器,即确定是否与切点方法名和平台标识,匹配的目标报文定义类和目标报文处理器。若确定不存在与切点方法名和平台标识匹配的目标报文定义类和目标报文处理器,智能话费充值平台则确定智能话费充值平台自身默认的预设报文定义类和预设报文处理器,并将智能话费充值平台默认的预设报文定义类和预设报文处理器,确定为待接入平台的平台报文定义类和平台报文处理器。若确定存在与切点方法名和平台标识匹配的目标报文定义类和目标报文处理器,智能话费充值平台则将目标报文定义类和目标报文处理器,确定为待接入平台的平台报文定义类和平台报文处理器。
65.本技术实施例直接通过接入请求的切点方法名和待接入平台的平台标识,确定待接入平台的平台报文定义类和平台报文处理器,即可实现对待接入平台的请求报文进行处理,实现了最小化差异处理,提高与各待接入平台的对接效率。
66.步骤s40,根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
67.需要说明的是,本技术实施例中的序列化即将请求报文转换为报文java对象,反序列化即将报文java对象转换为报文字符串。
68.进一步地,对于平台报文定义类和平台报文处理器为预设报文定义类和预设报文处理器的情况:智能话费充值平台确定待接入平台的请求报文的报文类型,由于智能话费充值平台默认支持json报文格式和xml报文格式的接入,因此,报文类型包括json报文类型和xml报文类型。接着,智能话费充值平台根据请求报文的报文类型,调用预设报文处理器将请求报文进行序列化,可以理解为调用预设报文处理器将请求报文转化为预设报文定义类的java对象,得到请求报文的java对象。
69.进一步地,智能话费充值平台确定待接入平台的签名算法和签名密钥,以及根据切点方法名和待接入平台的平台标识确定待接入平台的响应报文定义类,并为请求报文的
java对象的数据配置签名算法和签名密钥。
70.进一步地,如果请求报文解析和解析后处理都成功,则进行业务处理。最后,智能话费充值平台通过响应报文定义类对签名后的请求报文的java对象进行反序列化,可以理解为通过响应报文定义类将签名后的请求报文的java对象转换为报文字符串,生成待接入平台的响应报文,具体如步骤s401至步骤s404所述。
71.进一步地,对于平台报文定义类和平台报文处理器为目标报文定义类和目标报文处理器的情况:智能话费充值平台若确定存在目标报文定义类和目标报文处理器,则将目标报文定义类和目标报文处理器作为待接入平台的平台报文定义类和平台报文处理器,并直接通过目标报文定义类和目标报文处理器为待接入平台的请求报文配置签名算法和签名密钥,生成响应报文,而不需要对待接入平台的请求报文进行序列化和反序列化。本技术实施例根据待接入平台和智能话费充值平台的实际情况灵活处理待接入平台的请求报文,实现了最小化差异处理,提高与各待接入平台的对接效率。
72.本实施例提供了报文管理方法,在对待接入平台的报文处理过程中,可直接通过接入请求的切点方法名和待接入平台的平台标识,即可确定出待接入平台的平台报文定义类和平台报文处理器,即可实现快速通过平台报文定义类和平台报文处理器对待接入平台的请求报文进行处理,不需要设置大量重复代码,实现最小化差异处理,提高与各待接入平台的对接效率,进一步增加了平台的稳定性。
73.进一步地,参照图3,图3是本技术提供的请求报文示意图。本技术实施例中的请求报文包括反向解约接口、预警充值接口、签订95折合约接口、反向解约功能、预警充值功能、签订95折合约功能以及生成接入请求功能。其中,反向解约接口可获取协议id、获取手机号码、获取支付账号和获取支付账号类型;预警充值接口可获取协议id、获取预警余额、获取充值金额、获取手机号码和获取支付账号;签订95折合约接口可获取手机号码、获取支付账号、获取生效日期和获取失效日期;反向解约功能用于对获取到的协议id、手机号码和支付账号进行签名;预警充值功能用于对获取到的协议id、预警余额、充值金额、手机号码和支付账号进行签名;签订95折合约功能用于对获取的手机号码、支付账号、生效日期和失效日期进行签名;生成接入请求功能用于获取签名串和获取签名生成接入请求。
74.进一步地,本技术实施例的智能话费充值平台能够对各个地区平台或者各个企业平台提供统一的交易接入入口,通过url占位符参数传递各个地区平台或者各个企业平台的平台标识,post数据传递报文体。在新的地区平台或者企业平台接入时,若新的地区平台或者企业平台使用默认报文格式,智能话费充值平台只需针对新的地区平台或者企业平台的报文配置签名密钥、签名算法等参数即可。如果新的地区平台或者企业平台对报文格式有不同的要求,智能话费充值平台除进行上述配置外,还需要定义新的地区平台或者企业平台的报文实现类,通过注解的方式注明该报文实现类对应的新的地区平台或者企业平台及交易名称。
75.进一步地,对每一类报文,根据业务需求定义统一的接口,新的地区平台或者企业平台接入时,使用默认报文实现类,或者根据新的地区平台或者企业平台报文规范定义报文实现类,并实现该类报文的相关接口。获取签名串的方法,根据新的地区平台或者企业平台报文规范可使用默认,或者覆写以个性化处理。进一步地,对每一个地区平台或者企业平台的报文,所有接口的签名规则通常都一样,可使用现有默认方法获取签名串,也可为该地
区平台或者企业平台覆写获取签名串的方法,也可为某个接口单独覆写获取签名串的方法,以满足不同地区平台或者企业平台不同接口不同签名规则的处理。
76.进一步地,参照图4,图4是本技术提供的响应报文示意图。响应报文包括接入返回接口、95折订单查询接口、协议查询接口、接入返回功能、95折订单查询功能和协议查询功能。接入返回接口用于设置返回码和设置返回信息;95折订单查询接口用于获取订单数和获取订单总额;协议查询接口用于获取协议编号、获取预警金额和获取充值金额;接入返回功能用于返回返回码和返回信息;95折订单查询功能用于返回订单数和订单总额;协议查询功能返回协议编号、预警金额和充值金额。
77.进一步地,目前响应报文默认仅提示各个地区平台或者各个企业平台是否成功,如失败以及失败原因。部分地区平台或者企业平台需要返回更多信息,可针对该部分地区平台或者企业平台、该接口重新定义报文实现类,通过注解的方式注明该报文实现类对应的部分地区平台或者企业平台及接口名称。
78.进一步地,步骤s401至步骤s404的描述如下:
79.步骤s401,通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象;
80.步骤s402,确定待接入平台的签名算法和签名密钥,并根据切点方法名和平台标识确定所述待接入平台的响应报文定义类;
81.步骤s403,将所述签名算法和所述签名密钥,配置至所述请求报文的java对象的数据;
82.步骤s404,通过所述响应报文定义类对签名后的请求报文的java对象进行反序列化,生成所述响应报文。
83.具体地,智能话费充值平台调用预设报文处理器将请求报文进行序列化,即将请求报文转化为预设报文定义类的java对象,得到请求报文的java对象,具体如步骤s4011至步骤s4012所述。进一步地,智能话费充值平台确定待接入平台的签名算法和签名密钥,以及根据切点方法名和待接入平台的平台标识确定待接入平台的响应报文定义类,并为请求报文的java对象的数据配置签名算法和签名密钥。最后,智能话费充值平台通过响应报文定义类对签名后的请求报文的java对象进行反序列化,即将签名后的请求报文的java对象转换为报文字符串,生成待接入平台的响应报文。
84.本技术实施例对请求报文进行序列化和报文加解密、专线接入时无签名等差异特殊处理,通过自定义报文处理器实现特殊差异处理。
85.进一步地,步骤s4011至步骤s4012的描述如下:
86.步骤s4011,确定所述请求报文的报文类型,其中,所述报文类型包括json报文类型和xml报文类型;
87.步骤s4012,根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象。
88.具体地,智能话费充值平台确定待接入平台的请求报文的报文类型,由于智能话费充值平台默认支持json报文格式和xml报文格式的接入,因此,报文类型包括json报文类型和xml报文类型。接着,智能话费充值平台根据请求报文的报文类型,以及预设报文定义类和预设报文处理器将请求报文进行序列化,得到请求报文的java对象,具体如步骤
s40121至步骤s40122所述。
89.本技术实施例能够根据请求报文的报文类型,对请求报文进行不同格式的序列化,实现了请求报文的灵活处理。
90.进一步地,步骤s40121至步骤s40122的描述如下:
91.步骤s40121,若所述报文类型为json报文类型,则通过gson报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象;
92.步骤s40122,若所述报文类型为xml报文类型,则通过xstream报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。
93.具体地,若确定报文类型为json报文类型,智能话费充值平台则通过gson报文处理器将请求报文的报文字符串,转化为预设报文定义类的java对象,得到请求报文的java对象。若确定报文类型为xml报文类型,智能话费充值平台则通过xstream报文处理器将请求报文的报文字符串,转化为预设报文定义类的java对象,得到请求报文的java对象。进一步地,如果待接入平台在报文解析后存在特殊处理,但不属于业务处理范围,可通过覆写解析后处理方法实现。
94.进一步地,json报文类型的反序列化和序列化相对应,xml报文类型的反序列化和序列化相对应,具体为:
95.对于json报文类型的反序列化:若确定报文类型为json报文类型,智能话费充值平台则通过gson报文处理器将请求报文的java对象转换为报文字符串,生成json报文的响应报文。
96.对于xml报文类型的反序列化:若确定报文类型为xml报文类型,智能话费充值平台则通过xstream报文处理器将请求报文的java对象转换为报文字符串,生成xml报文的响应报文。
97.本技术实施例能够根据请求报文的报文类型,对请求报文进行不同格式的序列化和反序列化,实现了请求报文的灵活处理。
98.进一步地,下面对本技术提供的报文管理装置进行描述,下文描述的报文管理装置与上文描述的报文管理方法可相互对应参照。
99.如图5所示,图5是本技术提供的报文管理装置的结构示意图,报文管理装置,包括:
100.第一确定模块501,用于确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
101.第二确定模块502,用于根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
102.第三确定模块503,用于根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
103.报文处理模块504,用于根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
104.进一步地,第三确定模块503还用于:
105.确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器;
106.若不存在所述目标报文定义类和所述目标报文处理器,则确定预设报文定义类和预设报文处理器;
107.将所述预设报文定义类和所述预设报文处理器,确定为所述平台报文定义类和所述平台报文处理器。
108.进一步地,报文处理模块504还用于:
109.通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象;
110.确定待接入平台的签名算法和签名密钥,并根据切点方法名和平台标识确定所述待接入平台的响应报文定义类;
111.将所述签名算法和所述签名密钥,配置至所述请求报文的java对象的数据;
112.通过所述响应报文定义类对签名后的请求报文的java对象进行反序列化,生成所述响应报文。
113.进一步地,报文处理模块504还用于:
114.确定所述请求报文的报文类型,其中,所述报文类型包括json报文类型和xml报文类型;
115.根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象。
116.进一步地,报文处理模块504还用于:
117.若所述报文类型为json报文类型,则通过gson报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。
118.进一步地,报文处理模块504还用于:
119.若所述报文类型为xml报文类型,则通过xstream报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。
120.进一步地,报文处理模块504还用于:
121.若存在目标报文定义类和目标报文处理器,则通过所述目标报文定义类和所述目标报文处理器为请求报文配置签名算法和签名密钥。
122.本技术提供的报文管理装置的具体实施例与上述报文管理方法各实施例基本相同,在此不作赘述。
123.图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行报文管理方法,该方法包括:
124.确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
125.根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
126.根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
127.根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
128.此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
129.另一方面,本技术还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的报文管理方法,该方法包括:
130.确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
131.根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
132.根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
133.根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
134.又一方面,本技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的报文管理方法,该方法包括:
135.确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;
136.根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;
137.根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;
138.根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。
139.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
140.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
141.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
技术特征:
1.一种报文管理方法,其特征在于,包括:确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。2.根据权利要求1所述的报文管理方法,其特征在于,所述根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器,包括:确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器;若不存在所述目标报文定义类和所述目标报文处理器,则确定预设报文定义类和预设报文处理器;将所述预设报文定义类和所述预设报文处理器,确定为所述平台报文定义类和所述平台报文处理器。3.根据权利要求2所述的报文管理方法,其特征在于,所述根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文,包括:通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象;确定待接入平台的签名算法和签名密钥,并根据切点方法名和平台标识确定所述待接入平台的响应报文定义类;将所述签名算法和所述签名密钥,配置至所述请求报文的java对象的数据;通过所述响应报文定义类对签名后的请求报文的java对象进行反序列化,生成所述响应报文。4.根据权利要求3所述的报文管理方法,其特征在于,所述通过所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象,包括:确定所述请求报文的报文类型,其中,所述报文类型包括json报文类型和xml报文类型;根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象。5.根据权利要求4所述的报文管理方法,其特征在于,所述根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文的java对象,包括:若所述报文类型为json报文类型,则通过gson报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。6.根据权利要求4所述的报文管理方法,其特征在于,所述根据所述报文类型,以及所述预设报文定义类和所述预设报文处理器将所述请求报文进行序列化,得到所述请求报文
的java对象,包括:若所述报文类型为xml报文类型,则通过xstream报文处理器将所述请求报文的报文字符串,转化为所述预设报文定义类的java对象,得到所述请求报文的java对象。7.根据权利要求1至6任一项所述的报文管理方法,其特征在于,所述确定是否存在与所述切点方法名和所述平台标识,匹配的目标报文定义类和目标报文处理器之后,还包括:若存在目标报文定义类和目标报文处理器,则通过所述目标报文定义类和所述目标报文处理器为请求报文配置签名算法和签名密钥。8.一种报文管理装置,其特征在于,包括:第一确定模块,用于确定控制器切点拦截的接入请求,并确定所述接入请求的切点方法名;第二确定模块,用于根据所述接入请求中的url占位符参数确定平台标识,并根据所述平台标识确定待接入平台;第三确定模块,用于根据所述切点方法名和所述平台标识,确定所述待接入平台的平台报文定义类和平台报文处理器;报文处理模块,用于根据所述平台报文定义类和所述平台报文处理器,对所述待接入平台的请求报文进行序列化和反序列化,生成响应报文。9.一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的报文管理方法。10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的报文管理方法。
技术总结
本申请涉及IT应用和Java开发领域,提供一种报文管理方法、装置、电子设备及计算机可读存储介质,该方法包括:确定接入请求和接入请求的切点方法名;根据接入请求中的URL占位符参数确定平台标识,确定平台标识的待接入平台;根据切点方法名和平台标识,确定待接入平台的平台报文定义类和平台报文处理器;根据平台报文定义类和平台报文处理器,对待接入平台的请求报文进行序列化和反序列化,生成响应报文。本申请实施例提供的报文管理方法通过接入请求的切点方法名和待接入平台的平台标识,确定待接入平台的平台报文定义类和平台报文处理器,即可实现对待接入平台的请求报文进行处理,实现最小化差异处理,提高与各待接入平台的对接效率。的对接效率。的对接效率。
技术研发人员:李政晖 李炎 唐欢 周宵宵 王晓辉 李明 袁晓清
受保护的技术使用者:中移电子商务有限公司 中国移动通信集团有限公司
技术研发日:2022.03.16
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/