CN113835786A - 一种数据对接系统、方法和计算机可读存储介质 - Google Patents

一种数据对接系统、方法和计算机可读存储介质 Download PDF

Info

Publication number
CN113835786A
CN113835786A CN202111165851.8A CN202111165851A CN113835786A CN 113835786 A CN113835786 A CN 113835786A CN 202111165851 A CN202111165851 A CN 202111165851A CN 113835786 A CN113835786 A CN 113835786A
Authority
CN
China
Prior art keywords
docking
data
command
node
execution
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.)
Granted
Application number
CN202111165851.8A
Other languages
English (en)
Other versions
CN113835786B (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 CN202111165851.8A priority Critical patent/CN113835786B/zh
Publication of CN113835786A publication Critical patent/CN113835786A/zh
Application granted granted Critical
Publication of CN113835786B publication Critical patent/CN113835786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种数据对接系统,包括对接配置控制台、命令解析服务器、配置Agent服务器、身份管理系统以及对接执行运行态单元;所述对接配置控制台用于配置对方系统数据并生成对接推送命令和对接配置信息;所述命令解析服务器用于接收所述对接推送命令,并将所述对接推送命令包装为所述对接执行运行态单元能够识别的对接命令;所述配置Agent服务器用于接收并验证对接配置信息,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库;所述对接执行运行态单元用于对具体的对接命令进行对接的处理。本发明克服了现有数据对接处理方案中,数据对接效率较低的缺陷,提出了对接处理流程异步化流水线处理技术。

Description

一种数据对接系统、方法和计算机可读存储介质
技术领域
本发明涉及互联网技术领域,具体涉及一种数据对接系统、方法和计算机可读存储介质。
背景技术
身份管理系统作为应用系统中身份数据标准化和统一管理的基础系统,需要和业务系统、认证系统以及权限系统做大量的数据对接工作,充当着数据总线的作用。由于对接的对方系统数据传输协议和数据结构多种多样,如何提升数据对接的灵活性和可扩展性,是目前数据对接的一个难点;同时数据对接的流程一般比较冗长,通常包括对接配置解析、数据获取、无效数据过滤、数据结构映射、数据推送等一系列流程,如何提升数据对接流程的效率以及做到数据对接流程追踪的可视化,也是数据对接系统中需要考虑的。
现有的数据对接方案通常通过提供标准化的数据接口,不同的数据对接协议做成不同的实现类,在对接时通过协议类型动态查找实现类来进行数据对接,但对于新增的协议,需要重启应用来让实现类生效,升级效率较低;
现有的数据对接方案面对各种不同类型的身份数据(如用户、组织机构、应用、设备等)数据获取以及各种方式的推送需求(如全量、增量、同步、异步),是通过定制化的代码解决的,没有统一的模板化对接流程来统一适配,存在大量的代码冗余,造成开发效率低、代码可维护性差等问题;
现有的数据对接方案面对冗长的数据对接处理流程,没有一套可视化的流程追踪页面,数据对接处理到哪一步了,在哪一步失败了无法实时直观的查看,对接系统可维护性成本较高;
现有的数据对接方案处理流程大部分采用同步的方式,任一流程节点失败,只能从初始流程节点开始处理,对接效率较低。
发明内容
本发明针对当前数据对接系统中数据映射通用化能力较低、数据对接处理效率较低以及数据对接平台化能力较弱等特点;提出了一种基于流水线处理模式的通用数据对接系统,可较大程度提升数据对接的处理效率、可扩展性以及流程可视化能力。
本发明通过下述技术方案实现:
一种数据对接系统,包括对接配置控制台、命令解析服务器、配置Agent服务器、身份管理系统以及对接执行运行态单元;
所述对接配置控制台用于配置对方系统数据并生成对接推送命令和对接配置信息,然后推送对接推送命令和对接配置信息;
所述命令解析服务器用于接收所述对接推送命令,并将所述对接推送命令包装为所述对接执行运行态单元能够识别的对接命令;
所述配置Agent服务器用于接收并验证对接配置信息,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库;
所述身份管理系统用于业务系统的管理和存储;
所述对接执行运行态单元用于对具体的对接命令进行对接的处理,并将处理后得到的数据推送到对方系统。
作为优化,还包括限流配置控制台和限流网关,所述限流配置控制台用于对限流网关进行限流规则的配置,所述对接命令通过所述限流网关推送到对接执行运行态单元。
作为优化,所述对接执行运行态单元包括配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点以及对接执行节点,所述对接执行节点包括故障隔离线程池和对接执行线程池,所述对接命令依次通过所述配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点到达对接执行节点,且所述配置丰富节点、数据丰富节点、数据结构映射节点以及对接推送下发节点均会记录推送对接命令的推送状态;其中,
所述配置丰富节点为一个独立执行的线程节点,用于过滤查询对接配置信息中的连接配置信息,然后与所述对接命令进行结合;
所述数据丰富节点为一个独立执行的线程节点,用于动态查询业务系统的业务数据,然后与所述对接命令进行结合,所述业务数据为全量数据;
所述数据结构映射节点为一个独立执行的线程节点,在所述数据结构映射节点中,根据动态字段关键字进行动态查找数据映射动态库,执行数据结构映射,并将映射好的对方系统的结构数据与所述对接命令进行结合;
所述对接推送下发节点为一个独立执行的线程节点,在所述对接推送下发节点中,根据协议类型动态查找数据对接执行动态库里对应的对接执行器,并将对接命令和查找到的对接执行器下发给所述对接执行节点进行对接推送处理;
所述故障隔离线程池用于隔离状态报错的对接命令;
所述对接执行线程池用于执行对接命令。
本发明还公开了一种数据对接方法,包括如下步骤:
S1、所述对接配置控制台下发对接配置信息给配置Agent服务器;
S2、所述对接配置控制台下发对接推送命令给命令解析服务器;
S3、所述命令解析服务器将所述对接推送命令统一包装成对接执行运行态能够识别的对接命令,然后将所述对接命令发送给对接执行运行态单元;
S4、所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统。
作为优化,S1中,所述配置Agent服务器接收到所述对接配置信息以后,对所述对接配置信息进行验证,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库。
作为优化,S3中,所述对接执行运行态单元在接收对接命令之前,所述对接命令会通过限流网关进行传输。
作为优化,S4中,所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统的具体步骤为:
S4.1、所述配置丰富节点拉取对接命令,并动态查询对接配置信息中的对方系统连接配置信息,将连接配置信息丰富到所述对接命令的configId字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.2、判断S4.1是否操作成功;若成功,则记录对接命令中的status字段为success,否则为failed;
S4.3、通知数据丰富节点拉取所述配置丰富节点操作成功的对接命令,同时所述配置丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.4、所述数据丰富节点拉取所述配置丰富节点存储在存储表的存储节点的对接命令,根据身份类型的不同动态查询业务数据,将业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.5、判断S4.4是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.6、通知数据映射节点拉取所述数据丰富节点操作成功的对接命令,同时所述数据丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.7、所述数据映射节点拉取所述数据丰富节点存储在存储表的存储节点的对接命令,根据字段类型的不同动态调用字段映射动态库,执行数据结构的映射,将映射好的业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.8、判断S4.7是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.9、通知对接执行下发节点拉取数据映射节点操作成功的对接命令,同时数据映射节点继续定时拉取操作失败的数据进行重试操作;
S4.10、所述对接执行下发节点拉取所述数据映射节点存储在存储表的存储节点的对接命令,根据对方系统协议类型的不同动态获取对接推送执行动态库,并将对接命令和推送执行动态库下发给对接推送执行节点;
S4.11、所述对接推送执行节点获取对接命令中的业务数据以及连接配置信息,调用推送执行动态库将数据推送到对方系统;若出现失败系统,则将失败系统的数据推送至故障隔离线程池中,以减少对正常对接推送的影响。
作为优化,所述故障隔离线程池用于存储S4.4中状态报错的对接命令。
作为优化,动态调用是通过动态依赖库动态加载的方式进行的。
本发明还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有执行如权利要求4至9中任一所述的数据对接方法的步骤。
本发明与现有技术相比,具有如下的优点和有益效果:
1)本发明克服了现有数据对接处理方案中,数据结构映射通用化能力较低的缺陷,提出了数据结构映射脚本可视化配置以及脚本动态编译动态库技术。
2)本发明克服了现有数据对接处理方案中,数据对接效率较低的缺陷,提出了对接处理流程异步化流水线处理技术、微服务分布式调度技术以及分布式限流技术。
3)本发明克服了现有数据对接处理方案中,新接入对接系统需要大量修改代码,平台化能力较弱的缺陷,提出了数据对接请求命令化以及对接服务动态加载的技术。
附图说明
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
图1为本发明所述的一种数据对接系统的总体架构图;
图2为本发明所述的一种数据对接系统的配置Agent服务注册的流程图;
图3为本发明所述的一种数据对接系统的配置信息下发的流程图;
图4为本发明所述的一种数据对接系统的数据映射动态库及数据对接执行动态库编译的流程图;
图5为本发明所述的一种数据对接系统的对接推送执行以及故障隔离的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例
一种数据对接系统,包括对接配置控制台、命令解析服务器、配置Agent服务器、身份管理系统以及对接执行运行态单元;
所述对接配置控制台用于配置对方系统数据并生成对接推送命令和对接配置信息,然后推送对接推送命令和对接配置信息;具体的,对接配置控制台一个web程序,提供界面给运维管理人员配置对方系统,用于配置对接系统的对接地址、对接协议类型、数据结构映射、需要推送的数据范围等;
所述命令解析服务器用于接收所述对接推送命令,并将所述对接推送命令包装为所述对接执行运行态单元能够识别的对接命令;
所述配置Agent服务器用于接收并验证对接配置信息,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库。具体的,Agent是运行在身份管理系统侧一个独立的进程。Agnet接收对接配置控制台发送的对接配置信息,验证这些信息之后,根据这些信息按照对接协议的不同以及映射字段的不同动态编译为相应的对接执行器动态库以及数据映射动态库。
所述身份管理系统提供数据管理侧服务,用于业务系统的管理和存储;
所述对接执行运行态单元用于对具体的对接命令进行对接的处理,并将处理后得到的数据推送到对方系统。
本实施例中,还包括限流配置控制台和限流网关,所述限流配置控制台用于对限流网关进行限流规则的配置,所述对接命令通过所述限流网关推送到对接执行运行态单元。
本实施例中,所述对接执行运行态单元包括配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点以及对接执行节点,所述对接执行节点包括故障隔离线程池和对接执行线程池,所述对接命令依次通过所述配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点到达对接执行节点,且所述配置丰富节点、数据丰富节点、数据结构映射节点以及对接推送下发节点均会记录推送对接命令的推送状态;其中,
所述配置丰富节点为一个独立执行的线程节点,用于过滤查询对接配置信息中的连接配置信息,然后与所述对接命令进行结合;
所述数据丰富节点为一个独立执行的线程节点,用于动态查询业务系统的业务数据,然后与所述对接命令进行结合,所述业务数据为全量数据;
所述数据结构映射节点为一个独立执行的线程节点,在所述数据结构映射节点中,根据动态字段关键字进行动态查找数据映射动态库,执行数据结构映射,并将映射好的对方系统的结构数据与所述对接命令进行结合;
所述对接推送下发节点为一个独立执行的线程节点,在所述对接推送下发节点中,根据协议类型动态查找数据对接执行动态库里对应的对接执行器,并将对接命令和查找到的对接执行器下发给所述对接执行节点进行对接推送处理;
所述故障隔离线程池用于隔离状态报错的对接命令;
所述对接执行线程池用于执行对接命令。
本发明还公开了一种数据对接方法,包括如下步骤:
S1、所述对接配置控制台下发对接配置信息给配置Agent服务器;
S2、所述对接配置控制台下发对接推送命令给命令解析服务器;
S3、所述命令解析服务器将所述对接推送命令统一包装成对接执行运行态能够识别的对接命令,然后将所述对接命令发送给对接执行运行态单元;
S4、所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统。
本实施例中,S1中,所述配置Agent服务器接收到所述对接配置信息以后,对所述对接配置信息进行验证,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库。
本实施例中,S3中,所述对接执行运行态单元在接收对接命令之前,所述对接命令会通过限流网关进行传输。
从对接配置控制台下发的对接命令一般是不完整的,需要结合对接执行运行态单元中的各个线程节点进行组装,组装好的数据再存储在中间存储节点中,然后再将组装好的数据流向下一个线程节点进行数据的组装。
若某一个线程节点的对接命令的数据状态报错,则下一个线程节点不处理该数据,由当前线程节点再次发起,直到成功,再将该数据传输至下一个节点进行操作;
具体方式如下:
本实施例中,S4中,所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统的具体步骤为:
S4.1、所述配置丰富节点拉取对接命令,并动态查询对接配置信息中的对方系统连接配置信息,将连接配置信息丰富到所述对接命令的configId字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.2、判断S4.1是否操作成功;若成功,则记录对接命令中的status字段为success,否则为failed;
S4.3、通知数据丰富节点拉取所述配置丰富节点操作成功的对接命令,同时所述配置丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.4、所述数据丰富节点拉取所述配置丰富节点存储在存储表的存储节点的对接命令,根据身份类型的不同动态查询业务数据,将业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.5、判断S4.4是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.6、通知数据映射节点拉取所述数据丰富节点操作成功的对接命令,同时所述数据丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.7、所述数据映射节点拉取所述数据丰富节点存储在存储表的存储节点的对接命令,根据字段类型的不同动态调用字段映射动态库,执行数据结构的映射,将映射好的业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.8、判断S4.7是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.9、通知对接执行下发节点拉取数据映射节点操作成功的对接命令,同时数据映射节点继续定时拉取操作失败的数据进行重试操作;
S4.10、所述对接执行下发节点拉取所述数据映射节点存储在存储表的存储节点的对接命令,根据对方系统协议类型的不同动态获取对接推送执行动态库,并将对接命令和推送执行动态库下发给对接推送执行节点;
S4.11、所述对接推送执行节点获取对接命令中的业务数据以及连接配置信息,调用推送执行动态库将数据推送到对方系统;对于由于网络故障或出现大批量失败的系统,会将该系统下的数据推送执行隔离到隔离线程池,减少对正常对接推送的影响。
本实施例中,所述故障隔离线程池用于存储S4.4中状态报错的对接命令。判断状态报错的对接命令,可以根据协议类型的不同,一个是网络协议层面的报错,一个是对方系统业务层面的报错。对接执行线程池和故障隔离线程池进行具体的对接推送操作,当推送操作出错时,会将对接命令存储在故障隔离线程池中进行隔离。
中间存储节点负责中间流水线节点数据处理中间结果以及处理成功状态的保存,用于节点之间的数据交互以及可以对这些中间节点数据做聚合分析操作,用于数据推送全流程追踪的可视化操作。
本实施例中,动态调用是通过动态依赖库动态加载的方式进行的。
本发明还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有执行如权利要求4至9中任一所述的数据对接方法的步骤。
即,根据上述总体架构,该数据对接系统可以分为如下几个流程:
1、对接配置下发:
1.1、配置Agent服务注册;
1.2、配置信息下发;
1.3、字段映射动态库及对接推送执行器动态编译;
2、对接命令下发:
2.1、对接命令解析及封装;
2.2、对接请求限流控制;
3、对接命令执行;
3.1、配置丰富;
3.2数据丰富;
3.3数据结构映射;
3.4对接推送下发;
3.5对接推送执行以及故障隔离。
下面依次详细说明以上的每个功能点。
配置Agent服务注册的流程图如图2所示,具体流程如下:
对接配置控制台程序启动之后,读取自身配置的注册中心地址,使用TCP长连接的方式连接到注册中心,并监听Agent注册事件。
Agent启动之后,读取自身配置的注册中心地址。
Agent使用TCP长连接的方式连接到注册中心,并发送自身的IP和端口号到注册中心,同时监听配置信息下发事件。
注册中心发现有Agent注册上来,触发通知流程,推送Agent的IP、端口号到管理台。
管理台保存Agent列表到本地缓存中,为之后的操作做准备。
配置信息下发的流程图如图3所示,具体流程如下:
负责对接配置的管理员在对接配置控制台的界面上编写对接配置信息之后,点击保存。对接配置控制台保存这些信息到注册中心中,注册中心发出下发信息的事件。
注册中心监听到事件,触发推送功能。
推送功能遍历注册中心中注册的agent信息,依次推送对接配置信息。
Agent接收到推送的信息,保存到本地,为之后的操作做准备。
字段映射动态库及对接推送执行器动态编译如图4所示,具体流程如下:
Agent校验接收到的配置是否符合格式。
如果Json格式合法,则注入配置参数以及脚本内容
Agent使用ASM字节码技术动态编译成数据结构映射动态库以及数据对接执行动态库,数据对接执行动态库通常包括创建连接、数据推送、关闭连接等方法,可在界面上根据协议类型灵活自定义,提高数据对接灵活性。
对接命令解析及封装:
身份管理系统与对方系统做对接推送时,涉及全量推送、增量推送、同步以及异步推送等场景,为统一这些对接场景,做到灵活扩展适配。可以将这些请求做统一封装,对于对接执行时缺少的数据可由对接运行态中的节点动态获取。命令字段描述如下:
字段名 字段类型 字段描述
objectType String 身份数据类型,如用户、应用、组织机构
objectId String 数据id
objectValue String 数据值
configId String 对接配置id
action String 对接操作,如新增、修改、删除、全量
status String 对接状态,如等待中、运行中、成功、失败
node String 执行节点标识
对接请求限流控制:
对于批量对接请求的场景,由于数据量大,需要做一定的限流管控,故在命令下发到运行态前加入了限流网关用于接收限流配置控制台的限流规则,对对接请求进行限流。
对接命令执行:
具体处理的场景比较多,为统一这些推送场景,做到灵活控制;此提案设计了一套异步对接流水线处理流程。涉及配置丰富节点、数据丰富节点、数据映射节点以及数据推送节点。
配置丰富节点:
该节点是一个独立执行的线程节点,对于增量推送场景,由于控制台无法丰富需要对接的对接系统信息,可以在这一执行节点对需要推送该种身份类型数据的对接系统信息进行过滤查询,然后丰富到对接命令中。
数据丰富节点:
该节点是一个独立执行的线程节点,对于全量推送场景,由于控制台无法丰富需要对接的数据信息,可以在这一执行节点对需要该种身份类型数据的,通过扩展的实现方法动态查询所需数据,然后丰富到对接命令中。
数据结构映射节点:
该节点是一个独立执行的线程节点,由于身份管理系统和需要对接的对方系统数据结构通常是异构的,需要做数据结构的映射处理。对应的映射处理,可以在界面上动态配置脚本,生成动态库,然后在该节点动态字段关键字动态查找映射动态库,执行数据结构映射,将映射好的对方数据结构数据丰富到对接命令中。
对接推送下发:
该节点是一个独立执行的线程节点,由于身份管理系统和需要对接的对方系统采用的对接协议各种各样,如http协议、Mysql协议、LDAP协议等等。为做到动态适配,提高升级效率,可在界面上动态配置对接执行脚本,生成动态库。然后在该节点根据协议类型动态查找对接执行动态库,将对接命令和对接执行器下发给对接执行节点进行对接推送处理。
对接推送执行以及故障隔离:
具体的对接推送执行由该节点完成,内置了两个线程池,故障隔离线程池以及正常执行线程池,当某个系统由于网络故障出现大批量数据对接失败,可将此系统相关的对接推送隔离到该线程池,这样可以达到故障隔离的目的。如图5所示,具体的执行流程如下:
通过该流水线式的处理方案,使得数据对接系统,具有如下优点:
每个处理过程可抽象化为具体的服务节点,节点之间通过异步通知的方式通知下一个节点进行后续的处理。
整个流程的处理是异步化的,每个节点都会产生该节点处理完后的中间数据以及该节点处理的状态,这样任一节点失败后,不用发起整个流程的处理,只需要从失败的节点开始处理,较大程度提高了数据对接的效率;
可对每个节点产生的中间数据结果做聚合分析操作,从而可以对每份数据的推送流程做到所有处理节点状态的追踪和可视化。
每个存在性能瓶颈的数据处理节点都可做微服务化部署,可较大程度提升数据对接的效率和容忍一定程度的单点故障。
数据对接服务的动态调用是通过动态依赖库动态加载的方式,新增的对接服务可不用重启应用直接动态发现及调用,较大程度提升了升级效率。
5)通过通用化的对接命令模板描述,可实现大多数身份数据以及不同对接协议的系统轻量化接入,提高了数据对接系统平台化能力。
本发明针对当前数据对接系统中数据映射通用化能力较低、数据对接处理效率较低以及数据对接平台化能力较弱等特点;提出了一种基于流水线处理模式的通用数据对接系统,可较大程度提升数据对接的处理效率、可扩展性以及流程可视化能力。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据对接系统,其特征在于,包括对接配置控制台、命令解析服务器、配置Agent服务器、身份管理系统以及对接执行运行态单元;
所述对接配置控制台用于配置对方系统数据并生成对接推送命令和对接配置信息,然后推送对接推送命令和对接配置信息;
所述命令解析服务器用于接收所述对接推送命令,并将所述对接推送命令包装为所述对接执行运行态单元能够识别的对接命令;
所述配置Agent服务器用于接收并验证对接配置信息,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库;
所述身份管理系统用于业务系统的管理和存储;
所述对接执行运行态单元用于对具体的对接命令进行对接的处理,并将处理后得到的数据推送到对方系统。
2.根据权利要求1所述的一种数据对接系统,其特征在于,还包括限流配置控制台和限流网关,所述限流配置控制台用于对限流网关进行限流规则的配置,所述对接命令通过所述限流网关推送到对接执行运行态单元。
3.根据权利要求1所述的一种数据对接系统,其特征在于,所述对接执行运行态单元包括配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点以及对接执行节点,所述对接执行节点包括故障隔离线程池和对接执行线程池,所述对接命令依次通过所述配置丰富节点、数据丰富节点、数据结构映射节点、对接推送下发节点到达对接执行节点,且所述配置丰富节点、数据丰富节点、数据结构映射节点以及对接推送下发节点均会记录推送对接命令的推送状态;其中,
所述配置丰富节点为一个独立执行的线程节点,用于过滤查询对接配置信息中的连接配置信息,然后与所述对接命令进行结合;
所述数据丰富节点为一个独立执行的线程节点,用于动态查询业务系统的业务数据,然后与所述对接命令进行结合,所述业务数据为全量数据;
所述数据结构映射节点为一个独立执行的线程节点,在所述数据结构映射节点中,根据动态字段关键字进行动态查找数据映射动态库,执行数据结构映射,并将映射好的对方系统的结构数据与所述对接命令进行结合;
所述对接推送下发节点为一个独立执行的线程节点,在所述对接推送下发节点中,根据协议类型动态查找数据对接执行动态库里对应的对接执行器,并将对接命令和查找到的对接执行器下发给所述对接执行节点进行对接推送处理;
所述故障隔离线程池用于隔离状态报错的对接命令;
所述对接执行线程池用于执行对接命令。
4.一种如权利要求1-3任一所述的数据对接系统的数据对接方法,其特征在于,包括如下步骤:
S1、所述对接配置控制台下发对接配置信息给配置Agent服务器;
S2、所述对接配置控制台下发对接推送命令给命令解析服务器;
S3、所述命令解析服务器将所述对接推送命令统一包装成对接执行运行态能够识别的对接命令,然后将所述对接命令发送给对接执行运行态单元;
S4、所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统。
5.根据权利要求4所述的一种数据对接方法,其特征在于,S1中,所述配置Agent服务器接收到所述对接配置信息以后,对所述对接配置信息进行验证,并按照对接协议的不同以及映射字段的不同,将验证后的对接配置信息动态编译为相应的数据对接执行动态库以及数据映射动态库。
6.根据权利要求4所述的一种数据对接方法,其特征在于,S3中,所述对接执行运行态单元在接收对接命令之前,所述对接命令会通过限流网关进行传输。
7.根据权利要求5所述的一种数据对接方法,其特征在于,S4中,所述对接执行运行态单元对接收到的对接命令进行处理,并将处理后得到的数据推送给对方系统的具体步骤为:
S4.1、所述配置丰富节点拉取对接命令,并动态查询对接配置信息中的对方系统连接配置信息,将连接配置信息丰富到所述对接命令的configId字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.2、判断S4.1是否操作成功;若成功,则记录对接命令中的status字段为success,否则为failed;
S4.3、通知数据丰富节点拉取所述配置丰富节点操作成功的对接命令,同时所述配置丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.4、所述数据丰富节点拉取所述配置丰富节点存储在存储表的存储节点的对接命令,根据身份类型的不同动态查询业务数据,将业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.5、判断S4.4是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.6、通知数据映射节点拉取所述数据丰富节点操作成功的对接命令,同时所述数据丰富节点继续定时拉取操作失败的数据进行重试操作;
S4.7、所述数据映射节点拉取所述数据丰富节点存储在存储表的存储节点的对接命令,根据字段类型的不同动态调用字段映射动态库,执行数据结构的映射,将映射好的业务数据信息丰富到对接命令的objectValue字段中,然后将丰富后的对接命令存储到数据库的存储表中;
S4.8、判断S4.7是否操作成功,若操作成功,则记录对接命令中的status字段为success,否则为failed;
S4.9、通知对接执行下发节点拉取数据映射节点操作成功的对接命令,同时数据映射节点继续定时拉取操作失败的数据进行重试操作;
S4.10、所述对接执行下发节点拉取所述数据映射节点存储在存储表的存储节点的对接命令,根据对方系统协议类型的不同动态获取对接推送执行动态库,并将对接命令和推送执行动态库下发给对接推送执行节点;
S4.11、所述对接推送执行节点获取对接命令中的业务数据以及连接配置信息,调用推送执行动态库将数据推送到对方系统;若出现失败系统,则将失败系统的数据推送至故障隔离线程池中,以减少对正常对接推送的影响。
8.根据权利要求7所述的一种数据对接方法,其特征在于,所述故障隔离线程池用于存储S4.4中状态报错的对接命令。
9.根据权利要求7所述的一种数据对接方法,其特征在于,动态调用是通过动态依赖库动态加载的方式进行的。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有执行如权利要求4至9中任一所述的数据对接方法的步骤。
CN202111165851.8A 2021-09-30 2021-09-30 一种数据对接系统、方法和计算机可读存储介质 Active CN113835786B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165851.8A CN113835786B (zh) 2021-09-30 2021-09-30 一种数据对接系统、方法和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111165851.8A CN113835786B (zh) 2021-09-30 2021-09-30 一种数据对接系统、方法和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113835786A true CN113835786A (zh) 2021-12-24
CN113835786B CN113835786B (zh) 2023-04-28

