一种不同文件格式的数据比对系统及方法

文档序号:10655147阅读:438来源:国知局
一种不同文件格式的数据比对系统及方法
【专利摘要】本发明提供一种不同文件格式的数据比对系统及方法,其中系统包括用于获取A平台和B平台中业务数据模板的数据获取模块、用于从对应的存储空间中提取需要对比的业务数据的数据提取模块、用于将提取的业务数据放入缓存或放入数据库中进行比较的数据比较模块和用于将差异数据根据设定的格式生成对比文件的数据生成模块;本发明数据比对系统不用具体关心业务数据,数据比对与业务本身分离,只需要各个业务负责人按照文件对应格式进行配置即可进行数据处理,处理之后,差异数据按照规定格式入库或生成文件,方便后期分析和处理,与之前的流程相比,极大程度上简化了处理数据的步骤,降低了运维成本,提高了工作效率。
【专利说明】
-种不同文件格式的数据比对系统及方法
技术领域
[0001] 本发明主要设及数据处理技术领域,具体设及一种不同文件格式的数据比对系统 及方法。
【背景技术】
[0002] 目前各地区移动NGBOSS系统,用户使用的积分数据本地区有一套数据中屯、,而积 分平台也有一份用户的积分数据中屯、。由于积分平台和各地区系统的独立性,再加上业务 受理时异步处理、系统或数据库故障等原因,导致部分用户的积分数据在两个平台之间的 同步时出现异常。所W,两个平台的数据需要定期(按天、按周或按月等)进行比对,并对差 异数据进行分析和处理。
[0003] 而类似运样的两套系统两份数据中屯、的业务有很多,经常设及到数据一致性的比 对。由于运些业务本身业务逻辑的差异性,每类业务集团平台或地区平台下发的数据文件 格式各不相同,数据库取值SQL脚本也各不相同,所W,每次新增一个业务数据的一致性比 较的需求,各地区都要新增一套程序进行处理,成本较高。

【发明内容】

