一种基于ftp的数据交换系统的制作方法

文档序号:7810905阅读:260来源:国知局
一种基于ftp的数据交换系统的制作方法
【专利摘要】本发明公开了一种基于FTP的数据交换系统,以实现电力系统数据的统一交换,本发明整个系统主要包括引擎(节点)、规则库、管理服务器、管理工具、开发接口,本数据交换系统基于标准数据规范和接口标准,配置数据交换服务,通过不同方式实现第三方系统数据的数据汇聚、整合与发布。本系统包括的功能模块主要有:数据提取模块、正向数据加工处理模块、批量数据传输模块、反向数据加工处理模块和数据存放模块。通过采用本发明的技术方案,能够实现企业或机构信息系统“横向集成,纵向贯通”的共享通道,实现对大规模数据的准确传输,保障电力系统中上下信息畅通、数据共享与应用集成。
【专利说明】一种基于FTP的数据交换系统

【技术领域】
[0001] 本发明涉及一种数据交换系统,属于电力系统中的数据交换【技术领域】。

【背景技术】
[0002] 随着智能电网建设的不断深入,电力系统中的调度、管理和营销环节的数据量越 来越巨大,于此同时智能电网对电力系统中数据交换的需求也越来越高。但是目前电力系 统中不同单位和机构存在多种信息系统,而且这些系统分别位于不同的物理位置、运行于 不同的操作系统和异构的数据库上,这样导致一方面存在"信息孤岛",另一方面不同系统 在进行数据交换过程中,由于各信息系统数据源的存储位置不同、数据的规模和组织结构 各异,不仅带来管理上的不便,不同的总线还存在诸如定位不准确、缺乏传输可靠性、缺乏 大数据稳定传输能力、缺乏文件传输服务、缺乏服务质量管理问题。这种现状不仅增加了营 运成本,影响了领导的决策,减弱了市场响应力,而且无法适应当今电力系统智能电网信息 化的安全快速可靠要求。上述这些问题都对电力系统中数据交换提出了更高的要求,需要 面向不同系统生成灵活的数据交换方案。
[0003] 目前电力系统中缺少面向使用者的数据交换产品,绝大部分的项目都是根据项目 的需要定制开发适用自身需求的产品,这些产品由于不具有数据交换的完整功能,有的侧 重数据仓库建设、有的侧重数据传输。比如,目前的数据共享和交换平台主要是采用EAI产 品的解决方案,如IBM的Websphere和基于东方通的EAI中间件产品。由于这些中间件产 品在数据管理方面工具化比较差,项目实施需要大量的编程实现,实施开发工作量大、项目 实施周期长,项目的成功率低,修改和维护不方便,易用性差,而且带来了新的数据孤岛。因 此,提供统一的数据交换系统将变得越来越重要。
[0004] 经初步检索,暂未发现有与本
【发明内容】
相关的专利条目。


【发明内容】

