一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

报文信息的生成方法和装置、电子设备和存储介质与流程

2022-03-19 20:27:12 来源:中国专利 TAG:


1.本技术涉及数据处理领域,尤其涉及一种报文信息的生成方法和装置、电子设备和存储介质。


背景技术:

2.在保险代理平台,需要通过保险网关,对接多家保险公司的多款产品。在面对每个产品请求投保出单、期缴费用同步或保险保全等多个接口时,对应的请求保险公司的报文内容也有特殊的变化。
3.目前通用的保险代理网关采用两种方式进行请求报文模版的设置:1、基于同一个模版做逻辑判断,即所有产品的对外请求报文模版样式使用完全相同的。这样会造成各个模版的业务逻辑判断都体现在一个文件中,并融入了所有对外请求产品的逻辑,导致文件过于冗长,最后难以维护。2、基于特殊模版做逻辑判断,即大部分保险产品采取同一个通用模版,有特殊内容需求的产品则新建一个特殊模版,在特殊模版中进行请求报文的字段增加或删减。这样由于特殊模版大体上与标准模版相同,只是有少数字段或者变量有差异,会造成多个特殊模版导致里面存在大量冗余的重复代码,导致耗费较多不必要的人力资源。
4.因此,综合上述请求报文模版设置的缺点,得到相关技术中存在代码过长不易维护,重复代码较冗余的问题。


技术实现要素:

5.本技术提供了一种报文信息的生成方法和装置、电子设备和存储介质,以至少解决相关技术中存在代码过长不易维护,重复代码较冗余的问题。
6.根据本技术实施例的一个方面,提供了一种报文信息的生成方法,该方法包括:当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;所述目标接口数据与所述虚拟对象的提供平台存在一一对应关系;根据所述目标接口数据,得到对应的定制化模版,其中,所述定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,所述目标脚本是由所述目标接口数据生成的,所述参考模版为基于预设数量个接口类型所生成的适用于所述目标接口数据的通用模版;将所述定制化模版和所述参考模版相结合,得到请求所述虚拟对象时待发送的请求报文信息。
7.根据本技术实施例的另一个方面,还提供了一种报文信息的生成装置,该装置包括:第一获取单元,用于当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;所述目标接口数据与所述虚拟对象的提供平台存在一一对应关系;第一得到单元,用于根据所述目标接口数据,得到对应的定制化模版,其中,所述定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,所述目标脚本是由所述目标接口数据生成的,所述参考模版为基于预设数量个接口类型所生成的适用于所述目标接口数据的通用模版;结合单元,用于将所述定制化模版和所述参考模版相结合,得到请求所述虚拟对象时待发送的请求报文信息。
8.根据本技术实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
9.根据本技术实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
10.根据本技术实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法步骤。
11.在本技术实施例中,当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系;根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版;将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。在本技术实施例中,由于第三方代理/中间平台会对接多个提供平台,虚拟对象被执行目标操作获取到虚拟对象标识时,需要根据提供平台对模板的需求生成请求报文信息,这时利用目标接口数据都适用的通用模版,结合具有特殊要求的定制化模版,得到待发送的请求报文信息,然后发送该请求报文信息至多个提供平台,可以完成不同提供平台对特殊虚拟对象的定制化要求,很好的权衡和解决了相关技术存在代码过长不易维护,重复代码较冗余的问题。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1是根据本发明实施例的一种可选的报文信息的生成方法的硬件环境的示意图;
15.图2是根据本技术实施例的一种可选的报文信息的生成方法的流程示意图;
16.图3是用户在保险代理平台的投保流程简易示意图;
17.图4是保险代理网关在保险代理中处于的位置示意图;
18.图5是本技术实施例提供的模版配置界面示意图;
19.图6是本技术实施例提供的参考模版配置界面示意图;
20.图7是本技术实施例提供的添加定制化脚本的界面示意图;
21.图8是本技术实施例提供的保险产品在配置时的底层结构设计代码图;
22.图9是本技术实施例提供的生成的渲染引擎示意图;
23.图10是本技术实施例提供的javascript请求模版脚本的示范代码图;
24.图11是本技术实施例提供的组装数据脚本模版示意图;
25.图12是本技术实施例提供的新产品上线后平台配置示意图;
26.图13是本技术实施例提供的基于mq队列实现消息分发通信示意图;
27.图14是根据本技术实施例的一种可选的报文信息的生成装置的结构框图;
28.图15是根据本技术实施例的一种可选的电子设备的结构框图。
具体实施方式
29.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
30.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.目前通用的第三方代理/中间平台网关采用两种方式进行请求报文模版的设置:1、基于同一个模版做逻辑判断,即所有产品的对外请求报文模版样式使用完全相同的。2、基于特殊模版做逻辑判断,即大部分产品采取同一个通用模版,有特殊内容需求的产品则新建一个特殊模版,在特殊模版中进行请求报文的字段增加或删减。
32.但是,上述的设置方法1存在如下缺点:1)由于所有报文采用统一模版,会造成当前请求报文模版,过于冗长肥大,不易维护,比如一些特殊的产品代码,需要增加手机号字段,而另外的产品则不需要。所有的业务逻辑判断都体现在一个文件中,并融入了所有对外请求产品的逻辑,导致文件过于冗长,最后难以维护;2)会造成这个请求报文模版,容错率低,影响已有产品稳定性,安全性差,比如所有的判断条件代码层层嵌套,接手的开发人员如果不能对所有产品的特殊逻辑进行全局了解,在对新产品进行开发,有可能修改了判断分支,导致老产品都进入异常分支,影响现有的产品稳定性,极易造成线上的生产事故。
33.上述的设置方法2存在如下缺点:1)会造成代码重复,相同的代码多处复制。比如特殊模版大体上与标准模版相同,只是有少数字段或者变量有差异。多个特殊模版导致里面存在大量冗余的重复代码。2)会造成新增一个通用字段时,需要同时给所有模版进行修改。比如由于每个模版都对应着某些特定的产品,所以需要新增一个通用字段的时候,需要给所有的模版都加上一样的代码,给测试回归带来很大的压力,同时即使漏配也不容易发现。
34.为了解决上述问题,根据本技术实施例的一个方面,提供了一种报文信息的生成方法。可选地,在本实施例中,上述报文信息的生成方法可以应用于如图1所示的硬件环境
中。如图1所示,终端102中可以包含有存储器104、处理器106和显示器108(可选部件)。终端102可以通过网络110与服务器112进行通信连接,该服务器112可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器112上或独立于服务器112设置数据库114,用于为服务器112提供数据存储服务。此外,服务器112中可以运行有处理引擎116,该处理引擎116可以用于执行由服务器112所执行的步骤。
35.可选地,终端102可以但不限于为可以计算数据的终端,如移动终端(例如手机、平板电脑)、笔记本电脑、pc(personal computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、wifi(wireless fidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器112可以包括但不限于任何可以进行计算的硬件设备。
36.此外,在本实施例中,上述报文信息的生成方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述报文信息的生成方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。
37.可选地,在本实施例中,上述报文信息的生成方法可以由服务器112来执行,也可以由终端102来执行,还可以是由服务器112和终端102共同执行。其中,终端102执行本技术实施例的报文信息的生成方法也可以是由安装在其上的客户端来执行。
38.本技术实施例可以应用于金融代理平台,当然还可以应用于其他具有多个提供平台的第三方代理/中间平台,在此不做具体限定。接下来以保险代理作为应用场景,以运行在保险代理平台的服务器为例展开报文信息的生成的过程阐述,如图2所示,图2是根据本技术实施例的一种可选的报文信息的生成方法的流程示意图,该方法的流程可以包括以下步骤:
39.步骤s201,当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系。
40.可选地,本技术实施例是以保险代理平台为执行主体,以保险公司作为提供平台,而提供的保险服务作为提供的虚拟对象,展开的以下报文信息生成的过程,其中,目标接口数据与提供虚拟对象的提供平台存在一一对应的关系,目标接口数据包括接口、请求类型、启用配置、特定的目标脚本等。需要解释的是,保险代理平台需要通过保险网关,对接多家保险公司的多款保险产品。针对用户在保险代理平台上执行的目标操作,如选取的每个保险产品的请求可以通过投保出单、期缴费用同步或保险保全等多个接口,可以向一个或多个不同的保险公司发起请求报文信息,以获取到用户请求的相关信息等。
41.其中,投保出单是指用户在保险代理平台的页面(h5、小程序以及其他app)上选择产品进行投保,保险代理平台传送用户投保信息,通知保险公司进行承保出单操作;期缴费用同步:用户在保险代理平台处,投保时选择通过期缴的形式缴纳保费时候,需要定期缴纳保费,此时保险代理平台传送用户月缴扣款信息通知保险公司进行续期操作;保险保全是指为保持保险合同的效力而进行的一系列售后服务工作。主要包括合同关系人变更、基本信息变更、复效、挂失补发、保单迁移、保险金额的增加或者减少、退保、保费垫交、减额交清、保单红利退发、满期给付等服务项目。
42.首先在保险代理平台展示的页面上显示有多种保险产品,比如:车险、百万医疗险,重疾险、意外险等,还会显示保险前期服务和售后服务等,由于保险代理平台是与多家保险公司合作,将多家保险公司的保险产品放在其平台上,为用户提供多种购买选择的第三方中间平台的角色,所以在用户选取保险产品时,可能会对接到多家保险公司,比如一个重疾险,其可能会由a保险公司和b保险公司联合推出的,所以在用户选取这个保险产品后,需要通过两个接口分别向a保险公司和b保险公司发出请求。当提供平台为至少两个,a保险公司和b保险公司,那么目标接口数据包含发送给a保险公司的接口数据和发送给b保险公司的接口数据,每一接口数据可能存在部分接口数据不同,存在部分接口数据相同;比如,a保险公司要求另外提供电话号码,b保险公司要求另外提供电话号码和职业,那么两者的接口数据至少在职业接口部分存在不同,而电话号码接口相同。
43.更具体地,在保险代理平台上可以获取到虚拟对象被执行了目标操作后,触发生成的虚拟对象标识,其中,虚拟对象标识用于指示该虚拟对象。可以理解的是,该虚拟对象可以是某一保险产品等。另外,在本技术实施例中不管是对虚拟对象执行了什么操作,其都是基于某一具体的用户帐号进行的,例如该用户帐号可以是在保险代理平台上已经注册成功的张三、李四等,不管是张三本人购买保险产品还是张三的家人操作张三的帐号在保险代理平台上为张三购买保险产品,保险代理平台只关注该用户帐号,并不关注是哪个主体在操作该用户帐号。目标操作可以是点击,双击等选取操作,在目标操作被执行后,根据执行了目标操作的虚拟对象标识查找配置参数,进而获取相应的目标接口数据,比如产品代码、办理业务等,同时,目标接口数据也包括提供平台的接口数据,包括:接口、对接的保险公司代码、请求类型等。可以理解的是,由于用户帐号指示的目标操作被执行后,生成的目标接口数据可以是至少一个,这时又由于目标接口数据与虚拟对象的提供平台存在一一对应关系,所以目标接口数据对应一个或多个保险公司。
44.步骤s202,根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版。
45.可选地,由于对接的保险公司针对部分保险产品会存在一些个性化的设置,那么在向具备个性化设置的保险公司发送接口数据时,除了归纳保险代理平台与多个保险公司对接的接口归纳共性得到通用模版之外,还需要编写特殊脚本生成定制化模版作为发送请求报文的一部分,来满足特殊产品的定制化需求。其中,定制模版是由目标脚本(即特殊脚本)运行得到的、且与参考模版不同的模版,目标脚本其实是包含在接口数据内的,是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版,在本技术实施例中参考模版即为通用模版。
46.步骤s203,将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。
47.其中,报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块,其包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
48.在本技术实施例中,利用定制化模版和参考模版相结合,将结合后生成的报文信息作为请求虚拟对象时待发送请求报文信息。需要理解的是,定制化模版和参考模版都是利用javascript脚本撰写生成的,其中,javascript是一种具有函数优先的轻量级,解释型
或即时编译型的编程语言,然后javascript脚本经过渲染引擎可以把各个模版里的占位符转化为真实的保单数据,生成json报文,这里的请求报文信息就是json报文。
49.上述整个报文信息的生成过程可以参见图3,图3是用户在保险代理平台的投保流程简易示意图。用户在保险代理平台的前端页面上选择产品进行投保,保险代理平台通过保险网关,利用报文模板a,报文模板b,报文模板d,其中,报文模板a,报文模板b,报文模板d可以包含相同的参考模板,不同的定制化模板,传送用户投保信息至多家保险公司(图中的保司a,保司b,保司d)进行承保出单操作。
50.其中,保险代理网关,用于实现保险代理公司与承保保险公司的交互,承接了意健险、长险和车险等产品对外交互。负责将用户在保险代理平台投保的保单,进行投保出单、期缴费用同步给保险公司、退保与保全等交互,月对外请求量达到1000万以上。保险代理网关在保险代理中处于的位置可参见图4。
51.在本技术实施例中,当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系;根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版;将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。在本技术实施例中,由于第三方代理/中间平台会对接多个提供平台,虚拟对象被执行目标操作获取到虚拟对象标识时,需要根据提供平台对模板的需求生成请求报文信息,这时利用目标接口数据都适用的通用模版,结合具有特殊要求的定制化模版,得到待发送的请求报文信息,然后发送该请求报文信息至多个提供平台,可以完成不同提供平台对特殊虚拟对象的定制化要求,很好的权衡和解决了相关技术存在代码过长不易维护,重复代码较冗余的问题。
52.作为一种可选实施例,当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的接口数据,包括:
53.当虚拟对象被执行目标操作获取到虚拟对象标识的情况下,根据目标操作对应的所有操作类型查找配置参数,确定对应的接口数据;
54.基于所有操作类型对应的接口数据以及虚拟对象标识对应的提供平台的接口数据,确定目标接口数据。
55.可选地,在本技术实施例中,在虚拟对象被执行目标操作获取到虚拟对象标识之后,可以基于目标操作查找所有操作类型对应的配置参数,确定对应的接口数据,然后基于这些接口数据和虚拟对象标识对应的提供平台的接口数据,共同得到目标接口数据。比如,接口数据可以是投保接口数据,也可以是投保加期缴费同步的接口数据 a提供平台(保险公司)提供虚拟对象时对应的接口数据;可以理解的是,在提供平台为多个的情况下,存在每个提供平台的定制化模板要求不一致的情况,那么这时目标接口数据的数量应该是多个。
56.在本技术实施例中,根据目标操作确定所有操作类型对应的接口数据以及根据虚拟对象标识确定出提供平台的接口数据,进而确定目标接口数据,这样得到的目标接口数据既包含了执行操作时对应的接口数据又涵盖了为虚拟对象标识提供服务的接口数据,覆盖面广泛又全面。
57.作为一种可选实施例,在根据目标接口数据,得到对应的定制化模版之前,方法还包括:
58.获取多种接口类型;
59.基于同一接口类型,获取到来自不同提供平台提供的多个请求参数;
60.确定出满足预设数量个请求参数的参考模版。
61.可选地,本技术实施例通过比对多家保险公司的同一个接口类型的请求参数,确定能满足大部分保险公司的请求参数模版,以此作为通用模版。其中,接口类型的划分可以以接口的名称进行划分,比如身份证接口为一种类型,电话号码接口为一种类型等。
62.更具体地,在保险代理平台上存在多种接口类型,保险代理平台基于多种接口类型进行接口分类,将属于同一接口类型的,来自不同保险公司的请求参数进行聚合,然后获取到一定预设数量的请求参数,比如获取100条请求参数,基于这100条请求参数找其共同特征,比如都需要身份证、姓名、年龄、临床史信息,那么生成包含身份证、姓名、年龄、临床史的模版,就称为参考模版。参考模版,顾名思义,就是各个保险公司都可以使用的模版,利用通用模版其实已经满足了大部分保险产品的正常需求。
63.在本技术实施例中,通过设定参考模版找到同一接口类型下,不同保险公司对当前接口类型下发送请求参数的模版共性,满足大部分保险公司的请求参数模版,这样以参考模版作为每次生成请求报文模版的一个关键部分,可以在生成请求报文模版上节省了大量的时间。同时,由于共用同一份通用的参考模版,后续新增公共字段,只需要改动新增字段的定制化模版,同时回归其中一个涉及的产品,即可达到全局增加公共字段的目的,同时不增加出错的风险。
64.作为一种可选实施例,在根据目标接口数据,得到对应的定制化模版之前,方法还包括:
65.将目标接口数据按照预设维度,以键值对的形式输入到对应的第一目标位置,其中,第一目标位置包括目标页面中展示的关键字位置和值位置,预设维度用于指示放置在关键字位置的数据和放置在值位置的数据;
66.在确定目标接口数据中包含目标脚本的情况下,将目标脚本输入到对应的第二目标位置,其中,第二目标位置为存在于目标页面,用于记录目标脚本的位置;
67.利用可视化工具展示目标页面。
68.可选地,在本技术实施例中,在产品侧,业务开发人员、业务需求分析师等任何开发人员都可以在保险代理平台上实现可视化页面配置,可根据产品代码来创建、修改或者克隆模版配置。参见图5提供的界面图。
69.开发人员按照需求,勾选对应的接口开启。开启后接口默认采用参考模版,其中,参考模版已经支持了大部分的产品正常需求,配置流程完成。如图6所示的配置界面示意图。
70.如果需要添加特殊需求(如投保时添加投保人明文手机号码),可以在详情页中增加特殊的定制化javascript脚本即可,这样可以独立配置特定的脚本,附加在通用模版上,做到产品各自的特殊配置互不影响,符合开闭原则。
71.参见图7所示的添加定制化脚本的界面。这样差异化脚本只会影响对应的产品,隔离了每个产品的配置错误引起系统性风险。
72.上述内容均是开发人员在可视化前端页面以低代码的形式,只需操作输入装置完成点击操作,即可完成对一个保险产品的请求参数配置。需要解释的是,低代码是一种用于应用程序开发的模块化方法,它能有效减少应用程序的开发时间。
73.在底层结构设计中,将目标接口数据按照预设维度,比如以[产品代码-公司代码-接口类型维度]作为定义一个配置的颗粒度,以键值对key-value结构形式将接口数据输入到对应的第一目标位置,其中,第一目标位置包括两部分:存放key数据的位置和存放value数据的位置。比如,以产品代码作为切分项,即产品代码作为key值,产品对应的配置以json格式作为value值。对应到可视化目标页面上,如图6,可以查看到目标页面中展示的有存放关键字的位置,即产品代码的位置和存放值位置,即公司代码、接口的位置。
[0074]
如果目标接口数据中包含目标脚本的情况下,将目标脚本输入到对应的第二目标位置。对应到可视化目标页面上,如图7,可以查看到编写定制化脚本的位置即为记录目标脚本的第二目标位置。
[0075]
举例,以产品代码作为key值,产品对应的配置以json格式作为value值,格式如下:
[0076]
key:产品代码
[0077]
value:
[0078]
roductcode:产品代码,字符串,必填
[0079]
product:产品信息,可重复的列表,必填
[0080]
companycode:公司代码,字符串,必填
[0081]
method:接口类型,下拉选项,必填
[0082]
requesttype:接口标识,字符串,选填
[0083]
script:特殊javascript脚本,字符串,选填
[0084]
enable:是否启用该配置,是/否布尔值,必填
[0085]
参见如图8,展示的就是上述一保险产品在配置时的底层结构设计代码图。
[0086]
在本技术实施例中,通过可视化的方式对保险代理平台中待请求的保险产品实现自行配置,可以使得多数业务人员都能够对配置信息进行调整、维护和使用,开放了通用能力;同时,在可视化的目标页面上进行配置后,特殊模版修正之后可以马上发布,不受制于业务服务的版本发布,支持实时的持续更新,提升了配置易用性,能够有效支撑下游业务的快速迭代。
[0087]
作为一种可选实施例,将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息包括:
[0088]
获取定制化模版和参考模版中包含的多个占位符;
[0089]
利用渲染引擎将目标接口数据渲染到对应的多个占位符内,填充多个占位符;
[0090]
基于填充后的多个占位符,生成请求报文信息。
[0091]
可选地,本技术实施例的定制化模版和参考模版都是由javascript脚本编写生成的,其脚本中都包括多个占位符,占位符是一种符号。利用渲染引擎可以根据符号,获取目标接口数据,然后填充接口数据到对应的占位符中,填充多个占位符,之后生成一份包含真实数据的报文内容,完成生成请求报文信息的步骤。
[0092]
其中,渲染引擎是由模版引擎生成模块得到的,该模块,采用[通用模版脚本-头
部/特殊模版脚本-中部/通用模版脚本-尾部]的夹心模型进行引擎生成。如图9所示,这种拼接式的脚本引擎生成,避免了一个产品一个模版,n个产品n个模版的冗余肥大设计。
[0093]
另外,本技术实施例使用开源的otto组件,其能提供在golang语言中解析javascript脚本的能力。从而实现了网关组装数据报文,动态解析特殊脚本的能力。如图10所示的示范代码。大部分产品,只需要使用通用的javascript模版,即可渲染出请求保险公司所需要的参数。而特殊的产品,可以根据在可视化页面配置的目标脚本,进行模版的增、删与改,达到需求,可参见图11的组装数据脚本模版示意图,网关请求脚本采用通用模版脚本 定制化模版的目标脚本实现的。
[0094]
在后续新产品上线后,其沿用的也是通用的配置(如保险产品,保险公司,网关) 组装数据脚本模版(包含通用模版(即参考模版)和特殊模版(即定制化模版)),参见图12。
[0095]
且由于目标脚本储存在配置平台,保险代理平台的网关在每次调用接口时,动态获取对应的目标脚本,实现实时更新能力,不再需要发布服务完成脚本更新。
[0096]
在本技术实施例中,采用javascript作为脚本代码的实际承接语言,是考量到javascipt是脚本式代码,易于序列化到配置信息中;同时不像go语言需要提前编译,能够快速在配置信息中修改,在网关获取到更新信息时,可以利用渲染引擎实时渲染出新脚本的样式,实现接口对外请求报文信息字段的实时更新。
[0097]
作为一种可选实施例,目标接口数据包括接口名称和接口代码,在获取参考模版中包含的多个占位符之前,方法包括:
[0098]
利用接口名称或接口代码,搜索渲染引擎,得到对应的参考模版,其中,渲染引擎模版内存储有与接口名称或接口代码相匹配的参考模版;
[0099]
确定参考模版中包含的多个占位符。
[0100]
可选地,根据目标接口数据中的接口名称或接口代码,在渲染引擎中会预设一个参考模版。通常利用接口名称或接口代码,搜索渲染引擎,即可得到对应的参考模版,如投保出单的接口名为dealinsurancepolicy,通用模版在本地留存一份dealinsurancepolicy-common.js的脚本代码,在该dealinsurancepolicy-common.js的脚本代码中也是包含了多个占位符的。
[0101]
在本技术实施例中,将参考模版的脚本代码存在渲染引擎的本地,可以在填充占位符时,只渲染目标脚本部分的占位符即可,也即将目标脚本代码粘合到参考模版的通用脚本的下方,快速实现组成请求报文信息的目的。
[0102]
作为一种可选实施例,虚拟对象标识对应的提供平台的接口数据包括提供平台的地址参数以及当前接口允许等待请求报文信息的响应信息的最大时长阈值;在将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息之后,方法还包括:
[0103]
将请求报文信息通过地址参数发送至提供平台;
[0104]
在确定当前接口的响应信息的时长大于最大时长阈值的情况下,将请求报文信息对应的请求状态上报至监控中心,使得监控中心监控接口。
[0105]
可选地,在生成请求报文信息之后,可以根据虚拟对象标识对应的提供平台的地址参数,将请求报文信息发送至该地址参数对应的提供平台(即保险公司),这时,需要在当前发送接口处设置允许等待请求报文信息的响应信息最大时长阈值,比如10秒,避免时间过短而无法收到保险公司的报文响应信息。
[0106]
在确定响应信息的时长小于最大时长阈值,则说明发送请求报文信息成功,获得了响应消息(或响应报文),若获取响应信息的时长大于最大时长阈值的情况下,说明发送请求报文信息失败,将请求报文信息对应的请求状态上报至监控中心,使得监控中心监控接口。
[0107]
在本技术实施例中,通过设置接收响应信息的最大时长,去判断发送请求报文信息至保险公司是否成功,这样可以对每个接口实现实时的监控,对后续请求报文信息的发送具有指导作用。
[0108]
作为一种可选实施例,在将请求报文信息通过地址参数发送至提供平台之后,方法还包括:
[0109]
获取到提供平台反馈的处理标识;
[0110]
根据处理标识,确定目标帐号的异常程度;
[0111]
或者,
[0112]
根据处理标识,触发重发机制;
[0113]
按照重发机制设置的预设方案,向提供平台发送请求报文信息,其中,预设方案为根据处理标识被接收的次数确定再次发送请求报文的间隔时长的方案。
[0114]
可选地,在将请求报文信息发送至对应的保险公司之后,会根据提供平台反馈的处理标识确定当前发起请求的用户帐号(即目标帐号)的异常程度,比如反馈的处理标识是0,说明目标帐号的使用用户是信用度极低的黑户,因此不能保单出单,系统将自动对现保单进行撤单退费处理等。
[0115]
或者,根据处理标识可以触发重发机制,比如,收到处理标识为r的标识,这时按照重发机制设置的预设方案,该预设方案比如为根据失败次数进行阶梯形重试的方案,向提供平台发送请求报文信息,例如:根据第一次30秒间隔重试,第二次1分钟间隔重试,直到第10次后,每1小时间隔重试等,以这种阶梯式的时间间隔的方式多次发送请求报文至保险公司。
[0116]
也可以记录失败次数与失败时间,重新投入出单队列中,设定最大重试时间,如第一次出单时间的5天内等,在大于该最大重试时间后,就再次发送请求报文至保险公司。
[0117]
在本技术实施例中,提出了根据提供平台反馈的处理标识来判别用户的自身情况,快速定位保单请求失败原因;同时,可灵活触发重发机制,容错率高。
[0118]
作为一种可选实施例,本技术实施例提出保险代理网关的投保出单的具体实现步骤:
[0119]
1.订阅监听模块
[0120]
保险代理网关,有配置订阅监听模块。
[0121]
如图13,网关与上游服务的正常交互是基于mq队列实现通信。高并发场景下,保证收发消息的性能以及高可用,也保证业务繁忙时段可以削峰,控流效果。网关会监听来自保险核心服务发出的保单状态变更信息,以队列形式获得信息。
[0122]
网关服务的订阅监听模块,订阅了核心服务的保单变更的事件消息,并根据事件类型为[状态变更] 当前状态为[待出单]状态,筛选出为网关服务需要处理的事件消息,传递给下一个处理模块。
[0123]
2.配置信息检查模块
[0124]
根据事件消息,解析出当前待出单的产品代码,并把产品代码作为key值,向配置平台服务请求获取对应的value数据值。若获取失败,则说明该产品代码并未配置,则抛出异常信息并结束流程。若获取成功,则根据预先约定的格式,把数据值转化为该产品的接口配置信息。
[0125]
同时,网关服务会检查配置信息是否配置了[投保出单]接口,若未配置,则抛出异常信息并结束流程。若获取成功,则表明配置信息获取成功。传递给下一个模块处理。
[0126]
3.保单源数据获取模块
[0127]
该模块,会聚合获取保单涉及投保出单的所有源数据。
[0128]
网关服务,根据保单id以及用户id,向其他的服务请求,包括保单的基本信息(保单代码、承包保险公司代码、投保时间、保单生效时间)、干系人信息、保全信息、支付信息、附加标的信息和折扣信息等。为后续渲染请求报文信息模块,提供源数据。同时聚合了充足的信息,为后续的新需求提供向后兼容的方便性,后续需要新的保单信息对外传输,也只需要在服务内部进行引用,而无需再请求其他服务。
[0129]
该模块,最后生成一个data对象,内部是一个map结构,如data[policybase]聚合了保单基本信息、data[applicant]聚合了投保人信息、data[paymentinfo]聚合了支付信息等。
[0130]
同时,把上一步的配置信息methodinfo对象,传递给下一个模块处理。
[0131]
4.模版引擎生成模块
[0132]
该模块,采用[通用模版脚本-头部/特殊模版脚本-中部/通用模版脚本-尾部]的夹心模型进行引擎生成。根据[保单源数据获取模块]中获得的配置信息的特殊脚本代码(若有,大部分正常产品则没有特殊代码,不需要粘合),粘合到通用脚本的下方,并在最后的底部,加入`return result;`的通用模版脚本,表示返回数据到业务侧。同时把脚本交给下一个模块进行处理。
[0133]
5.模版引擎渲染模版
[0134]
上一步的脚本代码本质是一份带有许多占位符的脚本,占位符是一种符号。在下一步的渲染模块,服务可以根据符号,去[保单源数据获取模块]中生成的data对象中进行数据获取,然后填充数据到对应的占位符中,生成一份包含真实数据的报文内容,完成生成步骤。
[0135]
6.对外请求模块
[0136]
网关服务,完成了报文的生成,并根据配置信息获得对外请求保险公司投保出单的地址与参数。组装参数、报文,经过出口代理,对保险公司发起请求。
[0137]
考量到双方的网络环境差异,会根据不同接口,设定请求的最大超时时间。
[0138]
请求成功获得响应报文;或者请求失败,会上报请求状态给监控中心用于接口监控,并传递给下一个模块处理。
[0139]
7.请求后处理模块
[0140]
请求成功后,将会根据接口或者队列,记录保险公司保单号以及附加属性,通知保单核心服务完成出单,完成流程。
[0141]
请求返回失败后,将会进入到钩子模块进行特定类型筛选与特定处理。如请求失败根据保险公司的返回代号,判定为因用户为黑名单用户核保失败而无法出单。
[0142]
最后,如果保单请求失败,且钩子函数处理保单,将会触发重试机制。
[0143]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0144]
根据本技术实施例的另一个方面,还提供了一种用于实施上述报文信息的生成方法的报文信息的生成装置。图14是根据本技术实施例的一种可选的报文信息的生成装置的结构框图,如图14所示,该装置可以包括:第一获取单元1401,用于当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系;第一得到单元1402,与第一获取单元1401相连,用于根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版;结合单元1403,与第一得到单元1402相连,用于将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。
[0145]
需要说明的是,该实施例中的第一获取单元1401可以用于执行上述步骤s201,该实施例中的第一得到单元1402可以用于执行上述步骤s202,该实施例中的结合单元1403可以用于执行上述步骤s203。
[0146]
通过上述模块,解决了相关技术中的存在代码过长不易维护,重复代码较冗余的问题。
[0147]
作为一种可选的实施例,第一获取单元包括:第一确定模块,用于在虚拟对象被执行目标操作获取到虚拟对象标识的情况下,根据目标操作对应的所有操作类型查找配置参数,确定对应的接口数据;第二确定模块,用于基于所有操作类型对应的接口数据以及虚拟对象标识对应的提供平台的接口数据,确定目标接口数据
[0148]
作为一种可选的实施例,该装置还包括:第二获取单元,用于在根据目标接口数据,得到对应的定制化模版之前,获取多种接口类型;第三获取单元,用于基于同一接口类型,获取到来自不同提供平台提供的多个请求参数;第一确定单元,用于确定出满足预设数量个请求参数的参考模版。
[0149]
作为一种可选的实施例,该装置还包括:第一输入单元,用于在根据目标接口数据,得到对应的定制化模版之前,将目标接口数据按照预设维度,以键值对的形式输入到对应的第一目标位置,其中,第一目标位置包括目标页面中展示的关键字位置和值位置,预设维度用于指示放置在关键字位置的数据和放置在值位置的数据;第二输入单元,用于在确定目标接口数据中包含目标脚本的情况下,将目标脚本输入到对应的第二目标位置,其中,第二目标位置为存在于目标页面,用于记录目标脚本的位置;展示单元,用于利用可视化工具展示目标页面。
[0150]
作为一种可选的实施例,结合单元包括:第二获取模块,用于获取定制化模版和参考模版中包含的多个占位符;填充模块,用于利用渲染引擎将目标接口数据渲染到对应的多个占位符内,填充多个占位符;生成模块,用于基于填充后的多个占位符,生成请求报文
信息。
[0151]
作为一种可选的实施例,目标接口数据包括接口名称和接口代码,该装置还包括:第二得到单元,用于在获取参考模版中包含的多个占位符之前,利用接口名称或接口代码,搜索渲染引擎,得到对应的参考模版,其中,渲染引擎模版内存储有与接口名称或接口代码相匹配的参考模版;第二确定单元,用于确定参考模版中包含的多个占位符。
[0152]
作为一种可选的实施例,虚拟对象标识对应的提供平台的接口数据包括提供平台的地址参数以及当前接口允许等待请求报文信息的响应信息的最大时长阈值;该装置还包括:第一发送单元,用于在将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息之后,将请求报文信息通过地址参数发送至提供平台;上报单元,用于在确定当前接口的响应信息的时长大于最大时长阈值的情况下,将请求报文信息对应的请求状态上报至监控中心,使得监控中心监控接口。
[0153]
作为一种可选的实施例,该装置还包括:第四获取单元,用于在将请求报文信息通过地址参数发送至提供平台之后,获取到提供平台反馈的处理标识;第三确定单元,用于根据处理标识,确定目标帐号的异常程度;或者,
[0154]
触发单元,用于根据处理标识,触发重发机制;第二发送单元,用于按照重发机制设置的预设方案,向提供平台发送请求报文信息,其中,预设方案为根据处理标识被接收的次数确定再次发送请求报文的间隔时长的方案。
[0155]
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
[0156]
根据本技术实施例的又一个方面,还提供了一种用于实施上述报文信息的生成方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
[0157]
图15是根据本技术实施例的一种可选的电子设备的结构框图,如图15所示,包括处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501、通信接口1502和存储器1503通过通信总线1504完成相互间的通信,其中,
[0158]
存储器1503,用于存储计算机程序;
[0159]
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现如下步骤:
[0160]
当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系;
[0161]
根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版;
[0162]
将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。
[0163]
可选地,在本实施例中,上述的通信总线可以是pci(peripheral component interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0164]
通信接口用于上述电子设备与其他设备之间的通信。
[0165]
存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0166]
作为一种示例,如图15所示,上述存储器1503中可以但不限于包括上述报文信息的生成装置中的第一获取单元1401、第一得到单元1402、结合单元1403。此外,还可以包括但不限于上述报文信息的生成装置中的其他模块单元,本示例中不再赘述。
[0167]
上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0168]
此外,上述电子设备还包括:显示器,用于显示报文信息的生成结果。
[0169]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0170]
本领域普通技术人员可以理解,图15所示的结构仅为示意,实施上述报文信息的生成方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图15其并不对上述电子设备的结构造成限定。例如,终端设备还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示的不同的配置。
[0171]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
[0172]
根据本技术实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行报文信息的生成方法的程序代码。
[0173]
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
[0174]
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0175]
当虚拟对象被执行目标操作时获取虚拟对象标识;根据虚拟对象标识查找配置参数,获取相应的目标接口数据;目标接口数据与虚拟对象的提供平台存在一一对应关系;
[0176]
根据目标接口数据,得到对应的定制化模版,其中,定制化模版是由目标脚本运行得到的、且与参考模版不同的模版,目标脚本是由目标接口数据生成的,参考模版为基于预设数量个接口类型所生成的适用于目标接口数据的通用模版;
[0177]
将定制化模版和参考模版相结合,得到请求虚拟对象时待发送的请求报文信息。
[0178]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
[0179]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0180]
根据本技术实施例的又一个方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介
质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一个实施例中的报文信息的生成方法步骤。
[0181]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0182]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例报文信息的生成方法的全部或部分步骤。
[0183]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0184]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0185]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0186]
以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献