[0004] 本发明所要解决的技术问题是提供一种不同文件格式的数据比对系统及方法,数 据比对系统不用具体关屯、业务数据,数据比对与业务本身分离,只需要各个业务负责人按 照文件对应格式进行配置即可进行数据处理,处理之后,差异数据按照规定格式入库或生 成文件,方便后期分析和处理,与之前的流程相比,极大程度上简化了处理数据的步骤,降 低了运维成本,提高了工作效率。
[0005] 本发明解决上述技术问题的技术方案如下:一种不同文件格式的数据比对系统, 包括数据获取模块、数据提取模块、数据比较模块和数据生成模块,
[0006] 所述数据获取模块,用于启动进程,并根据业务id或利用循环读取方式获取A平台 和B平台中业务数据模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不 同;
[0007] 所述数据提取模块,用于根据业务数据模板判断A平台和B平台的数据格式,再分 别根据判断出的数据格式从对应的存储空间中提取需要对比的业务数据;
[000引所述数据比较模块,用于根据预设的数据量阔值将提取的业务数据放入缓存或放 入数据库中进行比较,从而获得差异数据;
[0009] 所述数据生成模块,用于将所述差异数据根据设定的格式生成对比文件并保存。
[0010] 本发明的有益效果是:数据比对系统不用具体关屯、业务数据,数据比对与业务本 身分离,只需要各个业务负责人按照文件对应格式进行配置即可进行数据处理,处理之后, 差异数据按照规定格式入库或生成文件,方便后期分析和处理,与之前的流程相比,极大程 度上简化了处理数据的步骤,降低了运维成本,提高了工作效率。
[0011] 在上述技术方案的基础上,本发明还可W做如下改进。
[0012] 进一步,所述数据获取模块包括检测单元、第一获取单元和第二获取单元,
[0013] 所述检测单元,用于检测是否配置业务id,如果配置,则发送第一获取指令至第一 获取单元,否则发送第二获取指令至第二获取单元;
[0014] 所述第一获取单元,用于接收到第一获取指令后,根据业务id在预设的查询配置 表中匹配对应该业务id的模板信息,并从A平台或B平台中获取该模板信息对应的业务数据 模板;
[0015] 所述第二获取单元,用于接收到第二获取指令后,利用循环读取方式在预设的查 询配置表中逐一读取模板信息,并从A平台或B平台中获取各个模板信息的业务数据模板。
[0016] 采用上述进一步方案的有益效果是:从不同平台获取不同格式的数据进行处理, 兼容性强。
[0017] 进一步,所述数据提取模块中,根据业务数据模板在预设的模板配置表中判断A平 台和B平台的数据格式,若数据格式为文件格式,则连接到对应主机提取文件格式的业务数 据,若数据格式为数据串格式,则连接到对应数据库提取数据串格式的业务数据。数据格式 可包括sql数据串格式、文本格式、xml数据串格式等。
[0018] 采用上述进一步方案的有益效果是:可支持多种数据格式,兼容多种主流数据库。
[0019] 进一步,所述数据比较模块包括判断单元、缓存比较单元和数据库比较单元,
[0020] 所述判断单元,用于根据预设的数据量阔值判断提取的业务数据的大小是否达到 数据量阔值,如果未达到,则发送第一比较指令至缓存比较单元,否则发送第二比较指令至 数据库比较单元;
[0021] 所述缓存比较单元,用于根据第一比较指令将业务数据Wkey-value的数据形式 进行改写,再将改写的业务数据载入应用缓存中进行比较,从而获得差异数据;
[0022] 所述数据库比较单元,用于根据第二比较指令将业务数据Wkey-value的数据形 式进行改写,再将改写的业务数据载入数据库临时表中进行比较,从而获得差异数据。
[0023] 采用上述进一步方案的有益效果是:按照数据量大小在应用缓存或数据库中进行 比对,数据量较大时能够保证系统稳定,防止数据丢失。
[0024] 进一步,所述缓存比较单元中,改写的业务数据包括k巧值和value值,将k巧值保 存至MAP_A应用缓存中,将value值保存至MAtB应用缓存中,再循环遍历各个k巧值并与 value值进行比较,从而获得差异数据;
[0025] 所述数据库比较单元中,改写的业务数据包括k巧值和value值,将k巧值保存至数 据库148_4临时表中,将value值保存至数据库148_8临时表中,再循环遍历各个k巧值并与 value值进行比较,从而获得差异数据。
[0026] 采用上述进一步方案的有益效果是:按照数据量大小在应用缓存或数据库中进行 比对,数据量较大时能够保证系统稳定,防止数据丢失。
[0027] 本发明解决上述技术问题的另一技术方案如下:一种不同文件格式的数据比对方 法,包括如下步骤:
[0028] 步骤SI:启动进程,并根据业务id或利用循环读取方式获取A平台和B平台中业务 数据模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不同;
[0029] 步骤S2:根据业务数据模板判断A平台和B平台的数据格式,再分别根据判断出的 数据格式从对应的存储空间中提取需要对比的业务数据;
[0030]步骤S3:根据预设的数据量阔值将提取的业务数据放入缓存或放入数据库中进行 比较,从而获得差异数据;
[0031 ]步骤S4:将所述差异数据根据设定的格式生成对比文件并保存。
[0032] 在上述技术方案的基础上,本发明还可W做如下改进。
[0033] 进一步,实现步骤Sl的具体步骤为:
[0034] 步骤SlOl:检测是否配置业务id,如果配置,则执行步骤102,否则执行步骤103;
[0035] 步骤S102:根据业务id在预设的查询配置表中匹配对应该业务id的模板信息,并 从A平台或B平台中获取该模板信息对应的业务数据模板;
[0036] 步骤S103:利用循环读取方式在预设的查询配置表中逐一读取模板信息,并从A平 台或B平台中获取各个模板信息的业务数据模板。
[0037] 进一步,所述步骤S2中,根据业务数据模板在预设的模板配置表中判断A平台和B 平台的数据格式,若数据格式为文件格式,则连接到对应主机提取文件格式的业务数据,若 数据格式为数据串格式,则连接到对应数据库提取数据串格式的业务数据。
[0038] 进一步,实现步骤S3的具体步骤为:
[0039] 步骤S301:根据预设的数据量阔值判断提取的业务数据的大小是否达到数据量阔 值,如果未达到,则执行步骤S302,否则步骤S303;
[0040] 步骤S302:根据第一比较指令将业务数据Wkey-value的数据形式进行改写,再将 改写的业务数据载入应用缓存中进行比较,从而获得差异数据;
[0041] 步骤S303:根据第二比较指令将业务数据Wkey-value的数据形式进行改写,再将 改写的业务数据载入数据库临时表中进行比较,从而获得差异数据。
[0042] 进一步,所述步骤S302中,改写的业务数据包括k巧值和value值,将k巧值保存至 MP_A应用缓存中,将value值保存至MP_B应用缓存中,再循环遍历各个k巧值并与value值 进行比较,从而获得差异数据;
[0043] 所述步骤S303中,改写的业务数据包括k巧值和value值,将k巧值保存至数据库 1八8_4临时表中,将value值保存至数据库148_8临时表中,再循环遍历各个k巧值并与value 值进行比较,从而获得差异数据。
【附图说明】
[0044] 图1为本发明系统的模块框图;
[0045] 图2为本发明方法的方法流程图;
[0046] 图3为本发明方法实施例的方法流程图。
【具体实施方式】
[0047] W下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0048] 如图1所示,一种不同文件格式的数据比对系统,包括数据获取模块、数据提取模 块、数据比较模块和数据生成模块,
[0049] 所述数据获取模块,用于启动进程,并根据业务id或利用循环读取方式获取A平台 和B平台中业务数据模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不 同;
[0050] 所述数据提取模块,用于根据业务数据模板判断A平台和B平台的数据格式,再分 别根据判断出的数据格式从对应的存储空间中提取需要对比的业务数据;
[0051] 所述数据比较模块,用于根据预设的数据量阔值将提取的业务数据放入缓存或放 入数据库中进行比较,从而获得差异数据;
[0052] 所述数据生成模块,用于将所述差异数据根据设定的格式生成对比文件并保存。
[0053] 所述数据获取模块包括检测单元、第一获取单元和第二获取单元,
[0054] 所述检测单元,用于检测是否配置业务id,如果配置,则发送第一获取指令至第一 获取单元,否则发送第二获取指令至第二获取单元;
[0055] 所述第一获取单元,用于接收到第一获取指令后,根据业务id在预设的查询配置 表中匹配对应该业务id的模板信息,并从A平台或B平台中获取该模板信息对应的业务数据 模板;
[0056] 所述第二获取单元,用于接收到第二获取指令后,利用循环读取方式在预设的查 询配置表中逐一读取模板信息,并从A平台或B平台中获取各个模板信息的业务数据模板。
[0057] 所述数据提取模块中,根据业务数据模板在预设的模板配置表中判断A平台和B平 台的数据格式,若数据格式为文件格式,则连接到对应主机提取文件格式的业务数据,若数 据格式为数据串格式,则连接到对应数据库提取数据串格式的业务数据。数据格式可包括 sql数据串格式、文本格式、xml数据串格式等。
[005引所述数据比较模块包括判断单元、缓存比较单元和数据库比较单元,
[0059] 所述判断单元,用于根据预设的数据量阔值判断提取的业务数据的大小是否达到 数据量阔值,如果未达到,则发送第一比较指令至缓存比较单元,否则发送第二比较指令至 数据库比较单元;
[0060] 所述缓存比较单元,用于根据第一比较指令将业务数据Wkey-value的数据形式 进行改写,再将改写的业务数据载入应用缓存中进行比较,从而获得差异数据;
[0061] 所述数据库比较单元,用于根据第二比较指令将业务数据Wkey-value的数据形 式进行改写,再将改写的业务数据载入数据库临时表中进行比较,从而获得差异数据。
[0062] 所述缓存比较单元中,改写的业务数据包括k巧值和value值,将k巧值保存至MAP_ A应用缓存中,将value值保存至MP_B应用缓存中,再循环遍历各个k巧值并与value值进行 比较,从而获得差异数据;
[0063] 所述数据库比较单元中,改写的业务数据包括k巧值和value值,将k巧值保存至数 据库148_4临时表中,将value值保存至数据库148_8临时表中,再循环遍历各个k巧值并与 value值进行比较,从而获得差异数据。
[0064] 如图2所示,一种不同文件格式的数据比对方法,包括如下步骤:
[0065] 步骤SI:启动进程,并根据业务id或利用循环读取方式获取A平台和B平台中业务 数据模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不同;
[0066] 步骤S2:根据业务数据模板判断A平台和B平台的数据格式,再分别根据判断出的 数据格式从对应的存储空间中提取需要对比的业务数据;
[0067] 步骤S3:根据预设的数据量阔值将提取的业务数据放入缓存或放入数据库中进行 比较,从而获得差异数据;
[0068] 步骤S4:将所述差异数据根据设定的格式生成对比文件并保存。
[0069] 实现步骤Sl的具体步骤为:
[0070] 步骤SlOl:检测是否配置业务id,如果配置,则执行步骤102,否则执行步骤103;
[0071] 步骤S102:根据业务id在预设的查询配置表中匹配对应该业务id的模板信息,并 从A平台或B平台中获取该模板信息对应的业务数据模板;
[0072] 步骤S103:利用循环读取方式在预设的查询配置表中逐一读取模板信息,并从A平 台或B平台中获取各个模板信息对应的业务数据模板。
[0073] 所述步骤S2中,根据业务数据模板在预设的模板配置表中判断A平台和B平台的数 据格式,若数据格式为文件格式,则连接到对应主机提取文件格式的业务数据,若数据格式 为数据串格式,则连接到对应数据库提取数据串格式的业务数据。
[0074] 实现步骤S3的具体步骤为:
[0075] 步骤S301:根据预设的数据量阔值判断提取的业务数据的大小是否达到数据量阔 值,如果未达到,则执行步骤S302,否则步骤S303;
[0076] 步骤S302:根据第一比较指令将业务数据Wkey-value的数据形式进行改写,再将 改写的业务数据载入应用缓存中进行比较,从而获得差异数据;
[0077] 步骤S303:根据第二比较指令将业务数据Wkey-value的数据形式进行改写,再将 改写的业务数据载入数据库临时表中进行比较,从而获得差异数据。
[0078] 所述步骤S302中,改写的业务数据包括k巧值和value值,将k巧值保存至 用缓存中,将value值保存至MAP_B应用缓存中,再循环遍历各个k巧值并与value值进行比 较,从而获得差异数据;
[0079] 所述步骤S303中,改写的业务数据包括k巧值和value值,将k巧值保存至数据库 1八8_4临时表中,将value值保存至数据库148_8临时表中,再循环遍历各个k巧值并与value 值进行比较,从而获得差异数据。
[0080] 如图3所示,数据比对方法具体操作步骤为:
[0081 ] 步骤001:开始;
[0082] 步骤002:启动进程doBalanceBusi,根据配置文件Cfg,连接对应的数据获取基本 的对比配置信息;
[0083] 步骤003:检测是否配置业务id,如果配置,则执行步骤004,否则执行步骤005;
[0084] 步骤004:根据业务id在预设的查询配置表Cs_BalanceRela_Dict中匹配对应该业 务id的模板信息,并从A平台或B平台中获取该模板信息对应的业务数据模板;
[00化]步骤005:利用循环读取方式在预设的查询配置表Cs_BalanceRela_Dict中逐一读 取模板信息,并从A平台或B平台中获取该模板信息对应的业务数据模板;
[00化]步骤006:根据业务数据模板在预设的模板配置表Cs_BalanceTemplate_Dict中判 断A平台和B平台的数据格式,执行步骤007;
[0087] 步骤007:若数据格式为文件格式,则连接到对应主机提取文件格式的业务数据, 若数据格式为数据串格式,则连接到对应数据库提取数据串格式的业务数据;
[0088] 步骤008:根据预设的数据量阔值判断提取的业务数据的大小是否达到数据量阔 值,如果未达到,则执行步骤009,否则步骤OlO;
[0089] 步骤009:将业务数据Wk巧-value的数据形式进行改写,改写的业务数据包括key 值和value值,将k巧值保存至MAP_A应用缓存中,将value值保存至MAP_B应用缓存中,再循 环遍历各个k巧值并与value值进行比较,从而获得差异数据;
[0090] 步骤010:将业务数据Wk巧-value的数据形式进行改写,改写的业务数据包括key 值和value值,将key值保存至数据库148_4临时表中,将value值保存至数据库TAB_B临时表 中,再循环遍历各个k巧值并与value值进行比较,从而获得差异数据;
[0091] 步骤011:将差异数据根据设定的格式生成对比文件并保存。
[0092] 步骤012:结束。
[0093] 步骤Oll中,将差异数据写入流水表Cs_BalanceResult_YYYYMM中或文件表Cs_ BalanceFileFiX-Dict 中。
[0094] 具体的,查询配置表Cs_BalanceRela_Dict可设置为:
[0095]
[0凸
[0凸

[0103]
[01
[0105] 本系统维护的频率低,新增数据比对需求,按照上面的配置规则进行配置,业务配 置人员配置好,定期对差异结果进行分析即可。
[0106] W上所述仅为本发明的较佳实施例,并不用W限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种不同文件格式的数据比对系统,其特征在于,包括数据获取模块、数据提取模 块、数据比较模块和数据生成模块, 所述数据获取模块,用于启动进程,并根据业务id或利用循环读取方式获取A平台和B 平台中业务数据模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不同; 所述数据提取模块,用于根据业务数据模板判断A平台和B平台的数据格式,再分别根 据判断出的数据格式从对应的存储空间中提取需要对比的业务数据; 所述数据比较模块,用于根据预设的数据量阈值将提取的业务数据放入缓存或放入数 据库中进行比较,从而获得差异数据; 所述数据生成模块,用于将所述差异数据根据设定的格式生成对比文件并保存。2. 根据权利要求1所述的一种不同文件格式的数据比对系统,其特征在于,所述数据获 取模块包括检测单元、第一获取单元和第二获取单元, 所述检测单元,用于检测是否配置业务id,如果配置,则发送第一获取指令至第一获取 单元,否则发送第二获取指令至第二获取单元; 所述第一获取单元,用于接收到第一获取指令后,根据业务id在预设的查询配置表中 匹配对应该业务id的模板信息,并从A平台或B平台中获取该模板信息对应的业务数据模 板; 所述第二获取单元,用于接收到第二获取指令后,利用循环读取方式在预设的查询配 置表中逐一读取模板信息,并从A平台或B平台中获取各个模板信息的业务数据模板。3. 根据权利要求1所述的一种不同文件格式的数据比对系统,其特征在于,所述数据提 取模块中,根据业务数据模板在预设的模板配置表中判断A平台和B平台的数据格式,若数 据格式为文件格式,则连接到对应主机提取文件格式的业务数据,若数据格式为数据串格 式,则连接到对应数据库提取数据串格式的业务数据。4. 根据权利要求1所述的一种不同文件格式的数据比对系统,其特征在于,所述数据比 较模块包括判断单元、缓存比较单元和数据库比较单元, 所述判断单元,用于根据预设的数据量阈值判断提取的业务数据的大小是否达到数据 量阈值,如果未达到,则发送第一比较指令至缓存比较单元,否则发送第二比较指令至数据 库比较单元; 所述缓存比较单元,用于根据第一比较指令将业务数据以key-value的数据形式进行 改写,再将改写的业务数据载入应用缓存中进行比较,从而获得差异数据; 所述数据库比较单元,用于根据第二比较指令将业务数据以key-value的数据形式进 行改写,再将改写的业务数据载入数据库临时表中进行比较,从而获得差异数据。5. 根据权利要求4所述的一种不同文件格式的数据比对系统,其特征在于,所述缓存比 较单元中,改写的业务数据包括key值和value值,将key值保存至MAP_A应用缓存中,将 value值保存至MAP_B应用缓存中,再循环遍历各个key值并与value值进行比较,从而获得 差异数据; 所述数据库比较单元中,改写的业务数据包括key值和value值,将key值保存至数据库 时表中,将value值保存至数据库时表中,再循环遍历各个key值并与value 值进行比较,从而获得差异数据。6. -种不同文件格式的数据比对方法,其特征在于,包括如下步骤: 步骤S1:启动进程,并根据业务id或利用循环读取方式获取A平台和B平台中业务数据 模板,其中,A平台的业务数据模板和B平台的业务数据模板的格式不同; 步骤S2:根据业务数据模板判断A平台和B平台的数据格式,再分别根据判断出的数据 格式从对应的存储空间中提取需要对比的业务数据; 步骤S3:根据预设的数据量阈值将提取的业务数据放入缓存或放入数据库中进行比 较,从而获得差异数据; 步骤S4:将所述差异数据根据设定的格式生成对比文件并保存。7. 根据权利要求6所述的一种不同文件格式的数据比对方法,其特征在于,实现步骤S1 的具体步骤为: 步骤S101:检测是否配置业务id,如果配置,则执行步骤102,否则执行步骤103; 步骤S102:根据业务id在预设的查询配置表中匹配对应该业务id的模板信息,并从A平 台或B平台中获取该模板信息对应的业务数据模板; 步骤S103:利用循环读取方式在预设的查询配置表中逐一读取模板信息,并从A平台或 B平台中获取各个模板信息的业务数据模板。8. 根据权利要求6所述的一种不同文件格式的数据比对方法,其特征在于,所述步骤S2 中,根据业务数据模板在预设的模板配置表中判断A平台和B平台的数据格式,若数据格式 为文件格式,则连接到对应主机提取文件格式的业务数据,若数据格式为数据串格式,则连 接到对应数据库提取数据串格式的业务数据。9. 根据权利要求6所述的一种不同文件格式的数据比对方法,其特征在于,实现步骤S3 的具体步骤为: 步骤S301:根据预设的数据量阈值判断提取的业务数据的大小是否达到数据量阈值, 如果未达到,则执行步骤S302,否则步骤S303; 步骤S302:根据第一比较指令将业务数据以key-value的数据形式进行改写,再将改写 的业务数据载入应用缓存中进行比较,从而获得差异数据; 步骤S303:根据第二比较指令将业务数据以key-value的数据形式进行改写,再将改写 的业务数据载入数据库临时表中进行比较,从而获得差异数据。10. 根据权利要求6所述的一种不同文件格式的数据比对方法,其特征在于,所述步骤 S302中,改写的业务数据包括key值和value值,将key值保存至MAP_A应用缓存中,将value 值保存至MAP_B应用缓存中,再循环遍历各个key值并与value值进行比较,从而获得差异数 据; 所述步骤S303中,改写的业务数据包括key值和value值,将key值保存至数据库TAB_A 临时表中,将value值保存至数据库时表中,再循环遍历各个key值并与value值进 行比较,从而获得差异数据。
【文档编号】G06F17/30GK106021301SQ201610290710
【公开日】2016年10月12日
【申请日】2016年5月5日
【发明人】李建华
【申请人】北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1