创建实时分发

创建实时分发

实时分发是指主数据新增或变更数据后及时同步到其他业务系统。

1.概述

本章节我们通过将机构模型主数据分发给单点系统来讲解如何完成主数据的实时分发。

创建实时分发

2.创建实时分发

2.1接口分发方式

1)新建接口数据源

当使用接口分发方式时,需要先将第三方系统的接口配置成接口数据源,本次的操作是将机构主数据分发给单点系统,那么此处的接口数据源为单点系统接收主数据的接口,在【数据集成】->【数据源】->【接口数据源】模块,点击新建,在弹出的对话框中填写接口名称、地址、请求类型、格式、目标编码、参数设置等。

创建实时分发

创建实时分发

下一步,设置映射关系,用于将接口的返回数据结构化,便于后续固化成主题表。这里,我们用不到此功能,按默认进行设置即可。映射关系使用自动映射,在数据结构树中勾选字段。

创建实时分发

下一步,点击确定完成接口数据源的新建。

创建实时分发

2)新建实时分发任务

在【主数据分发】->【机构模型】->【分发配置】下,点击【新建】进入分发任务配置界面。

创建实时分发

在分发任务配置界面输入任务标题、重试次数、等待时间、分发方式选择接口,其中重试次数、等待时间等可根据实际要求进行调整。

创建实时分发

下一步,进入接口分发任务流程设计页面。

创建实时分发

现在我们要实现机构主数据基本信息视图的实时数据推送到单点系统的接口中,并获取接口返回信息,记录到数据库表中(包括分发时间、分发的json串、返回状态、详情等),且如果返回状态为数据写入失败,则将此分发任务设置为执行失败。

这里,系统会默认给出前三步的设计:

第一步,将机构主数据的基本信息视图作为表输入

14创建实时分发630

创建实时分发

第二步,过滤出实时数据

14创建实时分发647

创建实时分发

过滤条件中的参数sysId由系统自动赋值,系统会将新增或变更了的主数据ID传递进来。

第三步,按要求格式生成json串

14创建实时分发712

组件“JSON生成5”需要根据实际需求进行配置。本例中单点系统接口要求的请求体格式如下:

{

"JG_XXB": [{

"DWBM":"000201",

"DWMC": "BBBB有限责任公司上海分公司",

"DWJC": "",

"DWLX": "0",

"DWXZ":"",

"SFFRGS": "",

"SFSSGS":"",

"DH": "010-2324334",

"SYS_ID_":"6ecb9a3e8dee44b29800f62870d993d2",

"SYS_ORIGINAL_": "manual input",

"SYS_STATE_":"21",

"SYS_CREATOR_":"admin",

"SYS_CREATEDATE_":"2021-12-06 11:25:52",

"SYS_MENDER_": "admin",

"SYS_MODIFYDATE_": "2021-12-10 17:35:35",

"SJDWBM":"0002"

}]

}

其中,加粗字体部分为字段名,蓝色字体部分为具体的字段值。

下面我们来设置json生成组件,使其输出上面格式的字符串。

双击组件“JSON生成5”,在弹出的设置对话框中设置【输出类型】为字段,【字段名】为resultStr,此字段用于存储生成的json串,可任意取名。

创建实时分发

切换到JSON设置,按照上面请求体结构完成JSON设置。

创建实时分发

第4步,调用第三方系统接口发送数据

添加HTTP接口组件。

创建实时分发

双击添加的组件打开到设置对话框,在接口设置页签中选择前面新建的接口数据源,然后下面的参数会默认带过来,还得增加一个请求体参数,参数名称为空,参数值为前面json生成组件的输出字段resultStr。

创建实时分发

注:接口设置这里要根据实际调用的接口进行调整。本例中的接口没有Header。

切换到输出字段页签,通过【拾取】添加resultStr作为输出字段,COL_是系统自带的字段,存放的是接口的返回数据。

创建实时分发

第5步,使用JSON解析组件将接口的返回数据结构化、字段化

本例中调用的接口的返回JSON如下:

{

"status": 200,

"data": {

"status": "success",

"msg": "成功",

"result": "ba4bf1dc53b14ec2ad7f77996b971da4"

}

}

其中:

属性status为操作状态,值fail表示写入数据失败,值success表示写入数据成功;

属性msg为详情信息;

属性result为写入的数据ID,当写入数据成功时此属性才有值。

添加JSON解析组件,设置【JSON来源】为输入字段,【字段】为COL_,【父级属性名】为data,data为接口返回JSON中的属性名。

创建实时分发

切换到字段列表页签,【拾取】前一个组件输出的COL_、resultStr字段,并【新增】status、msg和result字段,这3字段分别对应返回JSON中的属性status、msg、result。

创建实时分发

创建实时分发