[0005] 为了解决上述问题,实现电力系统数据的交换,本发明提供了一种基于FTP的数 据交换系统,本数据交换系统基于标准数据规范和接口标准,配置数据交换服务与流程,通 过不同方式实现第三方系统数据的数据汇聚、整合与发布。本数据交换系统的组成架构如 下:
[0006] 整个系统主要包括引擎(节点)、规则库、管理服务器、管理工具、开发接口,其中:
[0007] 管理服务器能够对多个引擎进行管理。用户通过管理工具连接到管理服务器进行 图形化/可视化开发管理,管理服务器将用户配置的服务、流程转换成规则保存在规则库 中,并按照分工将规则下发到对应的引擎;
[0008] 引擎分布式部署在不同机器上,所有引擎按照规则相互协作,对数据进行加工、传 输处理,引擎之间可以彼此调用对方的服务与资源;
[0009] 第三方系统通过平台提供的API、URL、定时调度方式调用数据交换服务或流程,来 完成数据交换任务。
[0010] 本数据交换系统主要包括如下几个功能模块:数据提取模块、正向数据加工处理 模块、批量数据传输模块、反向数据加工处理模块和数据存放模块。
[0011](一)数据提取模块
[0012] 本模块供发送方完成各种异构数据源与业务数据的抽取、过滤、映射、重组、监控、 管理。
[0013] 本模块对不同数据源的提取方式如下:
[0014] (1)数据库表直接操作。数据提取模块通过JDBC、ODBC方式访问数据库,通过管 理工具对数据库进行配置,拖拉所需加工的表、字段,建立文件和数据库表的映射关系,将 数据库数据抽取成自有格式的文件。
[0015] 支持的数据库有 Oracle、SQL Server、DB2、Sybase ASE、Sybase IQ、Informix、My SQL、FoxPro、Access ;
[0016] 支持对数据源实时、增量、批量、全量的交换策略,抽取条件包括静态语句和/或 动态SQL规则和/或来自变量和/或来自变量组,多样的增量处理策略;
[0017] 支持渐变维、缓存日志、数据比对、数据的回写增量抽取方式;
[0018] 支持数据库SQL,配置SQL语句调用和/或配置SQL函数调用和/或配置SQL存储 过程调用;
[0019] 支持结构体,配置自定义类型和/或自定义结构和/或结构体成员的抽取;
[0020] 支持异构的字符集,数据源或目标是中文和/或西文字符集,配置字符集。
[0021] ⑵数据文件抽取。提供通用文件访问接口,通过管理工具配置数据文件,拖拉所 需加工的字段,建立和文件的映射,支持文本文件(分隔符、定长)、Excel文件、DBF文件、 通用数据文件、XML,将以上格式文件的内容抽取成自有格式文件;
[0022] 支持文件的拆分与合并。根据文件字段内容的逻辑关系能够将文件内容拆分、映 射到满足要求的不同的文件或数据表异构系统中,实现数据文件的拆分;监控给定文件夹 下的文件,当有满足条件的文件时,将文件内容依据配置映射到目标文件或表中,实现文件 的合并,并且文件或表名称可以是变化的。
[0023] (3) XML抽取。通过工具配置XML属性,通过拖拉所需加工的XML Path建立XML和 其他异构系统的映射。XML来源于文件和/或消息队列和/或API。
[0024] (4)内存表结构抽取。第三方系统通过API或传输队列传输的数据,可通过配置将 数据映射到内存表结构上,平台将内存表当做普通数据库表进行处理、传输,从而使本地程 序可以直接输出数据到远方数据库中,并且可获得普通数据库表操作的一切功能。
[0025] (5)服务接口调用抽取。提供数据处理器接口,满足特殊需求的数据抽取需要。通 过数据处理器调用第三方提供的Web SerViCe、API私有数据源访问接口。通过调用标准服 务接口,进行数据同步抽取。
[0026](二)正向数据加工处理模块
[0027] 成功提取数据源之后,通过数据交换平台的正向数据加工处理功能,对已经提取 好的数据进行加工处理,从而保证发送方能够通过多种方式调用数据源,可靠、有效地将所 需数据传递到接收方指定的位置、方式,顺利完成数据交换的过程。本模块主要包括如下功 能:
[0028] (1)实现多种异构系统间的数据转换。可实现数据库表、文件、消息队列、XML、数据 处理器之间的相互转换,包括"表-表"、"表-文件"、"表-消息队列"、"表-XML"、"表-数 据处理器"、"XML-表"、"XML-XML"、"XML-消息队列"、"XML-文件"、"XML-数据处理器"、"文 件-文件"、"文件-表"、"文件-消息队列"、"文件-数据处理器"、"消息队列-消息队列"、 "消息队列-表"、"消息队列-文件"、"数据处理器-表"、"数据处理器-消息队列"、"数据 处理器-文件"、"数据处理器-XML"多种组合。
[0029] (2)提供可配置的多种转换加工方式。能够配置格式转换,包括字段拆分/合并、 不同格式间转换;静/动态字段,包括系统时间、动态序列号、给定值;基于规则翻译,包括 基于规则表的翻译、给定规则翻译、给定数据的比对处理;数据运算,能够做字段内和/或 字段之间的数学运算;聚类处理,根据一个或几个字段做聚类操作;数据字典的转换、支持 身份证的转换。能够配置数据库SQL调用,包括SQL语句调用、SQL函数调用、SQL存储过程 调用。
[0030] (3)配置多种逻辑处理。包括:格式匹配检查(如日期格式、数据格式、身份证格 式、自定义格式)、字符串逻辑检查(包含、以结束、以开始、在列表中、于)、内容为空检查、 重复记录检查、范围内检查(如在列表内、字典或代码表内、包含、于)、表表外键关联检查、 逻辑检查(=、>、>=、〈、〈=、为空、非空、<And〈、〈= And〈、<And〈 =、〈= And〈=、为真、 为假)、复合逻辑检查(以上逻辑的and、or组合)、自定义逻辑检查。
[0031] 根据逻辑处理情况做相应的加工策略:
[0032] 1)数据比对处理:加工后的数据和目标数据库表内容做比对操作,并根据比对结 果做相应的增加、覆盖、删除处理。
[0033] 2)做数据逻辑判断,支持异常情况处理:提供逻辑判断支持对异常情况的处理, 包括模型差异、平台不一致、结构不一致、数据不规范、重复记录、约束不严格;对于出现异 常情况的数据,根据逻辑处理设定不同的处理策略,或者设置为差错数据记录到差错数据 库上,供业务人员数据审核处理;或者路由输入到指定的目标方供业务人员处理;或者作 为异常数据数据记录到相应日志文件上,并给予监控日志相应提示,供信息操作者根据提 示做相应的处理。
[0034] 3)数据加载路由策略,按照字段内容作为路由条件将数据加载到不同的目标上, 路由条件丰富多样;数据加载目标包括数据库表、文件、XML、消息队列、数据处理器方式。
[0035] (4)数据整合。提供数据库表增量、减量数据交换,能够对数据库表进行增量或者 减量的数据交换,例如可以通过变量、CDC表、标识方式识别数据库表数据的变化,并对变化 部分进行增量或减量的传输;
[0036] 动态SQL规贝U、变量、SQL语句抽取数据,配置静态的SQL语句、动态的SQL语句或 变量进行数据抽取传输;
[0037] 支持blob字段、clob字段、日期字段,支持对数据库二进制类型数据(blob字段、 clob字段)的处理,支持数据库日期类型的处理;
[0038] 前置、后置处理,不同的服务串联起来形成流程,支持在每个服务/流程执行前/ 后配置前/后置处理,完成一些自定义操作;
[0039] 条件路由(配置策略将数据库数据抽取成多个文件,传输到不同目标),通过配置 灵活的条件策略,将数据库表中的数据按照策略抽取生成多个文件进行传输,可以传输到 多个目标或交换到多个表中去;
[0040] 对XML/DBF/Excel文件进行加工处理。
[0041](三)批量数据传输模块
[0042] 完成正向数据加工处理以后,发送方利用数据交换平台的基于FTP的批量数据传 输模块进行传输,在传输过程中会对加工处理后的数据源进行监控、审计,并且支持实时数 据传输功能,以确保数据可靠的传输。本模块具体功能包括:
[0043] (1)批量数据传输。基于FTP的优势是能够实现异构系统之间的文件传输,即支持 在不同系统不同平台间进行文件传输,而不用编写复杂的语句;同时,本数据交换系统还支 持在数据传输的过程中进行数据路由(即将数据按照配置的策略分流传输到不同的目的 地),采用"一次抽取、按条件路由"的机制,其中路由条件是动态的或者是组合的,支持节点 间一对多、多对一传输,可配置从一个节点将文件发送到多个节点,以及从多个节点将文件 传输到一个节点上,这样可以减轻对数据源如数据库的压力,提高处理的性能;
[0044] 本系统设置文件传输任务的优先级,在多个文件需要同时传输时,优选传输优先 级高的任务;本系统设置降低或提高文件传输所占用的带宽,这样在不同的网络环境下,通 过调节文件传输分块的大小来调节文件传输占用的带宽,提高传输成功率,从而提高传输 效率;
[0045] 本系统支持同步和异步的传输机制,同步传输:流程触发后程序待整个服务完成 后进行下一个服务;异步传输:流程触发后程序不待整个服务完成直接触发下一个服务;
[0046] 本系统支持与FTP系统的集成,调用第三方FTP系统,协作完成文件的抓取和推 送,即从FTP系统中抓取数据或将文件推送到FTP系统中;对传输文件大小无限制,在外部 资源充足的情况下(磁盘、内存),系统设计上对被传输的文件没有大小限制;支持变量指 定传输的文件名,第三方触发传文件流程时,通过变量动态的指定文件名,按需调度传输文 件;支持对各种文件格式的传输,系统设计上,对被传输文件没有格式限定;访问控制、身 份鉴定,第三方系统触发文件传输流程时进行身份鉴定和访问控制,确保调用方是注册过 的,并且只能调用授权过的功能。
[0047] (2)对传输过程的监控和审计。监控和审计的对象主要包括:消息传输、通道传 输、文件传输;分布式环境下每次处理数据传输或业务加工,都要产生唯一的业务句柄和信 息句柄,该句柄能够跟踪数据传输或加工的全生命周期,方便业务加工数据的可跟踪性和 可审计性。本监控和审计功能具体包括:记录处理的过程,监控一次业务处理所涉及的数据 加工过程、加工的数据源、目标、满足条件的行数、插入目标的行数、覆盖的行数、废弃的行 数、删除的行数信息。
[0048] (3)即时数据传输功能。本数据交换系统提供符合JMS接口规范的消息总线功能, 第三方系统能够通过系统提供的API实现消息通信;
[0049] 提供通道传输功能,对于小量的数据(文件、数据库表、或程序发送的数据)无需 落地成文件进行传输,可通过通道进行传输;
[0050] 支持点对点传输,即从一个节点传输到另一个节点,支持发布/订阅模式传输,即 从一个节点传输到多个节点;
[0051] JMS消息或通道传输都能选择加密传输、压缩后传输、按优先级传输、可靠传输。
[0052] (四)反向数据加工处理模块
[0053] 当发送方将数据传输完成后,接收方通过数据交换平台的反向数据加工处理模 块,对发送方传输过来的数据源进行反向加工处理,接收方将加工处理后的数据源还原成 为原格式的数据源,或者加工成为一种新类型的数据源;
[0054] 当数据传输完成以后,要将数据放在指定的位置前,需要对数据进行反向加工处 理。与正向数据加工处理模块一样,在反向数据加工处理中也包括如下功能:实现多种异构 系统间的数据转换、提供可配置的多种转换加工方式、配置多种逻辑处理、数据整合,此处 不再赘述。
[0055] (五)数据存放模块
[0056] 接收方通过本模块,能够将从发送方接收过来的异构数据进行存放,存放过程中 能够指定文件目录,或者调用文件分类处理服务、文件到异构系统的映射服务。
[0057] 接收方接受数据文件后调用文件分类处理服务,该服务监控指定文件目录,根据 文件夹下文件名称的特点先调用可配置的文件到异构系统的映射加工处理服务,再通过文 件到异构系统的映射加工处理服务将文件内容装载到异构目标方。系统根据情况调用文件 分类处理服务、文件到异构系统的映射服务;或者根据文件名称的规则调用不同的处理器, 处理器是指数据加工服务或流程或其他服务。采用变量的方式将文件名称传递给数据加工 服务。
[0058] 通过采用上述技术方案,能够实现企业或机构信息系统"横向集成,纵向贯通"的 共享通道,实现对大规模数据的准确传输,保障电力系统中上下信息畅通、数据共享与应用 集成。

