一种应用程序系统间数据收集的方法 【技术领域】
本发明涉及一种计算机应用技术,是面向专业技术终端操作人员使用地,可以迅速高效进行应用程序系统间数据收集的方法。
背景技术
目前在企业中存在多种应用程序,对于各自的应用程序而言都有自己的基础数据,而本企业往往很难在每套应用程序中制定同一的标准并执行,这种应用程序系统间数据收集的方法能够很好的解决此难题。
【发明内容】
本发明的目的是提供一种应用程序系统间数据收集的方法。
本发明的目的是按以下方式实现的,在源系统中的数据库中建立只读的安全用户提供目的应用系统需要的数据,在目的数据库中利用源数据库中的用户建立需要数据的视图,利用数据库的存储过程处理数据的读取来源先是本地数据没有附和条件的记录后再读取源数据库中的数据,在数据的使用过程中判断数据来源,当来源于源数据的情况下调用数据库的存储过程处理到本系统中来源于本地数据库的数据可快速的进行操作,随着本地系统的使用逐渐的将源数据库系统中的数据转换为本地数据。
本发明的具有功能和有益效果
1)突破了传统的应用程序基础数据预制方式(一次初始化预制使用过程中人为增加的方式)提供了一种动态基础数据收集的方法。解决了一个企业中多个应用系统编码不同一的问题。
2)通过数据库间的访问快捷、方便、可扩展性好。
3)本方法增加基础数据具有联动性和动态性。
【附图说明】
图1是数据结转原理图。
【具体实施方式】
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 identified by
Passowrd using’orcl’;create or replace viewV_SourceDBName_TableName as select*from v_sourceview;
4)在目的数据库建立读取所需数据的存储过程(由于复杂度问题我在这里只描述一下关键伪代码):
<条件1>=<参数>+<组合逻辑处理1>;
<查询1>=<查询内容>+<条件1>+<本地库>;
<结果1>=执行<查询1>;
If<结果1>>0 then
Return<结果1>;
Else
<查询2>=<查询内容>+<条件1>+<源数据库>;
<结果2>=执行<查询2>;
If<结果2>>0then
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
Return<空>;
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(记录数)
预制到数节点,形成类别数;
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>。