CN110727475B - 基于配置化智能服务调用方法 - Google Patents

基于配置化智能服务调用方法 Download PDF

Info

Publication number
CN110727475B
CN110727475B CN201910967075.XA CN201910967075A CN110727475B CN 110727475 B CN110727475 B CN 110727475B CN 201910967075 A CN201910967075 A CN 201910967075A CN 110727475 B CN110727475 B CN 110727475B
Authority
CN
China
Prior art keywords
interface
information
interface processor
chain
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910967075.XA
Other languages
English (en)
Other versions
CN110727475A (zh
Inventor
罗子骞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN201910967075.XA priority Critical patent/CN110727475B/zh
Publication of CN110727475A publication Critical patent/CN110727475A/zh
Application granted granted Critical
Publication of CN110727475B publication Critical patent/CN110727475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

本发明公开了一种基于配置化智能服务调用方法,属于配置化智能服务调用技术领域,解决现有技术中,针对配置信息的调整伴随着代码逻辑的调整,并且代码逻辑量非常大,不易于维护,所有交易接口在调用前进行判断,必不可少,但从执行来讲属于冗余判断,存在效率影响的问题。本发明根据上送项目报文的配置的记录信息,针对不同类型的上送项目报文,初始与之对应的线程安全的接口处理器链;根据接口处理器链中各接口处理器的入参所对应的属性获取器,获取上送项目报文中的信息组成申请报文进行接口申请;根据接口申请,接口处理器链从第三方或本地***调用出参,并通过属性获取器返回出参,进行信息补全。本发明用于补全信息。

Description

基于配置化智能服务调用方法
技术领域
一种基于配置化智能服务调用方法,用于补全信息,属于配置化智能服务调用技术领域。
背景技术
JSON字段获取器,即JSON属性获取器:对上游***未知格式的json报文信息,使用对应的获取器对不同层级的信息进行获取;
字段补全器:对其他需要调用第三方或本地***完善信息的报文进行字段补全;
现有技术中对输入不完善的申请信息且有需要通过第三方接口/本地接口进行信息补全,采用的方法为基于过程实现开发,根据需求开发对应逻辑,即项目报文进入执行逻辑,进行公共信息检查,判断申请类型;根据判断得到的类型,判断需要执行的接口补全逻辑,对于不同接口,不同入参的申请报文,需要开发对应的接口逻辑从而实现功能,具体如图1所示。但存在如下不足之处:
随着业务需求的调整,在需要访问新接口信息来源、需要配合接口改动、新类型的接口处理等场景中,不可避免的需要进行硬代码开发。且在现有实现中,存在测试返回界定困难,且渠道类型新增/改动频繁的问题,往往造成测试量巨大,回归频繁的问题。
发明内容
针对上述研究的问题,本发明的目的在于提供一种基于配置化智能服务调用方法,解决现有技术中,针对配置信息的调整伴随着代码逻辑的调整,并且代码逻辑量非常大,不易于维护的问题。
为了达到上述目的,本发明采用如下技术方案:
一种基于配置化智能服务调用方法,其特征在于:包括如下步骤:
S1、根据上送项目报文的配置的记录信息,针对不同类型的上送项目报文,初始与之对应的线程安全的接口处理器链;
S2、根据接口处理器链中各接口处理器的入参所对应的属性获取器,获取上送项目报文中的信息组成申请报文进行接口申请,其中,接口处理器链需要多个入参,各属性获取器会根据上送项目报文结构依次进行参数获取;
S3、根据接口申请,接口处理器链从第三方或本地***调用出参,并通过属性获取器返回出参,进行信息补全。
进一步,所述接口处理器链中的单个接口处理器为信息补全/组装接口;接口处理器链为一个信息补全/组装接口列表或者接口责任链结构数据对象。
进一步,所述属性获取器包括申请入参单元和返回出参单元;
申请入参单元:获取上送项目报文中的信息组成申请报文进行接口申请;
返回出参单元:用于返回从第三方或本地***调用的出参。
进一步,所述基于配置化智能服务调用方法部署在虚拟机上。
进一步,所述步骤S1中的记录信息包括用户手机信息、用户身份、地址详情信息以及所需要的上送项目报文的配置标识。
本发明同现有技术相比,其有益效果表现在:
一、本发明将上送项目报文不同的来源信息字段提取逻辑、以及第三方/本地***调用进行抽象,从而将所有配置的记录信息的字段的描述信息进行解析判断后抽象处理,避免了每个上送项目报文都需要进行字段信息描述判断,才能执行,且对于不同内容的上送项目报文可以进行全覆盖,只需要调整对应检查信息(即必输性校验,根据接口类型不同调整对应的快速失败或者忽略执行)即可,如实施例。
二、本发明对于不同标准 JSON/XML 只需对其进行接口扩展(本文档以JSON格式化数据为例进行说明,如若***标准部分调整XML,需要开发XML对应接口处理器链实现),对于新增类型接口只需针对类型开发,调整对应需要调用的接口处理链,无需针对内容开发,减少开发,测试成本。
三、本发明接口新增/调整,现有场景调用添加,只涉及数据库配置上线;新场景开发,只涉及新场景调用逻辑开发以及对应数据库配置,实现代码上层级分明,测试范围清楚,无需涉及相关服务回归(相关服务回归是指对于代码调整,需要进行所有涉及执行此代码逻辑的所有场景下的测试回归);且调用逻辑在数据库配置中展示清晰,方便后期测试。
附图说明
图1是现有技术的执行逻辑示意图;
图2是本发明中的执行逻辑示意图;
图3是本发明中的UML示意图,其中,实线箭头表示集成,虚线箭头表示依赖;
图4是本发明中的实施例调用示意图。
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
交易判断逻辑前置,根据不同项目报文初始化不同的接口,封装接口处理器链,在项目报文进入后,执行对应接口处理器,防止冗余判断。对于不同接口申请,抽象不同的接口封装对象,即抽象不同的接口处理器,针对接口类型开发,将入参,出参进行配置化管理,简化开发。提升开发乃至测试整体效率。具体如下:
一种基于配置化智能服务调用方法,包括如下步骤:
S1、根据上送项目报文的配置的记录信息,针对不同类型的上送项目报文,初始与之对应的线程安全的接口处理器链;
其中,接口处理器链中的单个接口处理器为信息补全/组装接口,接口处理器链为一个信息补全/组装接口列表或者接口责任链结构数据对象。对于不同要求的信息处理,初始化不同长度、类型的信息补全/组装接口(即初始化各单个接口处理器)实现信息补全/组装接口列表或接口责任链结构数据对象。
S2、根据接口处理器链中各接口处理器的入参所对应的属性获取器,获取项目报文中的信息组成申请报文进行接口申请,其中,接口处理器链需要多个入参,各属性获取器会根据上送项目报文结构依次进行参数获取;
如:项目请求报文(即上送项目报文)需要用户手机信息、用户身份信息和地址详情信息,但原始报文缺少用户身份和地址详情。根据上送项目报文结构依次获取参数后,通过请求接口处理器链中的用户信息查询接口处理器进行信息调用,从返回Json对象(即出参数)中获取身份信息(包含身份证号,姓名,性别,出生年月)完成用户身份信息获取/补全;通过请求接口处理器链中的地址编码接口处理器进行信息调用,从而获取地址编码信息、所在地省市区信息完成地址详情补全;
若后续处理需要获取申请次数统计信息,调用的上送项目报文无此字段时通过固定值信息Json对象获取器(即指入参所对应的属性获取器)获取配置的固定默认参数信息,申请本地接口调用次数统计,获取Json对象返回,并将此信息放入处理报文做后续申请。
将用户信息查询对象获取器、地址编码对象获取器和固定值信息Json对象获取器获取的处理报文组成申请报文进行接口申请。
所述属性获取器包括申请入参单元和返回出参单元;
申请入参单元:获取上送项目报文中的信息组成申请报文进行接口申请;
返回出参单元:用于返回从第三方或本地***调用的出参。
S3、根据接口申请,接口处理器链从第三方或本地***调用出参,并通过属性获取器返回出参,进行信息补全。各接口处理器的调用顺序根据配置先后执行,比如先调三方A功能,结果失败了,可以根据情况进行直接报错终止处理,或者跳过,接着调用B功能,或者其他接口处理器。或执行顺序与配置的记录信息***顺序匹配,即如果B接口处理器的入参需要依赖A接口处理器的返回,需要先配置A接口处理器,在配置B接口处理器;否则无***顺序执行要求。
进一步,所述基于配置化智能服务调用方法部署在虚拟机上。
初始化同类接口(即指同类接口处理器),只需要初始化不同的属性获取器,对标准化入参获取配置好的参数以及其取值,实现同类接口的不同参数申请,如实施例1和实施例2为同类接口,都是针对配置标识为FJDJT001_activation的补全信息。
综上所述,本发明对上送项目报文不同的来源信息字段,即配置的记录信息,配置相应信息组装器,即接口处理器,实现对输入信息对象子属性信息的覆盖修改或者新增。对不同上送项目报文,配置不同的补全字段信息,依据不同的配置的记录信息,自动组装申请信息并获取返回信息。对于不同内容的项目报文可以进行全覆盖,只需要调整对应检查信息即可,只需针对类型开发,无需针对内容开发,减少开发,测试成本。
实施例1
本实施例以JSON交易报文为例说明。即通过配置指定类型报文标准(编号),执行相应的接口调用逻辑,调用对应信息补全。
如图4所示,配置标识(即配置的记录信息)为FJDJT001_activation的补全信息,对于此配置,初始化对应的接口处理器,即需要先开发一个BP模块调用器,其中,BP为Http调用,调用其BP模块调用器的MBSD_BP_BIZ-1400-1125接口作为接口处理器,其中,MBSD_BP_BIZ-1400-1125为调用功能标识,即接口入参为LINK_ACCT_NO(取值为JOSN对象的bankCardNo属性),入参为USER_ID(取值为JSON对象的account属性),通过入参为LINK_ACCT_NO和USER_ID的MBSD_BP_BIZ-1400-1125接口获取JSON交易报文的信息,组成申请报文进行接口申请,根据接口申请,MBSD_BP_BIZ-1400-1125接口从第三方或本地***进行入参调用出参,返回字段补全有: bankCardName属性(返回报文中的CLIENT_NAME属性),bankCardMobile(返回字段中的PHONE_NO属性), bankName(返回字段中的LINK_ACCT_BANK_NAME属性)。
本实施例中,此类配置的记录信息中调用接口处理器次数为配置次数(1次),但同类接口,同种方法的调用不限于单次调用,如若需要多次调用MBSD_BP_BIZ-1400-1125接口,在表配置中新增MBSD_BP_BIZ-1400-1125配置即可,以此类推,组成此类交易的接口处理器链,实现配置化的不同接口,不同次数的多次调用,无需额外开发。
实施例2
同理实施例1,配置标识(即配置的记录信息)为FJDJT001_activation的补全信息,开发一个ADDField属性扩展器(接口处理器的另一种实现),调用其calAddressFromRegiCode 接口(地址编码计算方法),入参areaCode(取值为JSON对象的areaCode属性),返回字段补全有contactAddrProvince(返回报文中的省属性),contactAddrCity(返回报文中的市属性),contactAddrDistrict(返回报文中的区属性)。
本实施例中,此类配置中调用接口处理次数为配置次数,但同类接口,同种方法的调用不限于单次调用;举例说明:如若需要多次调用calAddressFromRegiCode接口,在表配置中新增calAddressFromRegiCode配置即可,以此类推,组成此类交易的接口处理器链,实现配置化的不同接口,不同次数的多次调用。无需额外开发。
实施例1和实施例2都只针对配置标识为FJDJT001_activation的补全信息,初始对应接口处理器进行处理的情况,若需要完成所有上送项目报文的配置的记录信息的补全,则需要配置多个接口处理器,然后形成接口处理器链,形成接口处理器链后依次执行本发明,即可完成最终的补全。
以上仅是本发明众多具体应用范围中的代表性实施例,对本发明的保护范围不构成任何限制。凡采用变换或是等效替换而形成的技术方案,均落在本发明权利保护范围之内。

Claims (5)

1.一种基于配置化智能服务调用方法,其特征在于:包括如下步骤:
S1、根据上送项目报文的配置的记录信息,针对不同类型的上送项目报文,初始与之对应的线程安全的接口处理器链;
S2、根据接口处理器链中各接口处理器的入参所对应的属性获取器,获取上送项目报文中的信息组成申请报文进行接口申请,其中,接口处理器链需要多个入参,各属性获取器会根据上送项目报文结构依次进行参数获取;
S3、根据接口申请,接口处理器链从第三方或本地***调用出参,并通过属性获取器返回出参,进行信息补全;
交易判断逻辑前置,根据不同项目报文初始化不同的接口,封装接口处理器链,在项目报文进入后,执行对应接口处理器,防止冗余判断;对于不同接口申请,抽象不同的接口封装对象,即抽象不同的接口处理器,针对接口类型开发,将入参,出参进行配置化管理,简化开发,提升开发乃至测试整体效率;
接口处理器链中的单个接口处理器为信息补全/组装接口,接口处理器链为一个信息补全/组装接口列表或者接口责任链结构数据对象;对于不同要求的信息处理,初始化不同长度、类型的信息补全/组装接口,即初始化各单个接口处理器,实现信息补全/组装接口列表或接口责任链结构数据对象。
2.根据权利要求1所述的一种基于配置化智能服务调用方法,其特征在于:所述接口处理器链中的单个接口处理器为信息补全/组装接口;接口处理器链为一个信息补全/组装接口列表或者接口责任链结构数据对象。
3.根据权利要求1所述的一种基于配置化智能服务调用方法,其特征在于:所述属性获取器包括申请入参单元和返回出参单元;
申请入参单元:获取上送项目报文中的信息组成申请报文进行接口申请;
返回出参单元:用于返回从第三方或本地***调用的出参。
4.根据权利要求1-3任意一项所述的一种基于配置化智能服务调用方法,其特征在于:所述基于配置化智能服务调用方法部署在虚拟机上。
5.根据权利要求4所述的一种基于配置化智能服务调用方法,其特征在于:所述步骤S1中的记录信息包括用户手机信息、用户身份、地址详情信息以及所需要的上送项目报文的配置标识。
CN201910967075.XA 2019-10-12 2019-10-12 基于配置化智能服务调用方法 Active CN110727475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910967075.XA CN110727475B (zh) 2019-10-12 2019-10-12 基于配置化智能服务调用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910967075.XA CN110727475B (zh) 2019-10-12 2019-10-12 基于配置化智能服务调用方法

Publications (2)

Publication Number Publication Date
CN110727475A CN110727475A (zh) 2020-01-24
CN110727475B true CN110727475B (zh) 2023-07-21

Family

ID=69219927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910967075.XA Active CN110727475B (zh) 2019-10-12 2019-10-12 基于配置化智能服务调用方法

Country Status (1)

Country Link
CN (1) CN110727475B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799713B (zh) * 2020-12-31 2022-06-28 江苏苏宁银行股份有限公司 一种通用可配置测试桩平台

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016204A (ja) * 1999-06-25 2001-01-19 Matsushita Electric Works Ltd Lan機器及びそれを用いたlan構成
JP2004364158A (ja) * 2003-06-06 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> Ip網のサービスリソース情報生成方法
CN1574750A (zh) * 2003-06-20 2005-02-02 西门子医疗健康服务公司 支持在网上激活应用程序和其它应用程序之间通信的***
CN101420437A (zh) * 2008-11-14 2009-04-29 北京航空航天大学 一种原型***与hla仿真***的接口设备
CN102622444A (zh) * 2012-03-15 2012-08-01 深圳市同洲视讯传媒有限公司 一种xml报文处理方法和装置
CN106464513A (zh) * 2014-06-27 2017-02-22 迈克菲股份有限公司 用于抑制恶意调用的***和方法
CN106487712A (zh) * 2016-11-24 2017-03-08 泰康保险集团股份有限公司 用于接入多个外部***的方法、装置及服务器
CN109510737A (zh) * 2018-12-14 2019-03-22 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质
CN109587134A (zh) * 2018-12-03 2019-04-05 ***通信集团江苏有限公司 接口总线的安全认证的方法、装置、设备和介质
CN109996275A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种获取网络信号覆盖信息的方法和装置
CN110290135A (zh) * 2019-06-24 2019-09-27 四川新网银行股份有限公司 对复杂报文统一规范化处理方的方法及请求的数据流

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016204A (ja) * 1999-06-25 2001-01-19 Matsushita Electric Works Ltd Lan機器及びそれを用いたlan構成
JP2004364158A (ja) * 2003-06-06 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> Ip網のサービスリソース情報生成方法
CN1574750A (zh) * 2003-06-20 2005-02-02 西门子医疗健康服务公司 支持在网上激活应用程序和其它应用程序之间通信的***
CN101420437A (zh) * 2008-11-14 2009-04-29 北京航空航天大学 一种原型***与hla仿真***的接口设备
CN102622444A (zh) * 2012-03-15 2012-08-01 深圳市同洲视讯传媒有限公司 一种xml报文处理方法和装置
CN106464513A (zh) * 2014-06-27 2017-02-22 迈克菲股份有限公司 用于抑制恶意调用的***和方法
CN106487712A (zh) * 2016-11-24 2017-03-08 泰康保险集团股份有限公司 用于接入多个外部***的方法、装置及服务器
CN109996275A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种获取网络信号覆盖信息的方法和装置
CN109587134A (zh) * 2018-12-03 2019-04-05 ***通信集团江苏有限公司 接口总线的安全认证的方法、装置、设备和介质
CN109510737A (zh) * 2018-12-14 2019-03-22 深圳壹账通智能科技有限公司 协议接口测试方法、装置、计算机设备和存储介质
CN110290135A (zh) * 2019-06-24 2019-09-27 四川新网银行股份有限公司 对复杂报文统一规范化处理方的方法及请求的数据流

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Abis 接口用户位置信息智能学习方法;舒忠玲;《电视技术》;第38卷(第9期);197-201 *
Omni-script: Device independent user interface development for omni-channel fintech applications;SimgeUlusoy;《Computer Standards & Interfaces》;第64卷;106-116 *
从布线技术看RTU的发展;方原柏;《自动化博览》(第10期);32-34,55 *
智慧供热二次网服务器软件***设计与实现;朱磊;《中国优秀硕士学位论文全文数据库》(第01期);I138-688 *
网络交换机的设置和选择;李华英;《建筑电气》;第36卷(第11期);45-48 *

Also Published As

Publication number Publication date
CN110727475A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
WO2020029375A1 (zh) 接口测试方法、***、计算机设备和存储介质
CN110297632A (zh) 代码生成方法和装置
CN111597120B (zh) 接口测试装置、方法、电子设备和计算机可读存储介质
CN114168190A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN110795387A (zh) 一种数据导入方法、数据导出方法、装置及数据处理***
CN112364049A (zh) 数据同步脚本生成方法、***、终端及存储介质
CN114217887A (zh) 微服务编排方法、执行方法、装置及服务器
CN110727475B (zh) 基于配置化智能服务调用方法
CN112395339B (zh) ***间数据准入校验方法、装置、计算机设备和存储介质
CN111738853A (zh) 一种基于区块链分布式***的交易优化方法及装置
CN111538659A (zh) 业务场景的接口测试方法、***、电子设备和存储介质
CN116339690A (zh) 业务流程的执行方法及其装置、电子设备及存储介质
CN113485942B (zh) 一种基于独立模块的自动化测试方法及装置
CN114371884A (zh) Flink计算任务的处理方法、装置、设备和存储介质
CN114371866A (zh) 业务***的版本重构测试方法、装置和设备
CN110413672A (zh) 数据自动导入方法、装置及计算机可读存储介质
CN114900569B (zh) 一种测试脚本的获取方法及装置
CN116680203B (zh) 面向多租户的SaaS平台的测试方法、装置、设备和介质
CN117234512B (zh) 业务快速开发方法、***、电子设备及存储介质
CN117149654A (zh) 一种***迁移测试方法、装置、设备及存储介质
CN112968930B (zh) 区块链键值对智能合约及其设计方法
CN116820931A (zh) 一种用于NuTest的数据校验方法、***、设备及介质
CN117195311A (zh) 一种用于电商平台的校验方法、校验装置及终端设备
CN117312030A (zh) 信息处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant