著录项信息
专利名称 | 一种数据批量转移系统及其方法 |
申请号 | CN201010619384.7 | 申请日期 | 2010-12-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-07-04 | 公开/公告号 | CN102541942A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中国银联股份有限公司 | 申请人地址 | 上海市浦东新区含笑路36号银联大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国银联股份有限公司 | 当前权利人 | 中国银联股份有限公司 |
发明人 | 杨萌藜;吴金坛;周继恩;冯兴 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 李湘;高为 |
摘要
本发明提供一种数据批量转移系统及其方法。所述系统包括触发模块,用于判断是否满足触发条件,如果满足则生成并发送任务描述符至中间转换模块,否则继续读取源数据库中的指标;转换模块,用于根据任务描述符从源数据库读取源数据并对其进行处理以生成目标数据,根据任务描述符确定目标数据参数并将目标数据和目标数据参数发送至写入模块;写入模块,将目标数据按照预定数据格式写入目标数据库。本发明在实现松耦合批量数据转移的同时,而且还具有快速、支持多线程并发处理等特点。
一种数据批量转移系统及其方法\n技术领域\n[0001] 本发明涉及一种数据转移系统和方法,尤其涉及一种数据批量转移系统及其方法。\n背景技术\n[0002] 目前ETL(Extraction-Transform-Load,即抽取-转换-加载)数据抽取的普遍方法都是以目标数据需求为目标,在源数据库中抽取符合转换规则的可用数据资源,分析现有源系统中可用数据资源和目标数据需求之间的关系,并制定数据抽取全过程,按照固定的抽取过程编写ETL代码,完成抽取。\n[0003] 这种方式的优势在于实现简单,开发迅速,缺点在于代码专用,只为某一种数据需求开发的功能,一旦数据需求发生变化,则该专用代码则无法继续提供变化的目标数据,需要开发人员对整个程序进行重新编译。在数据抽取和需求变化比较频繁的系统变更阶段,开发人员的开发量很大,由于各个数据转移的模式基本相同,使得开发人员重复工作,效率低下。\n[0004] 以某金融机构公共参数批量转移为例,每日公共参数库要给16个子系统下发多达60多张公共参数表,且基本都是带了一定的业务规则,将数据源复制到目标数据库的类似过程,这些过程虽有差别,但重合的地方很多,且转移前后其核心差别主要体现在:1、触发条件;2、业务口径;3、抽取后续处理。同时这么多数据接口的部署和调度也成为了一个难题,非常复杂。\n发明内容\n[0005] 本有鉴于此,发明的目的在于提供一种用于数据批量转移的系统及其方法,将分析数据抽取的七个基本要素即转移触发条件、预处理、输入、输出、转换规则、处理过程以及来自子系统的后续处理请求模块化,以便达到在数据抽取、数据转移的过程中,应用批处理的思想,进行数据驱动而非过程驱动;建立松耦合、可复用的过程配置机制,以便于管理和控制任务调度,应对变化频繁的业务口径及数据结构,以有效地解决现有的数据接口复杂、部署和调度不便、数据转移需求经常变化的问题。\n[0006] 为实现上述目的,本发明提供一种数据批量转移系统,包括:\n[0007] 触发模块,用于判断是否满足触发条件,如果满足则生成并发送任务描述符至中间转换模块,否则继续读取源数据库中的指标;\n[0008] 转换模块,用于根据任务描述符从源数据库读取源数据并对其进行处理以生成目标数据,根据任务描述符确定目标数据参数并将目标数据和目标数据参数发送至写入模块;\n[0009] 写入模块,将目标数据按照预定数据格式写入目标数据库。\n[0010] 优选地,在本发明的系统中,所述中间转换模块包括:\n[0011] 预处理模块,用于检测系统是否满足执行数据批量转移的条件;如果满足,则进行数据处理,否则发送报警信号;\n[0012] 源数据接口模块,根据任务描述符确定源数据参数并将源数据参数发送至处理器;\n[0013] 目标数据接口模块,根据任务描述符确定目标数据参数并将目标数据参数发送至写入模块;\n[0014] 转换规则模块,根据任务描述符确定转换规则并发送至处理器;\n[0015] 处理器,根据源数据参数从源数据库读取源数据;根据转换规则对源数据进行处理生成目标数据,将目标数据发送至写入模块。\n[0016] 优选地,在本发明的系统中,所述处理器进一步被配置为响应来自子系统的数据请求,将目标数据发送至该子系统。\n[0017] 优选地,在本发明的系统中,所述源数据参数包括源数据表属主、源数据表名、源数据表套数。\n[0018] 优选地,在本发明的系统中,所述目标数据参数包括目标数据表属主、目标数据表名、目标数据表套数。\n[0019] 优选地,在本发明的系统中,所述转换规则选自由以下各项组成的组:数据规范化、填写缺省默认值、数据集成、数据分组、数据关联、数据合并、排序和函数运算。\n[0020] 本发明还提供一种数据批量转移方法,包括以下步骤:\n[0021] A、判断是否满足触发条件,如果满足则生成并发送任务描述符,否则继续读取源数据库中的指标;\n[0022] B、根据任务描述符从源数据库读取源数据并对其进行处理以生成目标数据,根据任务描述符确定目标数据参数;\n[0023] C、根据目标数据参数将目标数据按照预定数据格式写入目标数据库。\n[0024] 优选地,在本发明的方法中,步骤B进一步包括以下步骤:\n[0025] 检测系统是否满足执行数据批量转移的初始化条件;如果满足,则进行后续步骤,否则发送报警信号\n[0026] 根据任务描述符确定源数据参数;\n[0027] 根据任务描述符确定目标数据参数;\n[0028] 根据任务描述符确定变换规则;\n[0029] 根据源数据参数从源数据库读取源数据;\n[0030] 根据变换规则对源数据进行处理生成目标数据。\n[0031] 优选地,在本发明的方法中,所述方法还包括以下步骤:\n[0032] 响应子系统发送的数据请求,将目标数据发送至所述子系统。\n[0033] 优选地,在本发明的方法中,所述源数据参数包括源数据表属主、源数据表名、源数据表套数。\n[0034] 优选地,在本发明的方法中,所述目标数据参数包括目标数据表属主、目标数据表名、目标数据表套数。\n[0035] 优选地,在本发明的方法中,所述转换规则选自由以下各项组成的组:数据规范化、填写缺省默认值、数据集成、数据分组、数据关联、数据合并、排序和函数运算。\n[0036] 本发明的技术效果在于:有效地减少了编码的工作量,使得每次子系统的变更,都对批量转移本身的影响减少,同时未对子系统本身的性能有很大的影响。本设计在实现松耦合批量数据转移的同时,而且还具有快速、支持多线程并发处理等特点。\n附图说明\n[0037] 图1为根据本发明实施方式的数据批量转移系统的示意图;\n[0038] 图2为根据本发明实施方式的数据批量转移方法的示意图。\n具体实施方式\n[0039] 下面将结合附图详细描述本发明的优选实施例,在附图中相同的参考标号表示相同的元件。\n[0040] 图1为根据本发明实施方式的数据批量转移系统的示意图。如图所示,该系统包括触发模块1、转换模块2和写入模块3。\n[0041] 触发模块1,读取源数据库中的指标并判断是否满足触发条件,如果满足则生成并发送任务描述符至中间转换模块,否则继续读取源数据库中的指标。其中该指标例如但不限于为源系统的数据量、源系统数据库中的某一个标志位。相应地,该触发条件例如但不限于为源系统的数据量是否达到预定值、该标志位是否为有效。本领域的技术人员可以根据实际需要来定义所需要读取的指标和触发条件。\n[0042] 转换模块2,用于根据任务描述符从源数据库4读取源数据并对其进行处理以生成目标数据,根据任务描述符确定目标数据参数并将目标数据和目标数据参数发送至写入模块3;\n[0043] 进一步地,该转换模块2包括预处理模块20、源数据接口模块21、转换规则模块\n22、目标数据接口模块23和处理器24。\n[0044] 预处理模块20,当接收到任务描述符时,用于检测系统是否满足执行数据批量转移的条件;如果满足,则进行数据处理,否则发送报警信号。预处理模块20例如通过抽取任务的初始化设定来检测系统是否满足执行数据批量转移的条件,包括但不限于自身状态检查,运行环境的监测清理。本领域技术人员能够根据实际需要进行设定。\n[0045] 源数据接口模块21,接收来自触发模块1的任务描述符,解析该任务描述符从而确定源数据参数并将源数据参数发送至处理器。其中源数据参数包括源数据表属主、源数据表名、源数据表套数。\n[0046] 目标数据接口模块23,接收来自触发模块1的任务描述符,解析该任务描述符从而确定目标数据参数并将目标数据参数发送至写入模块。其中目标数据参数包括目标数据表属主、目标数据表名、目标数据表套数。\n[0047] 转换规则模块22,接收来自触发模块1的任务描述符,解析该任务描述符从而确定转换规则并发送至处理器24。数据转换规则一般遵循如下的基本规律:\n[0048] 目标数据=Transformation(源数据输入字段1,源数据输入字段2,......)。该转换规则例如为但不限于为数据规范化、填写缺省默认值、数据集成、数据分组、数据关联、数据合并、排序和函数运算。其中各转换规则的含义如下:\n[0049] 数据规范化(Expression):将源系统中实质含义相同但描述不同的数据定义,转换为通用的、统一的、下游子系统能够识别的形式。\n[0050] 填写缺省默认值:当某定义在源系统不存在,根据约定产生新的数据。例如:生成序列(Sequence Generator):\n[0051] 数据集成(Aggregator):实现数据的汇总。当源系统是基于业务流水时,可以通过数据集成产生粒度较粗的汇总统计结果。\n[0052] 数据分组(Router):实现数据的分流。实现一次读取源数据,分发到多个子系统,减轻源系统压力,节省传输成本。\n[0053] 数据关联(Joiner):实现数据的合并。\n[0054] 排序(Sorter):实现数据的指定排序。\n[0055] 函数运算:一些特殊的函数运算,例如数值取模,时间取某个特定,字符取其中的一段子集字符等等。\n[0056] 处理器24,根据源数据参数从源数据4库读取源数据;根据转换规则对源数据进行处理生成目标数据,将目标数据发送至写入模块3。\n[0057] 写入模块3根据目标数据参数将目标数据按照预定数据格式写入目标数据库5。\n该写入模块3例如但不限于为ETL抽取转换引擎。\n[0058] 优选地,在本发明中,处理器24进一步被配置为响应来自子系统6的数据请求,将目标数据发送至该子系统6。\n[0059] 图2为根据本发明实施方式的数据批量转移方法的示意图。该方法包括以下步骤:\n[0060] A、读取源系统指标并判断是否满足触发条件,如果满足则生成并发送任务描述符,否则继续读取源系统指标;\n[0061] B、根据任务描述符从源数据库读取源数据并对其进行处理以生成目标数据,根据任务描述符确定目标数据参数;\n[0062] C、根据目标数据参数将目标数据按照预定数据格式写入目标数据库。\n[0063] 其中,步骤B进一步包括以下步骤:\n[0064] 检测系统是否满足执行数据批量转移的初始化条件;如果满足,则进行后续步骤,否则发送报警信号\n[0065] 根据任务描述符确定源数据参数,其中源数据参数包括源数据表属主、源数据表名、源数据表套数;\n[0066] 根据任务描述符确定目标数据参数,其中目标数据参数包括目标数据表属主、目标数据表名、目标数据表套数;\n[0067] 根据任务描述符确定变换规则,其中转换规则选自由以下各项组成的组:数据规范化、填写缺省默认值、数据集成、数据分组、数据关联、数据合并、排序和函数运算;\n[0068] 根据源数据参数从源数据库读取源数据;\n[0069] 根据变换规则对源数据进行处理生成目标数据。\n[0070] 优选地,本发明的数据批量转移方法还包括步骤响应子系统发送的数据请求,将目标数据发送至所述子系统。\n[0071] 鉴于这些教导,熟悉本领域的技术人员将容易想到本发明的其它实施例、组合和修改。因此,当结合上述说明和附图进行阅读时,本发明仅仅由权利要求限定。
法律信息
- 2014-09-17
- 2012-09-05
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201010619384.7
申请日: 2010.12.31
- 2012-07-04
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |