一种应用程序系统间数据收集的方法

文档序号:6481195阅读:233来源:国知局
专利名称:一种应用程序系统间数据收集的方法
技术领域
本发明涉及一种计算机应用技术,是面向专业技术终端操作人员使用的,可以
迅速高效进行应用程序系统间数据收集的方法。
背景技术
目前在企业中存在多种应用程序,对于各自的应用程序而言都有自己的基础数 据,而本企业往往很难在每套应用程序中制定同一的标准并执行,这种应用程序系统间 数据收集的方法能够很好的解决此难题。

发明内容
本发明的目的是提供一种应用程序系统间数据收集的方法。 本发明的目的是按以下方式实现的,在源系统中的数据库中建立只读的安全用 户提供目的应用系统需要的数据,在目的数据库中利用源数据库中的用户建立需要数据 的视图,利用数据库的存储过程处理数据的读取来源先是本地数据没有附和条件的记录 后再读取源数据库中的数据,在数据的使用过程中判断数据来源,当来源于源数据的情 况下调用数据库的存储过程处理到本系统中来源于本地数据库的数据可快速的进行操 作,随着本地系统的使用逐渐的将源数据库系统中的数据转换为本地数据。
本发明的具有功能和有益效果 1)突破了传统的应用程序基础数据预制方式( 一次初始化预制使用过程中人为增 加的方式)提供了一种动态基础数据收集的方法。解决了一个企业中多个应用系统编码 不同一的问题。 2)通过数据库间的访问快捷、方便、可扩展性好。
3)本方法增加基础数据具有联动性和动态性。


图l是数据结转原理图。
具体实施例方式l)在源数据库中创建一个用户create database link DBL_FT_SCADA connect to UserName identified byPassowrd using' orcl, ; create or replace view V_SourceDBName_TableName as