Family

ID=78968128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111165851.8A Active CN113835786B (zh) 2021-09-30 2021-09-30 一种数据对接系统、方法和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113835786B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296741A (zh) * 2021-12-29 2022-04-08 无锡沐创集成电路设计有限公司 命令行执行方法、系统、存储介质及电子设备
CN115291850A (zh) * 2022-08-11 2022-11-04 广州芯德通信科技股份有限公司 基于java语言的自定义交互数据的管理方法、系统、存储介质

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510831A (zh) * 2009-02-25 2009-08-19 南京联创科技股份有限公司 基于流程优化的宽带专线用户全自动开通方法
US20140317364A1 (en) * 2013-04-17 2014-10-23 Dell Products L.P. Systems and methods for data backup
CN105376158A (zh) * 2015-10-12 2016-03-02 上海斐讯数据通信技术有限公司 基于mpls报文中exp值的sdn流转方法及其装置
US20160162035A1 (en) * 2013-02-06 2016-06-09 Analogix Semiconductor, Inc. Remote Controller for Controlling Mobile Device
US20160173678A1 (en) * 2014-12-15 2016-06-16 Targus Group International, Inc. Power and data adapter
CN106067851A (zh) * 2016-05-25 2016-11-02 深圳时瑞鸿科技有限公司 动态配置物联网连接的方法与装置
CN106357884A (zh) * 2016-08-25 2017-01-25 广安欧奇仕电子科技有限公司 一种实现平板电脑与手机交互的方法
CN107357243A (zh) * 2017-06-26 2017-11-17 苏州健雄职业技术学院 基于云端数据监控的污水处理系统
CN107528728A (zh) * 2017-08-23 2017-12-29 绵阳美菱软件技术有限公司 一种获取用户体验数据的方法及装置
US20180006886A1 (en) * 2016-06-29 2018-01-04 International Business Machines Corporation Automatically tuning middleware in a mobilefirst platform running in a docker container infrastructure
CN107864218A (zh) * 2017-11-22 2018-03-30 安徽伊尔思环境科技有限公司 一种环境测评大数据建设专用云存储系统
CN107943733A (zh) * 2017-12-05 2018-04-20 安徽皖通邮电股份有限公司 一种单板间并行总线的互联方法
CN108202683A (zh) * 2016-12-19 2018-06-26 深圳前海明磊融创科技有限公司 车辆运行状态监测方法和装置
CN108377228A (zh) * 2018-01-18 2018-08-07 网易(杭州)网络有限公司 一种权限管理方法及装置、服务器
US20180285234A1 (en) * 2017-03-31 2018-10-04 Commvault Systems, Inc. Management of internet of things devices
CN109240102A (zh) * 2018-09-26 2019-01-18 东莞方凡智能科技有限公司 智能家居环境管控系统
CN109343625A (zh) * 2018-11-26 2019-02-15 广州优里贸易有限公司 一种实时无线控制温湿度的智能家居
CN109358522A (zh) * 2018-11-23 2019-02-19 徐凤林 一种基于云计算与大数据的智能家居控制方法及装置
CN109739192A (zh) * 2018-12-29 2019-05-10 广州远联物流服务有限公司 一种智能物流系统下的控制方法及系统
CN109842498A (zh) * 2017-11-24 2019-06-04 阿里巴巴集团控股有限公司 一种客户端配置方法、服务器、客户端及电子设备
CN110019517A (zh) * 2017-11-14 2019-07-16 顺丰科技有限公司 一种数据库中间件动态配置方法、系统、设备、存储介质
US20190241375A1 (en) * 2018-02-02 2019-08-08 HighRes Biosolutions, Inc. Robotic processing system
CN110658759A (zh) * 2019-09-25 2020-01-07 上海众壹云计算科技有限公司 一种可动态部署ai模型的工业智能控制器
CN110765102A (zh) * 2019-09-25 2020-02-07 苏宁云计算有限公司 业务数据的处理方法、装置、计算机设备和存储介质
CN110764871A (zh) * 2019-10-11 2020-02-07 中国人民解放军战略支援部队信息工程大学 一种基于云平台的拟态化应用封装与控制系统和方法
CN110930975A (zh) * 2018-08-31 2020-03-27 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
CN111010367A (zh) * 2019-11-07 2020-04-14 深圳市电子商务安全证书管理有限公司 数据存证方法、装置、计算机设备和存储介质
CN111126589A (zh) * 2019-12-31 2020-05-08 北京百度网讯科技有限公司 神经网络数据处理装置、方法和电子设备
CN111624965A (zh) * 2020-05-28 2020-09-04 青岛铁木真软件技术有限公司 一种工业智能制造的组态系统
CN111694888A (zh) * 2020-06-12 2020-09-22 谷云科技(广州)有限责任公司 基于微服务架构的分布式etl数据交换系统及方法
CN111950004A (zh) * 2020-08-05 2020-11-17 珠海格力电器股份有限公司 基于联盟链的设备数据获取方法、设备数据系统
CN112510819A (zh) * 2020-11-05 2021-03-16 国网山东省电力公司阳信县供电公司 一种电力网络运行数据监控系统
CN112667350A (zh) * 2020-12-23 2021-04-16 广州三七互娱科技有限公司 配置调度方法、装置及系统
CN113032379A (zh) * 2021-03-16 2021-06-25 广东电网有限责任公司广州供电局 面向配网运检多源数据采集的方法