并设置字段msg的字段类型为大字段,因为其值的长度可能很大,字符型存储不下。

创建实时分发

第六步,使用表达式组件处理字段

添加表达式组件,表达式组件默认会取上一个组件的输出字段。删除不要的字段COL_,新增sysdate_字段,取当前系统时间,函数today()用于取系统当期时间。

创建实时分发

创建实时分发

并将字段msg截取后转成字符串,其表达式为ASSTR(LEFT(JsonParsing1.msg,3000))

创建实时分发

第七步,将日志数据输出到库表

添加表输出组件。在【选择表】中输入表名,并勾选上【不存在则创建】,那么每次接口返回的日志信息将插入到这张日志表中。

创建实时分发

第八步,根据接口返回的操作状态重置分发任务状态

添加校验组件,设置校验规则,字段status=’success’则校验成功,否则校验失败(即数据写入失败),且分发任务执行失败。这样,通过分发任务的运行状态就能知道接口的执行状态了。

创建实时分发

最后,删除多余的表输入组件“股东信息”后点击【完成】即可。

创建实时分发

这样,当机构主数据发生了新增或变更时会自动执行此分发任务,将新增或变更的数据发送给第三方系统。

3)运行调试

实时分发任务由系统自动执行,不过也可以手动执行。在任务编辑界面,点击【运行】,在弹出的对话框中输入模型id和主数据id后,点击【确定】,开始执行。

创建实时分发

模型id可在【主数据模型】模块查看。

创建实时分发

主数据id,需打开到视图管理页面,点击基本信息视图对应的数据库表名,进入到数据库管理页面。

创建实时分发

字段SYS_ID_对应的值即为主数据id值。

创建实时分发

当分发任务执行有误时,可逐步调试,具体操作方法如下。

在想要预览结果的组件上右键,选择“运行到”并在弹出窗口点确认,分发任务就会只执行到选择的组件。例如,选择执行到“JSON生成5”,如下图所示。

创建实时分发

创建实时分发

14创建实时分发2820表示已经执行过的组件,14创建实时分发2832表示当前运行到的组件,14创建实时分发2844表示还未执行的组件。菜单栏中14创建实时分发2859继续执行剩余全部组件,14创建实时分发2871停止当前执行。

选择已经执行或当前运行到的组件,右键,点击“预览数据”可预览当前处理逻辑的执行结果。可查看当前生成的SQL和结果是否符合需求。

创建实时分发

创建实时分发

2.2库表分发方式

1)新建数据库连接池

当使用库表分发方式时,需要先配置目标系统的数据库连接池,本次的操作是将机构主数据分发给单点系统,那么此处的数据源为单点系统的数据库连接池,在【数据集成】->【数据源】->【连接池管理】模块,点击新建,录入单点系统的连接池信息,测试连接成功后,点击确定即可保存连接池信息。

创建实时分发

2)新建实时分发任务

在【主数据分发】->【机构模型】->【分发配置】下,点击【新建】进入分发任务配置界面。

创建实时分发

在分发任务配置界面输入任务标题、重试次数、等待时间、分发方式选择库表,其中重试次数、等待时间可根据实际要求进行调整。

创建实时分发

点击下一步,进入库表分发任务流程设计页面。

创建实时分发

现在我们要实现机构主数据的基本信息视图的数据推送到单点系统的库表中,那么我们只需要删除“股东信息”表输入组件,然后“基本信息”表输入组件和过滤组件使用系统默认,不做修改,在表输出组件中选择单点系统的目标表,并设置源表与目标表之间的映射关系。

创建实时分发创建实时分发

配置完成后点击【完成】即可。

创建实时分发

如果数据分发时还需要做一些清洗转换等,可自行添加组件完成相应处理后再输出到表输出组件。

3.监控实时分发

在【主数据维护】模块维护主数据后,每条维护过的主数据可以进行实时分发,每条数据是否分发成功可以在分发监控页面查看,并可查看到数据详情、日志详情,对于分发失败的数据可以重新分发。

3.1维护主数据

在【主数据维护】->【机构】->【主数据申请】->【申请】,录入一条机构信息,然后提交数据。

创建实时分发

如果机构主数据的维护设置了审批流程,该条数据审批通过后才能查看分发监控信息。

创建实时分发

3.2查看分发监控

在分发监控页面可以查看到该条机构数据分发到单点系统已经成功的记录。

创建实时分发

点击【数据详情】,可查看到刚刚申请的机构主数据详细的信息。

创建实时分发

点击【日志详情】,可以查看到数据处理的详细过程。

创建实时分发

点击【…】中的【接口日志】,可查看到接口日志的详细信息。

创建实时分发

点击【重新分发】,可将该条主数据进行重新分发。

创建实时分发

附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇了解主数据分发

下一篇制作主数据门户

请先登录