1、(10)申请公布号 CN 102938731 A (43)申请公布日 2013.02.20 C N 1 0 2 9 3 8 7 3 1 A *CN102938731A* (21)申请号 201210477829.1 (22)申请日 2012.11.22 H04L 12/70(2013.01) H04L 29/06(2006.01) (71)申请人北京锐易特软件技术有限公司 地址 100083 北京市海淀区学院路30号科 大天工大厦B座6层03-07室 (72)发明人李轶强 马国耀 蔡军 贾存库 赵景阳 (74)专利代理机构沈阳东大专利代理有限公司 21109 代理人梁焱 (54) 发明名称 一
2、种基于代理缓存适配模型的交换集成装置 及方法 (57) 摘要 一种基于代理缓存适配模型的交换集成装置 及方法,涉及数据和应用集成领域。装置包括消 息适配单元、消息缓存单元和消息代理单元,其中 消息适配单元由协议转换模块和数据抽取模块组 成;消息缓存单元由持久化配置模块和元数据管 理模块组成;消息代理单元由路由配置模块、消 息代理模块、事件配置模块、消息队列管理模块组 成。本发明装置及方法的运用使数据和应用集成 过程解耦,简化服务构建难度,降低构建成本,提 高设备间交互消息的有效性,无需对消息体内数 据进行二次封装和业务化;本发明装置可以收敛 各类不同的应用设备,对网络中各种应用设备间 交互的消
3、息进行规范化处理后提供给相关设备, 屏蔽了网络中消息多样化的问题,简化了网络规 划复杂度。 (51)Int.Cl. 权利要求书3页 说明书10页 附图11页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 10 页 附图 11 页 1/3页 2 1.一种基于代理缓存适配模型的交换集成装置,其特征在于:包括: 消息适配单元:用于接受和处理来自异构应用系统或数据资源的多样化消息,并实现 对上述多样化消息格式的标准化转换; 消息缓存单元:用于定义和缓存来自消息适配单元抽取得到的应用数据,并将该应用 数据与消息代理单元请求的业务数据模型结构进行映射,在消息缓存单
4、元中设置有用于为 数据的业务语义化提供数据模型支撑的元数据模型; 消息代理单元:是与外部设备交互的核心模块,实现数据调取管理、任务触发和数据交 换模式管理,用于对所述消息缓存单元内应用数据进行业务语义转换并以指定格式交付数 据,支持多种协议以及多通道数据交换,实现一对一或多对多的数据交换、消息的订阅发布 模式设置、消息同步或异步方式交换,并对消息体类型及交互策略进行配置管理; 其中,所述的消息适配单元由协议转换模块和数据抽取模块组成; 数据抽取模块:根据数据抽取业务的条件约束来指定数据抽取方式和抽取流程,进而 获取异构应用系统或数据资源中的原始数据,获取的原始数据以对象的形式暂存,在需 要根据
5、数据资源进行协议转换情况下,数据抽取模块在协议转换模块的支持下进行数据抽 取,为数据交换提供原数据支撑; 协议转换模块:用于与异构应用系统或数据资源交互过程中适配不同类型的应用消息 协议格式,并将不同协议格式转换成统一的预定义格式,以便设备内部各个模块间进行数 据交互; 所述的消息缓存单元由持久化配置模块和元数据管理模块组成; 元数据管理模块:用于定义不同粒度的数据模型,数据抽取模块获得的数据按不同粒 度的数据模型来存放,元数据管理模块对上述数据模型进行维护管理,并对业务模型匹配 映射提供基于粒度的数据模型支持; 持久化配置模块:用来配置数据持久化策略及与元数据管理模块交互,封装和定义不 同业
6、务粒度的元数据模型,并对元数据管理模块中定义的元数据模型进行持久化操作; 所述的消息代理单元由路由配置模块、消息代理模块、事件配置模块、消息队列管理模 块组成; 路由配置模块:用于配置路由配置表信息及路由逻辑策略,实现在数据交换过程中,数 据能够智能路由到指定的服务器端; 事件配置模块:用于配置任务触发策略,配置信息用于与中心业务平台或中心数据库 进行数据交换时的方式和方法的定制信息,事件配置模块在进行数据上传事件触发前,需 要从路由配置模块获取上传目标的路由表信息,并根据路由配置模块提供的路由的逻辑来 进行数据上传; 消息代理模块:用于与事件配置模块交互,获取业务事件触发规则来对中心业务平台
7、 或中心数据库上报业务数据,实现消息订阅发布模式执行策略的配置及触发,同时定义同 步或异步方式来进行数据交换;消息代理模块与消息缓存单元的持久化配置模块交互,获 取业务数据消息模型并将应用数据进行封装;消息代理模块与消息适配单元的协议转换模 块交互,根据业务定义要求动态地调取异构应用系统或数据资源的数据信息;消息代理单 元与消息队列管理模块相连通,根据业务数据发送要求,来实现通过消息通道的方式进行 数据上传; 权 利 要 求 书CN 102938731 A 2/3页 3 消息队列管理模块:用于保存用于发送给中心业务平台或中心数据库的消息体,每个 消息体根据消息代理模块设计的数据交换策略来传递消
8、息,并在数据交换前检查网络环境 稳定情况,在消息可达的情况下发送消息,否则放置在消息队列中等待; 所述的路由配置模块与消息代理模块结合来实现消息的一对一或多对多方式发送,并 为发布订阅模式及同步异步数据交换模式提供功能支持。 2.根据权利要求1所述的基于代理缓存适配模型的交换集成装置,其特征在于:所述 的异构应用系统或数据资源是指多个系统或数据资源的集合,且该集合中系统与系统彼此 间的数据格式或接口协议不同,且彼此间不直接连通。 3.一种由异构应用系统或数据资源上传数据给中心业务平台或中心数据库的方法,采 用权利要求1所述的基于代理缓存适配模型的交换集成装置实现,其特征在于: 包括以下步骤:
9、步骤1:消息适配单元从异构应用系统或数据资源中抽取数据,并将数据转换成预定 义格式数据; 步骤1-1:消息适配单元的协议转换模块根据数据源消息类型来配置消息适配模板; 步骤1-2:协议转换模块将数据进行统一化处理,即转换为预定义格式的消息; 步骤1-3:数据抽取模块将预定义格式数据发送到消息缓存单元; 步骤2:消息缓存单元根据存储需求或步骤1生成的预定义格式数据; 步骤2-1:根据持久化配置要求,元数据管理模块获取消息适配单元发送的预定义格 式数据后,进行数据粒度切分及封装;所述的数据粒度切分使用两种形式的数据切分策略, 即业务定制数据切分和通用数据封装,所述的业务定制数据切分是指将经过消息适
10、配单元 获取的应用资源数据按照业务对象来切分成对象间依赖程度最低的元数据模型,即将异构 系统或数据资源获取的多样的数据结构和属性类型切分并规约成元数据模型中定义的数 据模型、高内聚的元数据模型集,通用数据封装策略是指直接将数据抽取模块获得的数据 统一记录为XML文件,存入XML数据队列,其中XML数据中标签元素通过预定制的方式存入 元数据管理模块; 步骤2-2:对封装后的元数据进行持久化操作; 步骤3:消息代理单元对预定义格式的数据进行业务语义转换,按照预置的标准传输 协议或消息中间件将数据上传到中心业务平台或加载到中心数据库; 步骤3-1:消息代理单元对消息缓存单元中的元数据模型进行业务化语
11、义转换,该语 义转换过程基于业务模型模板来进行,所述的业务模型模板是用于进行业务语义转换的模 型模板,该模板定义了业务语义转换的约束条件,在进行数据转换过程中引用该模板来进 行业务语义约束和转换; 步骤3-2:根据发送数据的具体消息格式来配置协议转换模块,对消息代理单元上传 的消息格式进行协议转换; 步骤3-3:根据路由配置模块中的访问控制列表及路由逻辑来对上传数据进行路由选 择; 步骤3-4、根据事件配置模块的任务配置条件来为中心数据库或中心业务平台通过消 息队列或调用对方接口方式推送数据,或以提供接口的方式供中心业务平台或中心数据库 调用数据服务,所述的任务配置条件包括服务调用方式触发任务
12、、定时触发任务和配置触 权 利 要 求 书CN 102938731 A 3/3页 4 发规则触发任务。 4.一种由中心业务平台或中心数据库下传数据到异构应用系统或数据资源的方法,采 用权利要求1所述的基于代理缓存适配模型的交换集成装置实现,其特征在于: 包括以下步骤: 步骤4:消息代理单元获取中心业务平台或中心数据库的下传数据请求和下传数据 内容; 步骤4-1:消息代理单元获取中心业务平台或中心数据库下传数据请求; 步骤4-2:消息代理单元按照预置的标准协议或消息中间件获取下传数据内容; 步骤4-3:消息代理对下传请求进行解析,根据下传请求内容将下传数据进行分拆处 理,分拆为不同的数据包,并为
13、数据包指定发送目标地址; 步骤4-4:消息代理将分拆的数据发送给指定的消息适配单元; 步骤5:消息适配单元将数据进行消息格式转换并发送给应用系统或数据源; 步骤5-1:消息适配单元获得数据包后将其转换为预定义的消息格式; 步骤5-2、消息适配单元将数据包发送给异构应用系统或数据源。 5.根据权利要求3 所述的由异构应用系统或数据资源上传数据给中心业务平台或中 心数据库的方法,其特征在于:步骤3所述的预置的标准传输协议包括: java消息服务 JMS、超文本传输协议Http、简单对象访问协议SOAP和套接字Socket。 6.根据权利要求3所述的由异构应用系统或数据资源上传数据给中心业务平台或中
14、 心数据库的方法,其特征在于:步骤3所述的消息中间件为消息队列Message Queue。 权 利 要 求 书CN 102938731 A 1/10页 5 一种基于代理缓存适配模型的交换集成装置及方法 技术领域 0001 本发明涉及数据和应用集成领域,涉及一种对异构应用系统及数据源的抽取、转 换及利用的交换集成前置设备,特别涉及一种基于代理缓存适配模型的交换集成装置及方 法。 背景技术 0002 0002 在数据和应用交换集成系统中,前置设备需要解决实际应用中不同消息 格式和不同通信交互协议的问题。由于应用中协议及消息格式的多样化,通常无法在一台 设备中灵活地配置多种消息访问协议,也无法统一获
15、取异构系统中的数据内容。因此,需要 一种交换集成中间设备,可以有效整合多种异构的应用和数据源并统一其多种通信协议格 式。而且,在抽取应用系统或数据源中的数据后,能对抽取的数据体内容进行有效地映射和 管理,为业务行为提供最为有效的数据支持。同时,根据对交付业务数据的特点灵活地将该 数据内容暴露成需要的消息格式。 0003 目前,现存的前置设备中支持多消息协议的访问和通信接口,但在设备中并未对 消息内容进行有效管理和转换;此外,在实际的环境中要求实时数据上传,这就要求整个前 置设备必须要有较大的带宽和吞吐量;最后,应用系统或数据源中的原始数据并不是对业 务请求端直接有效,需要对它进行进一步加工处理
16、。 发明内容 0004 针对现有技术的不足,本发明的目的是提供一种基于代理缓存适配模型的数据交 换集成装置及方法,有效实现异构系统间数据交互及数据整合,提升交互数据效用。 0005 本发明的技术方案如下: 一种基于代理缓存适配模型的交换集成装置,包括: 消息适配单元:用于接受和处理来自异构应用系统或数据资源的多样化消息,并实现 对对上述多样化消息格式的标准化转换; 消息缓存单元:用于定义和缓存来自消息适配单元抽取得到的应用数据,并将该应用 数据与消息代理单元请求的业务数据模型结构进行映射,在消息缓存单元中设置有用于为 数据的业务语义化提供数据模型支撑的元数据模型; 消息代理单元:是与外部设备交
17、互的核心模块,实现数据调取管理、任务触发和数据交 换模式管理,用于对所述消息缓存单元内应用数据进行业务语义转换并以指定格式交付数 据,支持多种协议以及多通道数据交换,实现一对一或多对多的数据交换、消息的订阅发布 模式设置、消息同步或异步方式交换,并对消息体类型及交互策略进行配置管理; 其中,所述的消息适配单元由协议转换模块和数据抽取模块组成; 数据抽取模块:根据数据抽取业务的条件约束来指定数据抽取方式和抽取流程,进而 获取异构应用系统或数据资源中的原始数据,获取的原始数据以对象的形式暂存,在需 要根据数据资源进行协议转换情况下,数据抽取模块在协议转换模块的支持下进行数据抽 说 明 书CN 10
18、2938731 A 2/10页 6 取,为数据交换提供原数据支撑。 0006 协议转换模块:用于与异构应用系统或数据资源交互过程中适配不同类型的应用 消息协议格式,并将不同协议格式转换成统一的预定义格式,以便设备内部各个模块间进 行数据交互。 0007 所述的消息缓存单元由持久化配置模块和元数据管理模块组成; 元数据管理模块:用于定义不同粒度的数据模型,数据抽取模块获得的数据按不同粒 度的数据模型来存放,元数据管理模块对上述数据模型进行维护管理,并对业务模型匹配 映射提供基于粒度的数据模型支持。 0008 持久化配置模块:用来配置数据持久化策略及与元数据管理模块交互,封装和定 义不同业务粒度的
19、元数据模型,并对元数据管理模块中定义的元数据模型进行持久化操 作。 0009 所述的消息代理单元由路由配置模块、消息代理模块、事件配置模块、消息队列管 理模块组成。 0010 路由配置模块:用于配置路由配置表信息及路由逻辑策略,实现在数据交换过程 中,数据能够智能路由到指定的服务器端。 0011 事件配置模块:用于配置任务触发策略,配置信息用于与中心业务平台或中心数 据库进行数据交换时的方式和方法的定制信息,事件配置模块在进行数据上传事件触发 前,需要从路由配置模块获取上传目标的路由表信息,并根据路由配置模块提供的路由的 逻辑来进行数据上传。 0012 消息代理模块:用于与事件配置模块交互,获
20、取业务事件触发规则来对中心业务 平台或中心数据库上报业务数据,实现消息订阅发布模式执行策略的配置及触发,同时定 义同步或异步方式来进行数据交换;消息代理模块与消息缓存单元的持久化配置模块交 互,获取业务数据消息模型并将应用数据进行封装;消息代理模块与消息适配单元的协议 转换模块交互,根据业务定义要求动态地调取异构应用系统或数据资源的数据信息;消息 代理单元与消息队列管理模块相连通,根据业务数据发送要求,来实现通过消息通道的方 式进行数据上传。 0013 消息队列管理模块:用于保存用于发送给中心业务平台或中心数据库的消息体, 每个消息体根据消息代理模块设计的数据交换策略来传递消息,并在数据交换前
21、检查网络 环境稳定情况,在消息可达的情况下发送消息,否则放置在消息队列中等待。 0014 所述的路由配置模块与消息代理模块结合来实现消息的一对一或多对多方式发 送,并为发布订阅模式及同步异步数据交换模式提供功能支持。 0015 所述的异构应用系统或数据资源是指多个系统或数据资源的集合,且该集合中系 统与系统彼此间的数据格式或接口协议不同,且彼此间不直接连通。 0016 一种由异构应用系统或数据资源上传数据给中心业务平台或中心数据库的方法, 采用基于代理缓存适配模型的交换集成装置实现,具体步骤如下: 步骤1:消息适配单元从异构应用系统或数据资源中抽取数据,并将数据转换成预定 义格式数据。 001
22、7 步骤1-1:消息适配单元的协议转换模块根据数据源消息类型来配置消息适配模 板; 说 明 书CN 102938731 A 3/10页 7 步骤1-2:协议转换模块将数据进行统一化处理,即转换为预定义格式的消息; 步骤1-3:数据抽取模块将预定义格式数据发送到消息缓存单元; 步骤2:消息缓存单元根据存储需求或步骤1生成的预定义格式数据。 0018 步骤2-1:根据持久化配置要求,元数据管理模块获取消息适配单元发送的预定 义格式数据后,进行数据粒度切分及封装;所述的数据粒度切分使用两种形式的数据切分 策略,即业务定制数据切分和通用数据封装,所述的业务定制数据切分是指将经过消息适 配单元获取的应用
23、资源数据按照业务对象来切分成对象间依赖程度最低的元数据模型,即 将异构系统或数据资源获取的多样的数据结构和属性类型切分并规约成元数据模型中定 义的数据模型、高内聚的元数据模型集,通用数据封装策略是指直接将数据抽取模块获得 的数据统一记录为XML文件,存入XML数据队列,其中XML数据中标签元素通过预定制的方 式存入元数据管理模块。 0019 步骤2-2:对封装后的元数据进行持久化操作。 0020 步骤3:消息代理单元对预定义格式的数据进行业务语义转换,按照预置的标准 传输协议或消息中间件将数据上传到中心业务平台或加载到中心数据库。 0021 步骤3-1:消息代理单元对消息缓存单元中的元数据模型
24、进行业务化语义转换, 该语义转换过程基于业务模型模板来进行,所述的业务模型模板是用于进行业务语义转换 的模型模板,该模板定义了业务语义转换的约束条件,在进行数据转换过程中引用该模板 来进行业务语义约束和转换; 步骤3-2:根据发送数据的具体消息格式来配置协议转换模块,对消息代理单元上传 的消息格式进行协议转换; 步骤3-3:根据路由配置模块中的访问控制列表及路由逻辑来对上传数据进行路由选 择。 0022 步骤3-4、根据事件配置模块的任务配置条件来为中心数据库或中心业务平台通 过消息队列或调用对方接口方式推送数据,或以提供接口的方式供中心业务平台或中心数 据库调用数据服务,所述的任务配置条件包
25、括服务调用方式触发任务、定时触发任务和配 置触发规则触发任务。 0023 一种由中心业务平台或中心数据库下传数据到异构应用系统或数据资源的方法, 采用基于代理缓存适配模型的交换集成装置实现,具体步骤如下: 步骤4:消息代理单元获取中心业务平台或中心数据库的下传数据请求和下传数据内 容。 0024 步骤4-1:消息代理单元获取中心业务平台或中心数据库下传数据请求; 步骤4-2:消息代理单元按照预置的标准协议或消息中间件获取下传数据内容; 步骤4-3:消息代理对下传请求进行解析,根据下传请求内容将下传数据进行分拆处 理,分拆为不同的数据包,并为数据包指定发送目标地址; 步骤4-4:消息代理将分拆的
26、数据发送给指定的消息适配单元。 0025 步骤5:消息适配单元将数据进行消息格式转换并发送给应用系统或数据源。 0026 步骤5-1:消息适配单元获得数据包后将其转换为预定义的消息格式; 步骤5-2、消息适配单元将数据包发送给异构应用系统或数据源。 0027 步骤3及步骤4-2所述的预置的标准传输协议包括: java消息服务JMS、超文本 说 明 书CN 102938731 A 4/10页 8 传输协议Http、简单对象访问协议SOAP和套接字Socket; 步骤3所述的消息中间件为消息队列Message Queue。 0028 本发明的优点: 1.本发明装置及方法的运用使数据和应用集成过程解
27、耦,简化服务构建难度,降低构 建成本,提高设备间交互消息的有效性,无需对消息体内数据进行二次封装和业务化; 2.本发明装置可以收敛各类不同的应用设备,对网络中各种应用设备间交互的消息进 行规范化处理后提供给相关设备,屏蔽了网络中消息多样化的问题,简化了网络规划复杂 度。 附图说明 0029 图1为本发明一种实施方式基于代理缓存适配模型的交换集成装置的结构框图; 图2为本发明一种实施方式代理缓存适配模型结构示意图; 图3为本发明一种实施方式消息适配单元内部数据抽取及协议转换结构图; 图4为本发明一种实施方式元数据管理模块元数据模型切分策略示意图; 图5为本发明一种实施方式元数据管理模块通用数据封
28、装策略示意图; 图6为本发明一种实施方式消息代理单元内部数据转换及发送结构图; 图7为本发明一种实施方式数据上传步骤流程图; 图8为本发明一种实施方式数据下传步骤流程图; 图9为本发明一种实施方式给出的应用于区域医疗信息系统的交换集成装置的部署 结构示意图; 图10为本发明一种实施方式区域医疗信息系统HIS数据库获取表格示意图; 图11为本发明一种实施方式业务抽取触发执行活动图; 图12为本发明一种实施方式主索引数据抽取执行活动图; 图13为本发明一种实施方式初始化配置信息执行活动图; 图14为本发明一种实施方式获取主索引数据执行活动图; 图15为本发明一种实施方式保存数据执行活动图; 图16
29、为本发明一种实施方式从表数据抽取执行活动图; 图17为本发明一种实施方式从表数据转换执行活动图; 图18为本发明一种实施方式从表保存数据执行活动图; 图19为本发明一种实施方式元数据操作执行活动图; 图20为本发明一种实施方式元数据业务语义转换执行活动图。 0030 具体实施方式 下面结合附图对本发明的实施方式作进一步详细的说明。 0031 本实施方式中基于代理缓存适配模型的交换集成装置,结构框图如图1所示。其 中,代理缓存适配模型英文缩写为BCA,Broker-Cache-Adapter,中文为消息代理单元-消 息适配单元-消息缓存单元。通过BCA模型内,三个单元的协作来实现对异构应用系统/
30、 数据资源的数据集成,以及异构应用系统/数据资源与中心业务平台/中心数据库间的数 据交换。基于代理缓存适配模型的交换集成装置通过消息适配单元,实现对应用系统或数 据资源(是多个系统或数据资源的集合,这个集合中的系统或数据资源在定义成异构应用 说 明 书CN 102938731 A 5/10页 9 系统前已经切实存在,异构应用系统的特点是数据所在的应用系统、数据库管理系统等,彼 此之间数据格式、接口协议等不同,彼此间不直接连通)的数据获取,获得的数据在消息缓 存单元进行元数据模型分解,消息代理单元将元数据进行业务语义转换,并最终以数据任 务的方式交付给中心业务平台或中心数据库。 0032 基于代
31、理缓存适配模型的交换集成装置,包括用于接受和处理来自异构系统或 数据源的多样化消息的消息适配单元;用于定义和缓存来自消息适配单元抽取得到的应 用数据,并将该应用数据与消息代理单元请求的业务数据模型结构进行映射的消息缓存 单元;用于对所述消息缓存单元内应用数据进行业务语义转换并以指定格式交付数据,支 持多种协议以及多通道数据交换,实现一对一或多对多的数据交换、消息的订阅发布模式 设置、消息同步或异步方式交换,并对消息体类型及交互策略进行配置管理的消息代理单 元。其中,消息代理单元与中心业务平台或中心数据库相连,消息适配单元与异构应用系统 或数据资源相连,在内部,消息代理单元与消息适配单元之间可经
32、过消息缓存单元连接,也 可不经过消息缓存单元而直接相连。各模块间的信息交互使用统一的预定义消息格式。 本实施方式中,代理缓存模型的结构如图2所示,消息适配单元由协议转换模块和数 据抽取模块组成。消息适配单元首先通过协议转换模块获取当前异构应用系统和数据资源 的消息协议类型,而在协议配置管理组件中预制了一系列协议配置模板,该模板根据不同 的协议交互特点而构建。协议配置管理组件的功能是维护这些模板,并在具体交互场景中 调取和配置这些模板(如:发现异构应用系统使用的是HTTP消息格式,那么协议配置管理 组件就选择HTTP消息适配模板来获取系统数据),协议转换组件通过协议类型组件获取当 前应用协议类型
33、后,请求协议配置管理组件提供相应的协议模板及初始化配置信息,以供 协议转换组件与应用系统及数据资源间建立信息访问通道。协议转换组件将获取到的应用 系统和数据资源的数据通过预制方法转换成设备内部通用的预定义消息格式(预定义数据 格式,即通过模板等方式进行约束的数据结构,模板预先构建,在数据导入中引用该模板使 得数据格式符合模板约束要求,通常使用XSD或XML格式)。数据抽取模块的调取管理组件 配置任务触发条件,在触发条件下该组件向数据调取组件发送请求,数据调用组件向协议 转换组件调取转换完毕的预定义消息。组件间交互关系如图3所示。 0033 消息缓存单元由持久化配置模块和元数据管理模块组成。其中
34、,元数据管理模块 使用两种形式的数据切分策略,即业务定制数据切分和通用数据封装。业务定制数据切分 将经过协议适配单元获取的应用资源数据按照业务对象来切分成对象间依赖程度最低的 元数据模型。元数据模型内属性单元采用基本数据类,即将企业应用和数据资源内多样的 数据结构和属性类型将被切分并规约成类型为基本类型、高内聚的元数据模型集。结构如 图4所示。通用数据封装策略不需要将数据进行粒度划分,而是统一记录XML文件,存入XML 数据队列。其中XML数据中标签元素通过预定制的方式存入元数据管理模块,如图5所示。 上述两种方式的区别在于:业务定制数据切分方式是与业务紧密相关的,适用于业务模型 稳定的情况;
35、采用基于XML数据格式的通用数据封装方式,用于业务模型变动频繁的情况, 虽然其具有一定的业务灵活性,但其解析效率低于业务定制数据切分方式。 0034 消息代理单元语义转换组件获取元数据管理模块中的元数据模型集,并对其进行 业务语义转换以符合交互时的业务语义规范。上传事务管理组件中定义一系列事务列表, 说 明 书CN 102938731 A 6/10页 10 该事务列表定义了数据上传时间和(或)上传间隔,并根据设定的上传配置信息来完成事务 的触发。路由管理器管理一系列路由地址表,该表记录了上传数据的目的地址及端口信息。 在消息代理模块完成元数据模型语义转换后,消息代理单元开始等待上传事务管理器的
36、上 传触发,如果当前某个上传事务开启,那么消息代理组件会访问路由管理组件来获取当前 上传事务的路由配置信息,并将路由配置及业务数据统一封装成预定义消息,并根据上传 事务管理器中设定的上传方式来选择通过协议转换组件方式上传或是使用消息队列组件 方式上传,组件间交互关系如图6所示。 0035 本实施方式中由异构应用系统或数据资源上传数据给中心业务平台或中心数据 库的方法,如图7所示。该流程开始于步骤701。在步骤702,消息适配单元从异构应用系 统或数据资源中抽取数据,并将数据转换成预定义格式数据。首先,消息适配单元依照应用 消息格式来选择并配置相应的适配器模板,与异构应用系统或数据资源建立通信通
37、道(该 步骤的目的是与异构应用系统和数据资源间建立稳定的消息通信机制),协议转换模块将 数据进行统一化处理,即转换为预定义格式的消息;数据抽取模块将预定义格式数据发送 到消息缓存单元。 0036 在步骤703:消息缓存单元根据需求存储或缓存步骤702生成的预定义格式数据。 具体分为2个步骤:首先根据持久化配置要求,元数据管理模块获取预定义格式数据后,进 行数据粒度切分及封装,其中,数据粒度切分使用两种形式的数据切分策略,即业务定制数 据切分和通用数据封装。其次, 将封装后的元数据进行持久化操作。消息缓存单元抽取异 构应用系统或数据资源中的数据,将获取的数据以对象类的形式进行缓存,缓存过程可以
38、使用基于内存的方式也可以使用持久化到硬盘的方式,对象类是与消息体内数据模型一一 对应的,该步骤的目的是获取完整的应用数据,不考虑业务和粒度因素。 0037 在步骤704:消息代理单元对预定义格式的数据进行业务语义转换,按照预置的 标准传输协议(如JMS/Http/SOAP/Socket,其中,java消息服务JMS,是一个Java平台中关 于面向消息中间件的应用程序接口,用于在两个应用程序之间,或分布式系统中发送消息, 进行异步通信;超文本传输协议Http,是分布式、协作式、超媒体系统应用之间的通信协 议;简单对象访问协议SOAP,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上
39、交换结构化的和固化的信息;套接字Socket,应用程序通常通过“套接字“向网络发出请 求或者应答网络请求)或消息中间件(如消息队列MessageQueue,是一种应用系统间通信的 消息中间件)将数据上传到中心业务平台或加载到中心数据库。 0038 首先,消息代理单元对消息缓存单元中的元数据模型进行业务化语义转换,首先 根据业务模型结构,将消息缓存单元中持久化的数据进行映射配置,使其符合业务语义的 描述规范。该步骤是将业务模型与原始数据模型进行映射和封装,以封装的业务模型对象 替代原始数据中大量的依赖关系,将原始数据切分无依赖关系的元数据模型,并由这一系 列元数据模型来构建业务模型对象。 003
40、9 其次,根据路由配置模块中的访问控制列表及路由逻辑来对上传数据进行路由选 择。 0040 最后,根据事件配置模块的任务配置条件来为中心数据库或中心业务平台通过消 息队列或调用对方接口方式推送数据,或以提供接口的方式供中心业务平台或中心数据库 调用数据服务,所述的任务配置条件包括服务调用方式触发任务、定时触发任务和配置触 说 明 书CN 102938731 A 10 7/10页 11 发规则触发任务。 0041 在步骤705,结束。 0042 一种由中心业务平台或中心数据库下传数据给异构应用系统或数据资源的方法, 如图8所示。该流程开始于步骤801。在步骤802,消息代理单元获取中心业务平台或
41、中心 数据库的下传数据请求和下传数据内容。使用消息代理单元获取消息下传请求,并对请求 信息进行解析,选择相应的路由地址做为下传数据目的地址。该步骤的目的是获取下传请 求的目的地址,以便为后续消息适配单元进行数据包发送时明确发送目标。 0043 然后,对数据进行拆分并配置分发地址。消息代理单元获取下传数据内容,并根据 发送目的地址将其分拆成一系列数据包,并根据已确定的目标地址将数据包发送给多个消 息适配单元。该步骤的目的为不同数据包指定消息头后,将完整的包发送给消息适配单元。 0044 在步骤803:消息适配单元将数据进行消息格式转换并发送给应用系统或数据 源。消息适配单元根据数据包指定的发送地
42、址,将数据包内容按照目标系统接口的格式进 行格式转换,使其符合目标应用系统/数据源使用的消息格式,并发送给目标位置。该步骤 的目的为对数据内容进行转换并将下传数据发送到最终应用系统/数据源中。 0045 在步骤804,结束。 0046 实施例: 一种在区域医疗信息系统数据共享与交换过程中,采用基于BCA的交换集成装置实现 数据输送的案例。 0047 在网络构建结构上,本实施方式中的装置部署于不同区域医院信息系统中,从区 域医院信息系统中的HIS数据库中获取所需的业务数据,部署方式采用分布式部署,根据 需要来对指定单个系统或集群进行数据的抽取和集成交换,装置部署结构如图9所示。 0048 本发明
43、实施方式中,数据上传过程如下: 步骤901:消息适配单元从异构应用系统或数据资源中抽取数据,并将数据转换成预 定义格式数据。消息适配单元的协议转换模块根据具体抽取任务的特点来选取不同的适配 模板。根据本项目HIS数据库,在消息适配单元上选择JDBC适配器模板,其中,适配配置信 息包括在数据抽取过程中使用的数据库类型、数据库地址、数据库名称、端口等信息,对于 不同的数据源,可以选择不同的模板并进行配置,在这里仅对JDBC模板进行举例。 0049 消息适配单元的数据抽取模块,根据具体抽取任务的不同来定义不同的抽取策略 或抽取逻辑,生成数据抽取逻辑描述xml文件,这些文件在数据抽取模块内部的解析引擎
44、 的驱动下来执行数据抽取操作。 0050 根据业务要求,在进行医疗数据抽取步骤时,需要从区域医疗信息系统HIS数据 库中获取门诊诊疗索引信息表、门诊诊疗临床服务登记表、门诊诊疗临床辅助检查记录表 等表中数据内容,如图10所示。 0051 根据数据在业务库中的主从关系,确定了数据抽取执行的流程如下: a. 首先根据需要抽取主索引表的数据,将主索引记录生成,并生成相应的查询参数条 件,为下一步抽取准备。 0052 b. 根据主索引的查询参数进行从表数据的查询,生成从表数据。其中有些从表还 存在子从表,因此也需要生成相应的子从表的查询参数,以便子从表进行查询。 0053 c. 根据相应的查询条件生成
45、子从表的数据。 说 明 书CN 102938731 A 11 8/10页 12 0054 数据抽取流程分为主流程和次流程,主流程执行过程中根据数据表中的条件触发 不同的次流程。流程信息以xml文件的形式保存在前置设备消息代理单元的数据抽取模块 中。 0055 数据抽取流程可以有多个,多个业务流程间通过彼此关联的抽取逻辑来依次触 发。本实施方式中数据抽取执行逻辑如图1118所示,分别从主索引表、从表和子从表中 进行数据抽取,并将抽取得到信息缓存进消息缓存单元中。 0056 步骤902:消息缓存单元根据需求存储或缓存步骤901生成的预定义格式数据。 消息缓存单元中元数据管理模块,根据业务描述的特点
46、来定义不同的元数据模型,该元数 据模型的定义需要具有上传数据业务特点,同时模型与模型间具有较低的耦合关系。 0057 根据抽取的数据结构,确定以下元数据模型,并将其持久化到消息缓存单元的元 数据管理模块,该元数据模型的XML描述文件存放在消息缓存单元的持久化配置模块中。 0058 本实施方式中,元数据管理模块中根据业务描述共定义了12个元数据模型: 医疗数据缓存模型(RES_CATCH) 门诊诊疗文档索引信息模型(DI_ADI_DOCINDEX_HR) 门诊诊疗挂号记录模型(DI_ADI_REGISTER_INFO) 门诊诊疗临床服务登记模型(DI_ADI_AMBREG_INFO) 门诊诊疗诊
47、断记录模型(DI_ADI_DIAREC_INFO) 门诊诊疗处方信息模型(DI_ADI_DRUREC_INFO) 门诊诊疗费用记录模型(DI_ADI_EXPSET_INFO) 门诊诊疗费用明细记录表模型(DI_ADI_EXPSET_LIST) 门诊诊疗临床辅助检查记录模型(DI_ADI_CLIEXA_INFO) 门诊诊疗实验室检验记录模型(DI_ADI_LAREXA_INFO) 门诊诊疗实验室检验详细记录模型(DI_ADI_LAREXADET_LIST) 门诊诊疗手术记录模型(DI_ ADI_OPEREC_INFO) 元数据模型描述了业务转换过程中需要进行持久化数据信息,该元数据内容根据数据
48、抽取结果被不断丰富,直至具有完整的业务特征。 0059 消息缓存单元的持久化配置模块负责将将元数据模型不断地完善,直至具有完整 的业务特性。该元数据完善步骤如图19所示,具体如下: 1、数据抽取任务,在开始启动时,将开始时间(参数为begin_date),结束时间(参数为 end_date)以及主抽取流程的数据库配置作为参数传入主索引表主抽取流程中,调用主索 引表主抽取流程。调用完主抽取流程之后,获取元数据模型RES_CACHE数据状态为0的数 据,根据配置文件将数据总数按照一定数量进行分页。在调用从表数据抽取流程时,启动多 线程并发方式,每一次调用从表数据抽取流程的数据根据分页数而定。例如,
49、若按照每页10 条分页时,每一个线程调用10次从表数据抽取流程。 0060 2、将分页数据中某些字段作为参数,传入到从表抽取任务中,并调用从表数据抽 取任务。在调用从表数据抽取任务之前,将所分页的数据的状态位STATUS改为8,这是临时 状态位,表示将要调用从表数据抽取的数据。在调用完从表数据抽取任务后,将这些数据的 状态位STATUS改为1,表示已经执行完的从表数据抽取任务。 0061 3、当从表抽取完成后,根据需要抽取子从表数据。首先根据表明查找从表数据的 说 明 书CN 102938731 A 12 9/10页 13 总数,然后按照分页数对从表进行分页处理。根据分页后的数据,作为参数调用子从表数据 抽取任务,调用前将该条从表数据的状态STATUS改为8,调用结束后改为1。表示已经调用 完成。 0062 4、成功的调用抽取任务后,元数据模型RES_CACHE的数据状态STATUS都应该为1, 以便进行转换。 0063 步骤903:消息代理单元对预定义格式的数据进行业务语义转换,按照预置的标 准传输协议或消息中间件将数据上
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1