Patent Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510831A (zh) * 2009-02-25 2009-08-19 南京联创科技股份有限公司 基于流程优化的宽带专线用户全自动开通方法
US20160162035A1 (en) * 2013-02-06 2016-06-09 Analogix Semiconductor, Inc. Remote Controller for Controlling Mobile Device
US20140317364A1 (en) * 2013-04-17 2014-10-23 Dell Products L.P. Systems and methods for data backup
EP3234729A1 (en) * 2014-12-15 2017-10-25 Targus International LLC Power and data adapter
US20160173678A1 (en) * 2014-12-15 2016-06-16 Targus Group International, Inc. Power and data adapter
EP3234729A4 (en) * 2014-12-15 2018-08-08 Targus International LLC Power and data adapter
CN105376158A (zh) * 2015-10-12 2016-03-02 上海斐讯数据通信技术有限公司 基于mpls报文中exp值的sdn流转方法及其装置
CN106067851A (zh) * 2016-05-25 2016-11-02 深圳时瑞鸿科技有限公司 动态配置物联网连接的方法与装置
US20180006886A1 (en) * 2016-06-29 2018-01-04 International Business Machines Corporation Automatically tuning middleware in a mobilefirst platform running in a docker container infrastructure
CN106357884A (zh) * 2016-08-25 2017-01-25 广安欧奇仕电子科技有限公司 一种实现平板电脑与手机交互的方法
CN108202683A (zh) * 2016-12-19 2018-06-26 深圳前海明磊融创科技有限公司 车辆运行状态监测方法和装置
US20180285234A1 (en) * 2017-03-31 2018-10-04 Commvault Systems, Inc. Management of internet of things devices
US20200210313A1 (en) * 2017-03-31 2020-07-02 Commvault Systems, Inc. Management of internet of things devices
CN107357243A (zh) * 2017-06-26 2017-11-17 苏州健雄职业技术学院 基于云端数据监控的污水处理系统
CN107528728A (zh) * 2017-08-23 2017-12-29 绵阳美菱软件技术有限公司 一种获取用户体验数据的方法及装置
CN110019517A (zh) * 2017-11-14 2019-07-16 顺丰科技有限公司 一种数据库中间件动态配置方法、系统、设备、存储介质
CN107864218A (zh) * 2017-11-22 2018-03-30 安徽伊尔思环境科技有限公司 一种环境测评大数据建设专用云存储系统
CN109842498A (zh) * 2017-11-24 2019-06-04 阿里巴巴集团控股有限公司 一种客户端配置方法、服务器、客户端及电子设备
CN107943733A (zh) * 2017-12-05 2018-04-20 安徽皖通邮电股份有限公司 一种单板间并行总线的互联方法
CN108377228A (zh) * 2018-01-18 2018-08-07 网易(杭州)网络有限公司 一种权限管理方法及装置、服务器
US20190241375A1 (en) * 2018-02-02 2019-08-08 HighRes Biosolutions, Inc. Robotic processing system
EP3746381A1 (en) * 2018-02-02 2020-12-09 HighRes Biosolutions, Inc. Robotic processing system
CN110930975A (zh) * 2018-08-31 2020-03-27 百度在线网络技术(北京)有限公司 用于输出信息的方法和装置
CN109240102A (zh) * 2018-09-26 2019-01-18 东莞方凡智能科技有限公司 智能家居环境管控系统
CN109358522A (zh) * 2018-11-23 2019-02-19 徐凤林 一种基于云计算与大数据的智能家居控制方法及装置
CN109343625A (zh) * 2018-11-26 2019-02-15 广州优里贸易有限公司 一种实时无线控制温湿度的智能家居
CN109739192A (zh) * 2018-12-29 2019-05-10 广州远联物流服务有限公司 一种智能物流系统下的控制方法及系统
CN110658759A (zh) * 2019-09-25 2020-01-07 上海众壹云计算科技有限公司 一种可动态部署ai模型的工业智能控制器
CN110765102A (zh) * 2019-09-25 2020-02-07 苏宁云计算有限公司 业务数据的处理方法、装置、计算机设备和存储介质
CN110764871A (zh) * 2019-10-11 2020-02-07 中国人民解放军战略支援部队信息工程大学 一种基于云平台的拟态化应用封装与控制系统和方法
CN111010367A (zh) * 2019-11-07 2020-04-14 深圳市电子商务安全证书管理有限公司 数据存证方法、装置、计算机设备和存储介质
CN111126589A (zh) * 2019-12-31 2020-05-08 北京百度网讯科技有限公司 神经网络数据处理装置、方法和电子设备
CN111624965A (zh) * 2020-05-28 2020-09-04 青岛铁木真软件技术有限公司 一种工业智能制造的组态系统
CN111694888A (zh) * 2020-06-12 2020-09-22 谷云科技(广州)有限责任公司 基于微服务架构的分布式etl数据交换系统及方法
CN111950004A (zh) * 2020-08-05 2020-11-17 珠海格力电器股份有限公司 基于联盟链的设备数据获取方法、设备数据系统
CN112510819A (zh) * 2020-11-05 2021-03-16 国网山东省电力公司阳信县供电公司 一种电力网络运行数据监控系统
CN112667350A (zh) * 2020-12-23 2021-04-16 广州三七互娱科技有限公司 配置调度方法、装置及系统
CN113032379A (zh) * 2021-03-16 2021-06-25 广东电网有限责任公司广州供电局 面向配网运检多源数据采集的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296741A (zh) * 2021-12-29 2022-04-08 无锡沐创集成电路设计有限公司 命令行执行方法、系统、存储介质及电子设备
CN115291850A (zh) * 2022-08-11 2022-11-04 广州芯德通信科技股份有限公司 基于java语言的自定义交互数据的管理方法、系统、存储介质
CN115291850B (zh) * 2022-08-11 2023-03-07 广州芯德通信科技股份有限公司 基于java语言的自定义交互数据的管理方法、系统、存储介质