【专利附图】

【附图说明】
[0059] 图1是本发明的数据交换系统功能架构图。
[0060] 图2是本发明实施例的物理环境配置图。
[0061] 图3是本发明的数据交换系统组成架构图。

【具体实施方式】
[0062] 下面结合附图和实施例对本发明作进一步详细说明。
[0063] 如图3所示,本数据交换系统的组成架构包括:引擎(节点)、规则库、管理服务 器、管理工具、开发接口,其中 :
[0064] 管理服务器能够对多个引擎进行管理。用户通过管理工具连接到管理服务器进行 图形化/可视化开发管理,管理服务器将用户配置的服务、流程转换成规则保存在规则库 中,并按照分工将规则下发到对应的引擎;
[0065] 引擎分布式部署在不同机器上,所有引擎按照规则相互协作,对数据进行加工、传 输处理,引擎之间可以彼此调用对方的服务与资源;
[0066] 第三方系统通过平台提供的API、URL、定时调度方式调用数据交换服务或流程,来 完成数据交换任务。
[0067] 本实施例的数据交换系统物理环境的配置如图2所示,发送方和接收方按照该物 理环境配置图来进行部署。
[0068] 如图1所示,本数据交换系统包括:数据源提取模块、正向数据加工处理模块、 批量数据传输模块、反向数据加工处理模块和数据源存放模块,各个模块的功能及实现如 下:
[0069] 首先在发送方利用本数据交换系统的数据源提取模块,对所需要发送的异构数据 源进行提取,其中数据源的提取方式包括:数据库表直接操作、数据文件抽取、XML抽取、内 存表结构数据和服务接口调用;
[0070] 其次,在发送方利用本数据交换系统的正向数据加工处理模块,对提取出的异构 数据源进行正向数据处理,其中正向数据处理过程中能够实现多种异构系统间的数据转 换、多种转换加工方式、多种逻辑处理,并可以进行数据整合;
[0071] 然后,发送方利用本数据交换系统的批量数据传输模块进行基于FTP的批量数据 传输,并且在传输过程中发送方可以对经过正向数据处理后的数据进行监控和审计,还支 持及时数据传输功能;
[0072] 接收方通过本数据交换系统的反向数据加工处理模块,对发送方传输过来的数据 源进行加工处理,接收方的加工处理功能和发送方的加工处理功能一致,能够将发送方的 加工处理后的数据源还原或者处理成用户指定格式的数据源;
[0073] 最后,接收方利用本数据交换系统的数据源存放模块,将从发送方接收过来的异 构数据源进行存放,存放过程中能够指定文件目录,或者调用文件分类处理服务、文件到异 构系统的映射服务。
[0074] 通过上述的操作以后,发送方能够通过多种方式调用数据源,可靠、有效地将所需 数据以接收方指定的方式传递到其指定的位置,顺利完成数据交换的过程。
[0075] 上述实施方式中所涉及到的技术特征,只要彼此间未构成冲突就可以相互组合。 本发明不限于上述实施例,一切采用等同替换或等效替换形成的技术方案均属于本发明要 求保护的范围。
【权利要求】
1. 一种基于FTP的数据交换系统,其特征在于包括:数据提取模块、正向数据加工处理 模块、批量数据传输模块、反向数据加工处理模块和数据存放模块,其中, 所述数据提取模块负责供发送方完成各种异构数据源与信息服务平台业务数据的传 输、过滤、映射、重组、监控、管理服务; 所述正向数据加工处理模块负责对已经提取好的数据进行加工处理,从而保证发送方 能够通过多种方式调用数据源,可靠、有效地将所需数据传递到接收方指定的位置、方式, 顺利完成数据交换的过程; 所述批量数据传输模块负责发送方对加工处理后的数据源进行传输,在传输过程中会 对加工处理后的数据进行监控、审计,并且支持实时数据传输功能; 所述反向数据加工处理模块负责将发送方传输过来的数据源进行反向加工处理,接收 方将加工处理后的数据源还原成为原格式的数据源,或者加工成为一种新类型的数据源; 所述数据存放模块负责将从发送方接收过来的异构数据进行存放,存放过程中接收方 能够指定文件目录,或者调用文件分类处理服务、文件到异构系统的映射服务。
2. 根据权利要求1所述的系统,其特征是所述数据提取模块对不同数据源的提取方式 如下: (1) 数据库表直接操作:所述数据提取模块通过JDBC、ODBC方式访问数据库,通过管理 工具对数据库进行配置,拖拉所需加工的表、字段,建立文件和数据库表的映射关系,将数 据库数据抽取成自有格式的文件; (2) 数据文件抽取:提供通用文件访问接口,通过管理工具配置数据文件,拖拉所需加 工的字段,建立和异构系统的映射; (3) XML抽取:通过工具配置XML属性,通过拖拉所需加工的XML Path建立XML和其他 异构系统的映射,XML来源于文件和/或消息队列和/或API ; (4) 内存表结构抽取:第三方系统通过API或传输队列传输的数据,通过配置将数据映 射到内存表结构上,平台将内存表当做普通数据库表进行处理、传输,从而使本地程序可以 直接输出数据到远方数据库中,并且可获得普通数据库表操作的一切功能; (5) 服务接口调用抽取:提供数据处理器接口,满足特殊需求的数据抽取需要;通过数 据处理器调用第三方提供的Web Service、API私有数据源访问接口;通过调用标准服务接 口,进行数据同步抽取。
3. 根据权利要求1或2所述的系统,所述正向数据加工处理模块主要包括如下功能: (1) 实现多种异构系统间的数据转换:实现数据库表、文件、消息队列、XML、数据处理 器之间的相互转换; (2) 提供可配置的多种转换加工方式:能够配置格式转换,能够配置数据库SQL调用; (3) 配置多种逻辑处理,包括:格式匹配检查和/或字符串逻辑检查和/或内容为空检 查和/或重复记录检查和/或范围内检查和/或表表外键关联检查和/或逻辑检查和/或 复合逻辑检查和/或自定义逻辑检查; 并根据逻辑处理情况做相应的加工策略: a. 数据比对处理:加工后的数据和目标数据库表内容做比对操作,并根据比对结果做 相应的增力口、覆盖、删除处理;和/或 b. 做数据逻辑判断,支持异常情况处理:提供逻辑判断支持对异常情况的处理,对于 出现异常情况的数据,根据逻辑处理设定不同的处理策略,或者设置为差错数据记录到差 错数据库上,供业务人员数据审核处理;或者路由输入到指定的目标方供业务人员处理; 或者作为异常数据数据记录到相应日志文件上,并给予监控日志相应提示,供信息操作者 根据提示做相应的处理;和/或 C.数据加载路由策略:按照字段内容作为路由条件将数据加载到不同的目标上; (4)数据整合:能够对数据库表进行增量或者减量的数据交换; 能够配置静态的SQL语句、动态的SQL语句或变量进行数据抽取传输;和/或 支持对数据库二进制类型数据的处理,支持数据库日期类型的处理;和/或 不同的服务串联起来形成流程,支持在每个服务/流程执行前/后配置前/后置处理, 完成一些自定义操作;和/或 通过配置灵活的条件策略,将数据库表中的数据按照策略抽取生成多个文件进行传 输,可以传输到多个目标或交换到多个表中去;和/或 能够对XML/DBF/Excel文件进行加工处理。
4. 根据权利要求1或2所述的系统,其特征是,所述批量数据传输模块具体功能包括: (1) 批量数据传输:支持在不同系统不同平台间进行文件传输; 支持在数据传输的过程中进行数据路由,采用"一次抽取、按条件路由"的机制,其中路 由条件是动态的或者是组合的,支持节点间一对多、多对一传输;和/或 设置文件传输任务的优先级;和/或 设置降低或提高文件传输所占用的带宽;和/或 支持同步和异步的传输机制;和/或 支持与FTP系统的集成,调用第三方FTP系统,协作完成文件的抓取和推送;和/或 对传输文件大小无限制;和/或 支持变量指定传输的文件名;和/或 支持对各种文件格式的传输;和/或 访问控制、身份鉴定,第三方系统触发文件传输流程时进行身份鉴定和访问控制,确保 调用方是注册过的,并且只能调用授权过的功能; (2) 对传输过程的监控和审计:监控和审计的对象主要包括:数据传输、通道传输、文 件传输; (3) 及时数据传输功能:提供符合JMS接口规范的消息总线功能,第三方系统能够通过 系统提供的API实现消息通信。
5. 根据权利要求1或2所述的系统,所述反向数据加工处理模块包括如下功能:实现 多种异构系统间的数据转换、提供可配置的多种转换加工方式、配置多种逻辑处理、数据整 合。
6. 根据权利要求1或2所述的系统,所述数据存放模块具体功能为:接收方接受数据 文件后调用文件分类处理服务,该服务监控指定的文件目录,根据文件夹下文件名称的特 点先调用可配置的文件到异构系统的映射加工处理服务,再通过文件到异构系统的映射加 工处理服务将文件内容装载到异构目标方;系统根据情况调用文件分类处理服务、文件到 异构系统的映射服务;或者根据文件名称的规则调用不同的处理器。
【文档编号】H04L29/08GK104104738SQ201410385448
【公开日】2014年10月15日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】曹健, 胡健, 张珂珩, 王远, 袁堂顺 申请人:江苏瑞中数据股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1