主权项 |
基于值‑列映射的通用单字段拆分数据抽取方法,其特征在于,包括如下步骤:步骤1:构建拆分配置表;步骤1.1对字段拆分适用对象进行配置;步骤1.11选择配置表的源数据库DB<sub>S</sub>和源数据表S;步骤1.12分别设置源数据表S的描述字段F1、F2、F3、…、拆分字段V、数据说明字段K;步骤1.13选择配置表的目的数据库DB<sub>D</sub>和目的表D;步骤1.14设置目的表描述字段序列X1、X2、X3、…,及其与源数据表S的描述字段F1、F2、F3、…的对应关系;步骤1.2对值‑列映射关系的数据结构进行配置;将源数据表S中字段K的所有取值K<sub>1</sub>,K<sub>2</sub>,K<sub>3</sub>,…,K<sub>i</sub>与目的表D中的数据字段V<sub>1</sub>、V<sub>2</sub>、V<sub>3</sub>、…、V<sub>j</sub>之间建立一一映射关系,表示为M={(Ki,Vj)},其中Ki表示字段K中的第i个数值,Vj表示目的表D中的第j个字段; 步骤2:读取配置表中的配置信息完成数据的抽取与转换;步骤2.1按照配置表中定义的源数据库DB<sub>S</sub>和源数据表S,连接数据库DB<sub>S</sub>,并从源数据表S中抽取所有数据行,设为数据集R;步骤2.2按照配置表中定义的目的数据库DB<sub>D</sub>和目的数据表D,连接数据库DB<sub>D</sub>;步骤2.3从配置表中读取拆分值‑列映射关系集合M;步骤2.4对被抽取数据集合R中的每一行r执行如下操作:2.41在值‑列映射集合M中查找K<sub>i</sub>等于r行字段K当前数值的值‑列映射V<sub>j</sub>; 2.42在目的数据库DB<sub>D</sub>的目的数据表D中查询描述字段X1、X2、X3、…和表S中描述字段F1、F2、F3、…具有相同数值的数据行;2.43如果2.42的查询结果为空,则执行2.44插入新数据,否则执行2.45更新原有数据;2.44在目的数据库DB<sub>D</sub>的目的数据表D中执行插入新数据行,令新数据行的描述字段X1、X2、X3、…的值依次等于源数据表S中各描述字段F1、F2、F3、…的值,并且字段V<sub>j</sub>的值等于表S中行r的拆分字段V的值;2.45在目的数据库DB<sub>D</sub>的目的数据表D中执行更新数据行语句,令该行的字段V<sub>j</sub>的值等于源数据表S中行r的拆分字段V的值;2.46检查当前行是否是集合R的最后一行,如不是则取下一行转2.42,否则转步骤3结束;步骤3结束。 |