Also Published As

Publication number Publication date
CN113835786B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US6546413B1 (en) Access-method-independent exchange using a communication primitive
US9329983B2 (en) Computer program testing
US6983400B2 (en) Distributed test harness model
US9442822B2 (en) Providing a visual representation of a sub-set of a visual program
US7827438B2 (en) Distributed testing system and techniques
US11048572B2 (en) System and method for failure management using distributed execution traces
US20030055809A1 (en) Methods, systems, and articles of manufacture for efficient log record access
CN100461130C (zh) 测试软件应用的方法
CN113835786B (zh) 一种数据对接系统、方法和计算机可读存储介质
CN109325016B (zh) 数据迁移方法、装置、介质及电子设备
US8589381B2 (en) Resource management program, resource management process, and resource management apparatus
CN108496157B (zh) 使用扩展接口提供运行时跟踪的系统和方法
US6615250B1 (en) Agent for communication between a manager and at least one resource of a data processing system
CN116097226A (zh) 用于将故障注入分布式系统的装置和方法
CN111741102A (zh) 分布式微服务应用的升级方法及装置
CN112448854B (zh) 一种kubernetes复杂网络策略系统及其实现方法
Lovrek et al. Improving software maintenance by using agent-based remote maintenance shell
CN116069744A (zh) 数据处理方法、装置、设备、存储介质及产品
WO2017124726A1 (zh) 一种北向文件生成的方法、装置及系统
CN110113189B (zh) 发布系统出错节点的定位方法及装置
Chen A pilot study of cross-system failures
CN116991687A (zh) 数据记录方法、装置、设备及介质
Marzouk et al. A serialization based approach for strong mobility of shared object
CN117762495A (zh) 一种基于Kafka实现高并发高可用的异步命令处理方法
CN117009184A (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