select*from v_sourceview ; 4)在目的数据库建立读取所需数据的存储过程(由于复杂度问题我在这里只描述 一下关键伪代码) <条件1> = <参数>+<组合逻辑处理1> ; <查询1> = <查询内容>+<条件l>+<本地库> ; <结果1> =执行<查询1> ; If<结果1> > 0 then Return<结果1> ; Else <查询2> = <查询内容>+<条件l>+<源数据库> ; <结果2> =执行 < 查询2> ; If<结果2> > Othen Return<结果2> ; Else <条件2> = <参数>+<组合逻辑处理2> ; <查询3> = <查询内容>+<条件2>+<本地库> ; <结果3>=执行<查询3>; If<结果3> > 0 then Return<结果3> ; Else <查询4> = <查询内容>+<条件2>+<源数据库> ; <结果4> =执行<查询4>; If<结果4> > 0 then Return<结果4> ; Else Retum〈空〉; End if ; End if ; End if ; End if ; 5)在目的数据库建立新增所需数据的存储过程(关键伪代码) If<源数据 > 合法then <完整数据 > = < 源数据>+<组合逻辑> ; <完整数据1> = <按本系统逻辑拆分完成数据> ; 插入本地库 < 完整数据1> ; <完整数据2> = <按本系统逻辑拆分完成数据> ; 插入本地库 < 完整数据2> ; …… Else
6
Return< f昔误> ; End if ; 主要程序组件 1)嵌入系统的关键界面 界面及功能描述窗体左边部分为数据的类属性(可分级),通过鼠标双击此属
性将此属性作为附加条件触发过滤事件将内容展现在右边窗体中的数据展现区,左上部
分有一个类别控制的选项,如果选中则在根据右边索引条件搜索时把类别条件也附加进
去,如果不选中则在通过右边条件索引搜索时不附加类别条件。窗体右边部分又分索引
区和数据展现区、操作区。索引区有个编号控制选项如果选中则按编号作为条件进行搜
索如果不选中则按特征值进行搜索,搜索按钮触发搜索事件,数据展现区主要展现数据
主要属性便于操作。操作区包含确定和取消两个按钮,确定按钮对选中的数据进行加工
处理,确定为被用户使用,取消则不进行任何操作关闭此窗口。 2)类别控制组件关键伪代码 窗体装载 取出类别级数i; For(类别技术) 取出当前级类别位数j; 根据位数取出记录数; For(记录数) 预制到数节点,形成类别数; Next next 类别双击事件 取出当前被双击的节点值; 条件= < 类别逻辑>+<节点值> ; 把条件和索引类型作为参数触发搜索事件。 3)搜索中的关键伪代码 初始一个空的dataSet; 初始一个空的OLDDatase ; 把被选择的数据倒入OLDDatase中缓存起来; 根据索引条件得到的值赋给dataSet; 将OLDDatase和dataSet累加起来对数据进行绑定; 4)确定过程处理关键伪代码 此过程返回根据用户条件得到的DataSet; For(窗体记录数i) { <选中否 > = < 记录i选择列的值> ; If<没选中>then 继续循环;
<来源 > = < 记录i来源列的值> ; If<来源> =二 <源数据>then <归集数据> ; <调研插入本地的存储过程> ; End if; <要返回的DataSet> = <要返回的DataSet>+<记录i> ; End if ; } 〈返回DataSet〉。
权利要求
一种应用程序系统间数据收集的方法,其特征在于,在源系统中的数据库中建立只读的安全用户提供目的应用系统需要的数据,在目的数据库中利用源数据库中的用户建立需要数据的视图,利用数据库的存储过程处理数据的读取来源先是本地数据没有附和条件的记录后再读取源数据库中的数据,在数据的使用过程中判断数据来源,当来源于源数据的情况下调用数据库的存储过程处理到本系统中来源于本地数据库的数据可快速的进行操作,随着本地系统的使用逐渐的将源数据库系统中的数据转换为本地数据,具体包括如下步骤河内容1)在源数据库中创建一个用户create user UserName identified by password;2)给此用户赋予需要数据的读取权限grant connect to UserName;grant select,references,index on ReqTables to UserName;3)在目的数据库中建立源数据库开放的数据视图create database link DBL_FT_SCADA connect to UserName dentified byPassowrd using’orcl’;create or replace view V_SourceDBName_TableName as select*from v_sourceview;4)在目的数据库建立读取所需数据的存储过程;<条件1>=<参数>+<组合逻辑处理1>;<查询1>=<查询内容>+<条件1>+<本地库>;<结果1>=执行<查询1>;If<结果1>>0then Return<结果1>; Else <查询2>=<查询内容>+<条件1>+<源数据库>; <结果2>=执行<查询2>; If<结果2>>0then Return<结果2>; Else <条件2>=<参数>+<组合逻辑处理2>; <查询3>=<查询内容>+<条件2>+<本地库>; <结果3>=执行<查询3>; If<结果3>>0then Return<结果3>; Else <查询4>=<查询内容>+<条件2>+<源数据库>; <结果4>=执行<查询4>; If<结果4>>0then Return<结果4>; ElseReturn<空>; End if;End if; End if; End if; 5)在目的数据库建立新增所需数据的存储过程If<源数据>合法then <完整数据>=<源数据>+<组合逻辑>; <完整数据1>=<按本系统逻辑拆分完成数据>; 插入本地库<完整数据1>; <完整数据2>=<按本系统逻辑拆分完成数据>; 插入本地库<完整数据2>; …… Else Return<错误>;End if;主要程序组件如下1)嵌入系统的关键界面界面及功能描述窗体左边部分为数据的类属性,通过鼠标双击此属性将此属性作为附加条件触发过滤事件将内容展现在右边窗体中的数据展现区,左上部分有一个类别控制的选项,选中则在根据右边索引条件搜索时把类别条件也附加进去,不选中则在通过右边条件索引搜索时不附加类别条件,窗体右边部分又分索引区和数据展现区、操作区,索引区有个编号控制选项,选中则按编号作为条件进行搜索,不选中则按特征值进行搜索,搜索按钮触发搜索事件,数据展现区主要展现数据主要属性便于操作,操作区包含确定和取消两个按钮,确定按钮对选中的数据进行加工处理,确定为被用户使用,取消则不进行任何操作关闭此窗口;2)类别控制组件关键伪代码窗体装载取出类别级数i;For(类别技术) 取出当前级类别位数j; 根据位数取出记录数; For(记录数) 预制到数节点,形成类别数;Nextnext类别双击事件取出当前被双击的节点值;条件=<类别逻辑>+<节点值>;把条件和索引类型作为参数触发搜索事件;3)搜索中的关键伪代码初始一个空的dataSet;初始一个空的OLDDatase;把被选择的数据倒入OLDDatase中缓存起来;根据索引条件得到的值赋给dataSet;将OLDDatase和dataSet累加起来对数据进行绑定;4)确定过程处理关键伪代码此过程返回根据用户条件得到的DataSet;For(窗体记录数i){ <选中否>=<记录i选择列的值>; If<没选中>then继续循环; <来源>=<记录i来源列的值>; If<来源>==<源数据>then<归集数据>; <调研插入本地的存储过程>; End if; <要返回的DataSet>=<要返回的DataSet>+<记录i>; End if;}<返回DataSet>。
全文摘要
本发明提供一种应用程序系统间数据收集的方法,改方法是在源系统中的数据库中建立只读的安全用户提供目的应用系统需要的数据,在目的数据库中利用源数据库中的用户建立所需数据的视图,在目的数据库中建立存储过程来处理应用程序所需数据,根据所需数据条件首先检索本地数据库,如果本地数据库存有符合条件的记录则直接读取,如果没有则读取源数据库中的数据,在应用程序的使用过程中判断数据来源,当来源于源数据的情况下调用数据库的存储过程把所需数据处理到本系统中,来源于本地数据库的数据可快速的进行操作,随着应用程序的使用逐渐的将源数据库系统中的数据转换为本地数据。
文档编号G06F9/44GK101692204SQ20091001816
公开日2010年4月7日 申请日期2009年9月8日 优先权日2009年9月8日
发明者李英潮 申请人:浪潮集团山东通用软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1