CN111240862A - 一种通用接口平台以及数据转换方法 - Google Patents
一种通用接口平台以及数据转换方法 Download PDFInfo
- Publication number
- CN111240862A CN111240862A CN202010021222.7A CN202010021222A CN111240862A CN 111240862 A CN111240862 A CN 111240862A CN 202010021222 A CN202010021222 A CN 202010021222A CN 111240862 A CN111240862 A CN 111240862A
- Authority
- CN
- China
- Prior art keywords
- terminal
- target
- target data
- data
- interface platform
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种通用接口平台以及数据转换方法。所述通用接口平台,包括:管理模块以及数据交换模块;所述管理模块,用于对接入通用接口平台的终端进行参数配置或参数更新,并将所述配置参数发送给数据交换模块;所述数据交换模块,用于根据所述配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端;其中,所述目的数据格式与所述目的终端相匹配。本发明实施例的技术方案,实现了以数据交换服务为核心,与具体业务解耦,保证接口实现的灵活性,便于横向扩展,降低成本。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种通用接口平台以及数据转换方法。
背景技术
当前与各银行对接全部基于银行提供的标准接口,不同银行的服务端技术要求各有不同,有通过代理终端进行对接、有直接提供服务接口进行对接,还有采用文件服务器方式进行文件交互对接。对数据的格式要求也各不相同,有通过xml报文方式,有字符串定长拼接方式,有字符串采用分隔符拼接方式,还有采用文件流方式。
现有的通用接口采用j2ee技术中的纯java实现,所有功能实现全部采用硬编码方式,引用java提供的基础应用程序接口(Application Programming Interface,API),实现数据格式转换以及与交互方的交互连接。但是,根据现有的通用接口实现多银行数据交互时,每增加一个接口就需要硬编码一套接口实现,导致每家银行接口都需要单独编码,成本较高,并且,通用接口以JAR文件的形式直接集成在业务系统中,与业务系统耦合性过高,不利于横向扩展。
发明内容
本发明实施例提供一种通用接口平台以及数据转换方法,以实现以数据交换服务为核心,与具体业务解耦,保证接口实现的灵活性,便于横向扩展,降低成本。
第一方面,本发明实施例提供了一种通用接口平台,包括:管理模块以及数据交换模块;
管理模块,用于对接入通用接口平台的终端进行参数配置或参数更新,并将配置参数发送给数据交换模块;
数据交换模块,用于根据配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端;
其中,目的数据格式与目的终端相匹配。
可选的,管理模块,具体用于:
在配置页面中,建立初次接入通用接口平台的终端的输出字段与本地输入字段的映射关系;
配置与终端对应的数据传输方式;
为终端注册输入接口以及输出接口;
为终端配置对应的路由通道。
可选的,数据交换模块,具体用于:
根据配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则;
根据目标数据转换规则,将目标数据的初始数据格式转换为目的数据格式;
通过目标路由通道,将转换后的目标数据发送至目的终端。
可选的,数据交换模块,还用于:
在接收输入终端发送的目标数据之后,根据第三方数字签名对目标数据进行校验;
若签名校验通过,则对输入终端的登录名称、登录密码以及IP地址进行校验;
若校验通过,则根据配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则。
可选的,管理模块,还用于:
为各接入终端布置预设数量的前置终端,并在配置页面中为各前置终端添加状态标记和最大并发数;
其中,如果线程池中的活动线程数量等于最大并发数,则将前置终端的状态标记为忙碌;如果线程池的活动线程数量小于最大并发数,则将前置终端的状态标记为空闲;如果在数据发送过程中捕获到网络传输异常,则将前置终端的状态标记为异常。
可选的,数据交换模块,还用于:
在将目标数据的初始数据格式转换为目的数据格式之后,根据目标路由通道获取目的终端的前置终端组;
判断输入终端的数据传输方式是否为异步处理方式;
如果是,则将转换后的目标数据加入前置终端组的异步处理队列;
如果不是,则根据轮询策略或者随机策略,从前置终端组中获取处于空闲且非异常状态的前置终端作为目标前置终端,或者,在线程池中的排队线程数量小于阈值时,获取处于忙碌且非异常状态的前置终端作为目标前置终端;
通过目标前置终端将转换后的数据发送至目的终端。
可选的,数据交换模块,还用于:
在接收输入终端发送的目标数据之后,获取目标数据中的输入端交易流水号和交易识别码,并验证输入端交易流水号和交易识别码是否唯一;
如果否,则认为当前交易为重复交易,拒绝对目标数据进行数据处理和转发;
在将转换后的目标数据发送至目的终端之前,存储转换后的目标数据中的目的端交易流水号,并确定是否发送过携带目的端交易流水号的数据;
如果是,则中止将转换后的目标数据发送至目的终端。
可选的,数据交换模块,还用于:
对从输入终端接收的目标数据以及发往目的终端的转换后的目标数据进行日志记录;
其中,记录的日志信息包括:数字签名、输入端交易流水号、交易识别码、目的端交易流水号、目标路由通道以及路由处理结果。
可选的,通用接口平台采用Apache Camel路由引擎;
通用接口平台采用FreeMarker模板引擎;
通用接口平台采用Spring Web MVC框架。
第二方面,本发明实施例还提供了一种适用于通用接口平台的数据转换方法,包括:
接收输入终端发送的目标数据;
通过查询本地配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则;
根据目标数据转换规则,将目标数据的初始数据格式转换为目的数据格式;
通过目标路由通道,将转换后的目标数据发送至目的终端。
本发明实施例提供了一种通用接口平台以及数据转换方法,通过管理模块对接入通用接口平台的终端进行参数配置或参数更新,并将配置参数发送给数据交换模块,通过数据交换模块,根据配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端,解决了现有技术中存在的每家银行接口都需要单独编码,以及通用接口与业务系统耦合性过高的问题,实现了对外统一提供接口服务,以数据交换服务为核心,与具体业务解耦,保证接口实现的灵活性,便于横向扩展,降低成本。
附图说明
图1是本发明实施例一中的一种通用接口平台的结构示意图;
图2是本发明实施例二中的一种数据转换方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的一种通用接口平台的结构示意图,本实施例可适用于在企业和银行之间进行数据交换的情况,该通用接口平台可采用软件和硬件结合的方式实现。
如图1所示,本实施例的通用接口平台具体包括:管理模块110以及数据交换模块120;管理模块110,用于对接入通用接口平台的终端进行参数配置或参数更新,并将配置参数发送给数据交换模块;数据交换模块120,用于根据配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端;其中,目的数据格式与目的终端相匹配。
本实施例中,管理模块110主要面向管理人员,用于通过前端配置页面对接入的终端进行功能性参数设置和数据管理,例如,路由设置、监控设置、终端IP、端口等等。数据交换模块120用于完成具体的数据交换任务,具体的,在接收到输入终端,也就是服务方,发送的与通用接口平台的输入接口标准匹配的目标数据之后,将目标数据的初始数据格式转换成与目的终端匹配的目的数据格式并发送给目的终端。管理模块110以及数据交换模块120之间可以通过数据库、JMS接口等方式进行事件通知和数据共享。
其中,终端是与通用接口平台对接的外部系统的统称,可以是企业客户的ERP服务器,也可以是银行前置终端或者银行主机。通用接口平台采用统一资源定位符(UniformResource Locator,URL)统一描述接入终端,并为企业终端提供统一的银企服务标准HTTP/HTTPS接入接口。
示例性的,当输入终端为企业时,通用接口平台支持企业向银行提交转账汇款、归集下拨、余额明细查询、代发代扣等操作请求;当输入终端为银行时,通用接口平台支持银行向企业推送交易结果通知、对账单通知等银行的主动通知信息。
本实施例中,通用接口平台通过采取前后台分离的架构,使得数据交换模块120能独立运行,并根据终端的业务需要进行灵活地集群扩展,支持高频度的数据交换功能,达到高内聚、低耦合以及可重用可扩展的效果,从而减少各终端之间以及本平台内各模块间的耦合度,降低操作复杂度。
本实施例中,管理模块110中还包括消息队列(Message Queue,MQ)(未示出),用于将后台抽取的监控数据、校验结果等数据异步发送到前端进行展示。数据交换模块120中还包括消息监听单元(未示出),用于监听输入终端发送的目标数据,监听管理模块120对设置参数的更新。
可选的,管理模块110,具体用于:在配置页面中,建立初次接入通用接口平台的终端的输出字段与本地输入字段的映射关系;配置与终端对应的数据传输方式;为终端注册输入接口以及输出接口;为终端配置对应的路由通道。
本实施例中,各个终端都有自己的一套输入输出接口标准,目标数据是输入终端是按照通用接口平台的输入接口标准对待传输数据进行格式转换后得到的,而通用接口平台为了将目标数据转换为与目的终端的目的数据格式相匹配的数据,需要在终端初次接入通用接口平台时,在前端配置界面上建立本平台的输出接口标准与该终端的输入接口标准的映射关系,以便于实现数据的格式转换。数据传输方式是接入终端规定的,用于指示终端发给其他终端的目标数据采用请求应答的同步处理方式,还是无需应答的异步处理方式。对每一个接入终端,通用接口平台可以注册一个接收终端请求的地址和一个访问终端服务的地址。
本实施例中,路由通道是通用接口平台接收到输入终端的目标数据后,在输入终端与目的终端之间进行的一系列处理形成的链路,可以根据目标数据报文中的特定字段来确定目的终端以及对应的路由通道的代码,例如,企业终端提交给通用接口平台的银企直连报文中的渠道为XX银行,交易代码为yy。本实施例对路由通道支持运行时的启动和停止,以及路由通道的增加、删除和修改。
可选的,数据交换模块120,具体用于:根据配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则;根据目标数据转换规则,将目标数据的初始数据格式转换为目的数据格式;通过目标路由通道,将转换后的目标数据发送至目的终端。
可选的,数据交换模块120,还可以用于:在接收输入终端发送的目标数据之后,根据第三方数字签名对目标数据进行校验;若签名校验通过,则对输入终端的登录名称、登录密码以及IP地址进行校验;若校验通过,则根据配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则。
本实施例中,当通用接口平台应用于金融行业时,客户对数据的安全性要求很高,需要从三个方面进行安全保证。1)确保发起方不能否认曾向接收方发过信息,接收方不能在收到信息后否认已经收到信息,对此,通用接口平台提供对输入终端发送的目标数据进行数字签名验证,支持第三方安全厂商的签名服务器。2)数据在传输过程中为无法识别的密文,防止机密的交易信息被监听、窃取和篡改,对此,通用接口平台支持SSL传输层安全协议,保证数据在传输过程中的安全。3)确定发起方的真实身份,每个接入通用接口平台的终端需进行提前注册授权、维护终端IP地址,防止第三方盗取证书后仿冒企业终端的行为。通用接口平台提供密码方式的验证,如果终端在通用接口平台中未注册或者密码无效,则通用接口平台会拒绝受理该终端的任务。
本实施例中,在通用接口平台实现输入终端与目的终端之间的数据交换之后,还可以对终端之间的交互数据、验证信息等数据进行加密,并存储在通用接口平台数据库中,以防止数据库泄露后造成机密业务数据的泄露。
可选的,管理模块110,还可以用于:为各接入终端布置预设数量的前置终端,并在配置页面中为各前置终端添加状态标记和最大并发数;其中,如果线程池中的活动线程数量等于最大并发数,则将前置终端的状态标记为忙碌;如果线程池的活动线程数量小于最大并发数,则将前置终端的状态标记为空闲;如果在数据发送过程中捕获到网络传输异常,则将前置终端的状态标记为异常。
其中,前置终端可以是运行银行前置加密通讯软件的PC机。本实施例通过为接入终端布置多个前置终端,使得在大数据量任务的情况下,通用接口平台可以采用“多前置机并发”模式与银行进行数据交互,实现转帐、查询等任务并发工作,从而大大提高效率。本实施例中,前置终端的部署具有高度灵活性,可以根据业务的发展自由增加或减少,同时具备稳健性的特点,当其中一台或几台前置终端出现故障时,不影响正常的工作。
本实施例中,为了实现高效的多任务并发,为各前置终端添加状态标记和最大并发数,以按照各前置终端的状态对任务进行合理分配。如果检测到终端异常,需要启动监控措施,每隔一段时间尝试发送注册终端时上传的状态检测报文,如果能正常接收到终端给予的回复数据,则将该终端自动回复为空闲状态;否则,针对数据交换过程中关键性的系统指标,如中央处理器(Central Processing Unit,CPU)、数据库资源占用情况、内存使用情况、系统间的网络连通性保持实时监控,采集数据,并在持续超过监控指标的指定阈值时,通过邮件或短信方式发出预警,以便在早期及时对风险进行防范,提高运维效率。
可选的,数据交换模块120,还可以用于:在将目标数据的初始数据格式转换为目的数据格式之后,根据目标路由通道获取目的终端的前置终端组;判断输入终端的数据传输方式是否为异步处理方式;如果是,则将转换后的目标数据加入前置终端组的异步处理队列;如果不是,则根据轮询策略或者随机策略,从前置终端组中获取处于空闲且非异常状态的前置终端作为目标前置终端,或者,在线程池中的排队线程数量小于阈值时,获取处于忙碌且非异常状态的前置终端作为目标前置终端;通过目标前置终端将转换后的数据发送至目的终端。
本实施例中,在一个输入终端对应多个目的终端的场景下,例如,银行配置有多个前置终端的场景,可以将多个前置终端作为该银行的一个前置终端组,此时,通用接口平台可提供负载均衡调度功能,可以按策略从前置终端组中挑选一个目标前置终端进行数据发送,或者将数据群发到该组中的所有前置终端,如果前置终端组中所有前置终端均为故障终端,则拒绝后续请求,并给予提示信息。
本实施例可定时检测前置终端组下的终端状态,如果某终端组的所有前置终端超过一定时间均不可用,则暂停路由通道并发出预警;如果有可用前置终端,则恢复路由通道。
可选的,数据交换模块120,还可以用于:在接收输入终端发送的目标数据之后,获取目标数据中的输入端交易流水号和交易识别码,并验证输入端交易流水号和交易识别码是否唯一;如果否,则认为当前交易为重复交易,拒绝对目标数据进行数据处理和转发;在将转换后的目标数据发送至目的终端之前,存储转换后的目标数据中的目的端交易流水号,并确定是否发送过携带目的端交易流水号的数据;如果是,则中止将转换后的目标数据发送至目的终端。
本实施例中,通用接口平台还可以对目标数据和格式转换后的目标数据进行交易防重。对于目标数据,通用接口平台在制定的接入规范中定义了输入端交易流水号和交易识别码字段,每个输入终端发送的目标数据中必须包含一个输入端交易流水号和一个交易识别码,输入端交易流水号由外围系统生成,生成规则为:组织机构代码+年月日+7位流水码,通用接口平台将检查输入端交易流水号是否全局唯一。交易识别码由业务系统生成,生成规则为:组织机构代码+日期和时间+付款账号+收款账号+交易币种+金额,如果存在交易识别码相同或者输入端交易流水号相同的多笔交易任务,通用接口平台将认为是重复交易,拒绝受理。对于转换后的目标数据,通用接口平台在转换目标数据后,在发往目的终端前,检查是否已存在发送过的历史痕迹,如果有则中止发送。
可选的,数据交换模块120,还可以用于:对从输入终端接收的目标数据以及发往目的终端的转换后的目标数据进行日志记录;其中,记录的日志信息包括:数字签名、输入端交易流水号、交易识别码、目的端交易流水号、目标路由通道以及路由处理结果。
本实施例中,通用接口平台在数据交互过程中,还需要记录发送和接收后的确认过程和结果日志,以便审计。特别的对于银行接口交易请求,需要记录输入端的流水号、交易序号和交易识别码,以及对应的目的端的流水号和交易序号,以便查询结果接口处理时,快速定位到原交易。
可选的,通用接口平台采用Apache Camel路由引擎;通用接口平台采用FreeMarker模板引擎;通用接口平台采用Spring Web MVC框架。
Apache Camel是一个基于规则路由和中介引擎,提供企业集成模式的Java对象的实现,通过应用程序接口来配置路由和中介的规则。
FreeMarker是一款基于模板的、用来生成输出文本的通用工具,其核心思想是对于已确定的基于文本的数据转换需求,直接通过编辑维护模板来完成和实现,通过模板加输入数据模型,得到最终的文本输出。通用接口平台需要支持上传编辑好的模板,在线进行模板数据转换的编辑和测试,对于已有的模板,当接入双方需要变更数据格式,如添加字段时,可以通过维护模板添加新的映射字段来完成接口调整需求。
通用接口平台还为FreeMarker提供以下自定义的标签:(1)数据映射配置信息访问:访问终端间基础数据映射表,如币种映射、返回代码映射,得到映射值;(2)xpath选择器:通过xpath表达式访问输入XML中的数据;(3)终端配置参数信息访问:获取终端的注册信息;(4)流水号生成:根据目的终端的流水号生成规则,生成一个全局唯一的流水号。
通用接口平台的WEB站点使用Spring MVC作为MVC框架:SpringMVC的核心思想是围绕一个核心的DispatcherServlet将请求分发到对应的Controller;它可以与SpringIOC容器无缝集成,可以使用Spring的其他特性。
本发明实施例提供的通用接口平台,通过管理模块对接入通用接口平台的终端进行参数配置或参数更新,并将配置参数发送给数据交换模块,通过数据交换模块,根据配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端,解决了现有技术中存在的每家银行接口都需要单独编码,以及通用接口与业务系统耦合性过高的问题,实现了对外统一提供接口服务,以数据交换服务为核心,与具体业务解耦,保证接口实现的灵活性,便于横向扩展,降低成本。
实施例二
图2是本发明实施例二中的一种数据转换方法的流程图,本实施例提供的方法可适用于上述任一实施例的通用接口平台,可以由本发明实施例提供的通用接口平台来执行,该通用接口平台可采用软件和硬件结合的方式实现。如图2所示,本实施例的方法具体包括:
步骤210、接收输入终端发送的目标数据。
步骤220、通过查询本地配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则。
步骤230、根据目标数据转换规则,将目标数据的初始数据格式转换为目的数据格式。
步骤240、通过目标路由通道,将转换后的目标数据发送至目的终端。
本发明实施例提供的数据转换方法,提高通用接口平台接收输入终端发送的目标数据,通过查询本地配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则,根据目标数据转换规则,将目标数据的初始数据格式转换为目的数据格式,通过目标路由通道,将转换后的目标数据发送至目的终端,解决了现有技术中存在的每家银行接口都需要单独编码,以及通用接口与业务系统耦合性过高的问题,实现了对外统一提供接口服务,以数据交换服务为核心,与具体业务解耦,保证接口实现的灵活性,便于横向扩展,降低成本。
可选的,在接收输入终端发送的目标数据之前,还可以包括:在配置页面中,建立初次接入通用接口平台的终端的输出字段与本地输入字段的映射关系;配置与终端对应的数据传输方式;为终端注册输入接口以及输出接口;为终端配置对应的路由通道。
可选的,在接收输入终端发送的目标数据之后,还可以包括:根据第三方数字签名对目标数据进行校验;若签名校验通过,则对输入终端的登录名称、登录密码以及IP地址进行校验;若校验通过,则根据配置参数,获取与目标数据对应的目标路由通道以及目标数据格式转换规则。
可选的,在接收输入终端发送的目标数据之前,还可以包括:预先为各接入终端布置预设数量的前置终端,并在配置页面中为各前置终端添加状态标记和最大并发数;其中,如果线程池中的活动线程数量等于最大并发数,则将前置终端的状态标记为忙碌;如果线程池的活动线程数量小于最大并发数,则将前置终端的状态标记为空闲;如果在数据发送过程中捕获到网络传输异常,则将前置终端的状态标记为异常。
可选的,在将目标数据的初始数据格式转换为目的数据格式之后,还可以包括:根据目标路由通道获取目的终端的前置终端组;判断输入终端的数据传输方式是否为异步处理方式;如果是,则将转换后的目标数据加入前置终端组的异步处理队列;如果不是,则根据轮询策略或者随机策略,从前置终端组中获取处于空闲且非异常状态的前置终端作为目标前置终端,或者,在线程池中的排队线程数量小于阈值时,获取处于忙碌且非异常状态的前置终端作为目标前置终端;通过目标前置终端将转换后的数据发送至目的终端。
可选的,在接收输入终端发送的目标数据之后,还可以包括:获取目标数据中的输入端交易流水号和交易识别码,并验证输入端交易流水号和交易识别码是否唯一;如果否,则认为当前交易为重复交易,拒绝对目标数据进行数据处理和转发;在将转换后的目标数据发送至目的终端之前,还可以包括:存储转换后的目标数据中的目的端交易流水号,并确定是否发送过携带目的端交易流水号的数据;如果是,则中止将转换后的目标数据发送至目的终端。
可选的,还可以包括:对从输入终端接收的目标数据以及发往目的终端的转换后的目标数据进行日志记录;其中,记录的日志信息包括:数字签名、输入端交易流水号、交易识别码、目的端交易流水号、目标路由通道以及路由处理结果。
可选的,通用接口平台采用Apache Camel路由引擎;通用接口平台采用FreeMarker模板引擎;通用接口平台采用Spring Web MVC框架。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种通用接口平台,其特征在于,包括:管理模块以及数据交换模块;
所述管理模块,用于对接入通用接口平台的终端进行参数配置或参数更新,并将所述配置参数发送给数据交换模块;
所述数据交换模块,用于根据所述配置参数,将从输入终端接收的目标数据的初始数据格式转换为目的数据格式,并将转换后的目标数据发送至目的终端;
其中,所述目的数据格式与所述目的终端相匹配。
2.根据权利要求1所述的通用接口平台,其特征在于,所述管理模块,具体用于:
在配置页面中,建立初次接入通用接口平台的终端的输出字段与本地输入字段的映射关系;
配置与所述终端对应的数据传输方式;
为所述终端注册输入接口以及输出接口;
为所述终端配置对应的路由通道。
3.根据权利要求2所述的通用接口平台,其特征在于,所述数据交换模块,具体用于:
根据所述配置参数,获取与所述目标数据对应的目标路由通道以及目标数据格式转换规则;
根据所述目标数据转换规则,将所述目标数据的初始数据格式转换为目的数据格式;
通过所述目标路由通道,将所述转换后的目标数据发送至目的终端。
4.根据权利要求3所述的通用接口平台,其特征在于,所述数据交换模块,还用于:
在接收输入终端发送的目标数据之后,根据第三方数字签名对所述目标数据进行校验;
若签名校验通过,则对输入终端的登录名称、登录密码以及IP地址进行校验;
若校验通过,则根据所述配置参数,获取与所述目标数据对应的目标路由通道以及目标数据格式转换规则。
5.根据权利要求3所述的通用接口平台,其特征在于,所述管理模块,还用于:
为各接入终端布置预设数量的前置终端,并在配置页面中为各前置终端添加状态标记和最大并发数;
其中,如果线程池中的活动线程数量等于最大并发数,则将所述前置终端的状态标记为忙碌;如果线程池的活动线程数量小于最大并发数,则将所述前置终端的状态标记为空闲;如果在数据发送过程中捕获到网络传输异常,则将所述前置终端的状态标记为异常。
6.根据权利要求5所述的通用接口平台,其特征在于,所述数据交换模块,还用于:
在将所述目标数据的初始数据格式转换为目的数据格式之后,根据目标路由通道获取目的终端的前置终端组;
判断输入终端的数据传输方式是否为异步处理方式;
如果是,则将转换后的目标数据加入前置终端组的异步处理队列;
如果不是,则根据轮询策略或者随机策略,从前置终端组中获取处于空闲且非异常状态的前置终端作为目标前置终端,或者,在线程池中的排队线程数量小于阈值时,获取处于忙碌且非异常状态的前置终端作为目标前置终端;
通过所述目标前置终端将所述转换后的数据发送至目的终端。
7.根据权利要求1所述的通用接口平台,其特征在于,所述数据交换模块,还用于:
在接收输入终端发送的目标数据之后,获取目标数据中的输入端交易流水号和交易识别码,并验证所述输入端交易流水号和交易识别码是否唯一;
如果否,则认为当前交易为重复交易,拒绝对所述目标数据进行数据处理和转发;
在将所述转换后的目标数据发送至目的终端之前,存储转换后的目标数据中的目的端交易流水号,并确定是否发送过携带所述目的端交易流水号的数据;
如果是,则中止将所述转换后的目标数据发送至目的终端。
8.根据权利要求1所述的通用接口平台,其特征在于,所述数据交换模块,还用于:
对从输入终端接收的目标数据以及发往目的终端的转换后的目标数据进行日志记录;
其中,记录的日志信息包括:数字签名、输入端交易流水号、交易识别码、目的端交易流水号、目标路由通道以及路由处理结果。
9.根据权利要求1所述的通用接口平台,其特征在于,
所述通用接口平台采用Apache Camel路由引擎;
所述通用接口平台采用FreeMarker模板引擎;
所述通用接口平台采用Spring Web MVC框架。
10.适用于权利要求1-9任一项所述的通用接口平台的数据转换方法,其特征在于,包括:
接收输入终端发送的目标数据;
通过查询本地配置参数,获取与所述目标数据对应的目标路由通道以及目标数据格式转换规则;
根据所述目标数据转换规则,将所述目标数据的初始数据格式转换为目的数据格式;
通过所述目标路由通道,将所述转换后的目标数据发送至目的终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010021222.7A CN111240862A (zh) | 2020-01-09 | 2020-01-09 | 一种通用接口平台以及数据转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010021222.7A CN111240862A (zh) | 2020-01-09 | 2020-01-09 | 一种通用接口平台以及数据转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111240862A true CN111240862A (zh) | 2020-06-05 |
Family
ID=70875928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010021222.7A Pending CN111240862A (zh) | 2020-01-09 | 2020-01-09 | 一种通用接口平台以及数据转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111240862A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866579A (zh) * | 2020-07-27 | 2020-10-30 | 无锡和博永新科技有限公司 | 一种v4l2的数据转换方法 |
CN111917825A (zh) * | 2020-06-23 | 2020-11-10 | 中国建设银行股份有限公司 | 一种异构系统数据交互的方法和装置 |
CN112398826A (zh) * | 2020-11-03 | 2021-02-23 | 北京天融信网络安全技术有限公司 | 基于国密的数据处理方法、装置、存储介质及电子设备 |
CN113407360A (zh) * | 2021-05-21 | 2021-09-17 | 上汽通用五菱汽车股份有限公司 | 数据处理方法、服务器及计算机可读存储介质 |
CN113923038A (zh) * | 2021-10-19 | 2022-01-11 | 北京快确信息科技有限公司 | 一种用于多场景的金融接口的聚合测试系统 |
CN115379401A (zh) * | 2022-08-05 | 2022-11-22 | 中国银行股份有限公司 | 一种异步银行消息的处理方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932875A (zh) * | 2006-10-09 | 2007-03-21 | 杭州东信金融技术服务有限公司 | 一种基于金融行业的前置系统 |
CN102932431A (zh) * | 2012-10-12 | 2013-02-13 | 宁夏电力公司电力科学研究院 | 一种基于消息路由的状态监测数据接口配置方法 |
CN103338206A (zh) * | 2013-07-10 | 2013-10-02 | 中兴智能交通(无锡)有限公司 | 一种基于数据总线技术实现数据交换的方法及装置 |
CN103685066A (zh) * | 2012-09-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种动态分布式调度方法和系统 |
CN105787065A (zh) * | 2016-03-01 | 2016-07-20 | 浪潮通用软件有限公司 | 一种集成交换平台的实现方法 |
CN107832146A (zh) * | 2017-10-27 | 2018-03-23 | 北京计算机技术及应用研究所 | 高可用集群系统中的线程池任务处理方法 |
CN107968836A (zh) * | 2017-12-06 | 2018-04-27 | 北京星河星云信息技术有限公司 | 一种任务分发方法及装置 |
CN110022287A (zh) * | 2018-01-10 | 2019-07-16 | 厦门雅迅网络股份有限公司 | 一种异步分布式文件传输方法、终端设备及存储介质 |
-
2020
- 2020-01-09 CN CN202010021222.7A patent/CN111240862A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932875A (zh) * | 2006-10-09 | 2007-03-21 | 杭州东信金融技术服务有限公司 | 一种基于金融行业的前置系统 |
CN103685066A (zh) * | 2012-09-18 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | 一种动态分布式调度方法和系统 |
CN102932431A (zh) * | 2012-10-12 | 2013-02-13 | 宁夏电力公司电力科学研究院 | 一种基于消息路由的状态监测数据接口配置方法 |
CN103338206A (zh) * | 2013-07-10 | 2013-10-02 | 中兴智能交通(无锡)有限公司 | 一种基于数据总线技术实现数据交换的方法及装置 |
CN105787065A (zh) * | 2016-03-01 | 2016-07-20 | 浪潮通用软件有限公司 | 一种集成交换平台的实现方法 |
CN107832146A (zh) * | 2017-10-27 | 2018-03-23 | 北京计算机技术及应用研究所 | 高可用集群系统中的线程池任务处理方法 |
CN107968836A (zh) * | 2017-12-06 | 2018-04-27 | 北京星河星云信息技术有限公司 | 一种任务分发方法及装置 |
CN110022287A (zh) * | 2018-01-10 | 2019-07-16 | 厦门雅迅网络股份有限公司 | 一种异步分布式文件传输方法、终端设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917825A (zh) * | 2020-06-23 | 2020-11-10 | 中国建设银行股份有限公司 | 一种异构系统数据交互的方法和装置 |
CN111866579A (zh) * | 2020-07-27 | 2020-10-30 | 无锡和博永新科技有限公司 | 一种v4l2的数据转换方法 |
CN112398826A (zh) * | 2020-11-03 | 2021-02-23 | 北京天融信网络安全技术有限公司 | 基于国密的数据处理方法、装置、存储介质及电子设备 |
CN113407360A (zh) * | 2021-05-21 | 2021-09-17 | 上汽通用五菱汽车股份有限公司 | 数据处理方法、服务器及计算机可读存储介质 |
CN113923038A (zh) * | 2021-10-19 | 2022-01-11 | 北京快确信息科技有限公司 | 一种用于多场景的金融接口的聚合测试系统 |
CN115379401A (zh) * | 2022-08-05 | 2022-11-22 | 中国银行股份有限公司 | 一种异步银行消息的处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240862A (zh) | 一种通用接口平台以及数据转换方法 | |
CN101371237B (zh) | 在网络元件中代表应用执行消息有效载荷处理功能 | |
CN101124565B (zh) | 基于应用层消息的数据流量负载平衡 | |
CN101099345B (zh) | 利用采样和试探在网络元件处解释应用消息的方法和设备 | |
CN101438255B (zh) | 基于应用层消息检查的网络和应用攻击保护 | |
US7743250B2 (en) | Traffic manager for distributed computing environments | |
CN101465765B (zh) | 日志系统及其使用方法 | |
CN111614761B (zh) | 区块链消息传输方法、装置、计算机以及可读存储介质 | |
US7333430B2 (en) | Systems and methods for passing network traffic data | |
US10192262B2 (en) | System for periodically updating backings for resource requests | |
CN103457802A (zh) | 一种信息传输系统及方法 | |
CN111241104A (zh) | 操作审计方法、装置及电子设备和计算机可读存储介质 | |
CN108282480B (zh) | 一种用户授权多方监测共享方法和系统 | |
CN114598749A (zh) | 一种服务访问方法及装置 | |
CN117252701A (zh) | 一种基于区块链的跨链互通平台 | |
CN112200680A (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
US20100030805A1 (en) | Propagating information from a trust chain processing | |
CN113778709B (zh) | 接口调用方法、装置、服务器及存储介质 | |
KR101862852B1 (ko) | 전산자원 비상상황 관리 방법 | |
CN112668998B (zh) | 流程实现方法、装置、系统、电子设备和可读存储介质 | |
CN112671844B (zh) | 一种设备的注册方法及系统 | |
CN114189476A (zh) | 一种多元接口分流调用方法及终端 | |
CN109034768B (zh) | 财务调拨方法、装置、计算机设备和存储介质 | |
CN112487400A (zh) | 基于多页面的单点登录方法、装置、电子设备及存储介质 | |
CN115801472B (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 | ||
CB02 | Change of applicant information |
Address after: 100193, No. 5, building 16, east 10, East Hospital, No. 502 Wang Dong Road, Beijing, Haidian District Applicant after: Softcom power information technology (Group) Co., Ltd Address before: 100193, No. 5, building 16, east 10, East Hospital, No. 502 Wang Dong Road, Beijing, Haidian District Applicant before: ISOFTSTONE INFORMATION TECHNOLOGY (Group) Co.,Ltd. |
|
CB02 | Change of applicant information |