一种信息归并方法及系统
技术领域
本发明涉及数据库信息管理技术领域,尤其涉及一种信息归并方法及系统。
背景技术
当今众多的大型网站都使用了网站内容发布系统。由于子公司的存在及不同部门的划分,加上电脑硬件的限制,大量数据经常被分布地存储到多个原始数据存储单元中。网站内容发布系统最关心以下两点:一是发布的信息的准确性和完整性,二是从原始数据存储单元中获取信息的效率。
现有的网站内容发布系统大多采用直接从原始数据存储单元中获取信息进行发布的方法,当信息涉及到多个原始数据存储单元时,每次信息获取都要访问多个原始数据存储单元,效率较低,而且随着信息量的增大,这些原始数据存储单元中的信息不可避免会地会存在重复、相似等冗余,直接从原始数据存储单元中获取信息进行发布,会造成发布信息的不完整或误差。
发明内容
针对以上问题,本发明提供一种信息归并方法及系统,用以解决现有技术中从多个原始数据存储单元中获取信息效率低和发布的信息存在过多冗余的问题。
为解决上述问题,本发明提供的一种信息归并方法,应用于包含一个以上用于存储原始数据的原始数据存储单元、中心数据存储单元和用户终端的系统中,所述方法包括以下步骤:
A、用户终端从所述原始数据存储单元中获取原始数据;
B、用户终端将所述获取的原始数据进行归并;
C、用户终端将归并后的数据存储到中心数据存储单元。
步骤A中用户终端通过多线程从所述原始数据存储单元中获取原始数据。
步骤A中用户终端采用批量读取方式从所述原始数据存储单元中获取原始数据。
所述系统进一步包括归并数据存储单元、数据缓冲单元和临时数据存储单元,则步骤B所述用户终端将所述获取的原始数据进行归并的步骤为:
B1、用户终端在归并数据存储单元中为每个原始数据存储单元建立一归并数据表,该归并数据表的字段包括对应原始数据存储单元中所有字段和归并标记字段,将从原始数据存储单元获取的原始数据存储到对应的归并数据表中,并将该归并数据表的归并标记字段内容初始化为未归并;
B2、用户终端将所述归并数据表中主键内容与临时数据存储单元中主键内容相同的数据的归并标记字段内容修改为已归并;
B3、用户终端将所述归并数据表中的数据存储到数据缓冲单元,在数据缓冲单元中对数据进行归并。
步骤B1中用户终端在归并数据存储单元中为每个原始数据存储单元建立一归并数据表前,清除归并数据存储单元和数据缓冲单元中的数据。
步骤B3包括:
B31、用户终端在数据缓冲单元中建立数据表,该数据表的字段包括归并数据表中的所有字段;
B32、用户终端根据预先设定的归并规则将所述归并数据表中的数据存储到所述数据表;
B33、用户终端将预先设定的原始数据存储单元中的字段作为归并字段,根据预先选定的运算规则和该归并字段将所述数据表中满足运算规则的所有数据归并为一条数据,将所述满足运算规则的所有数据作为被归并数据,在数据缓冲单元中删除所述被归并数据。
步骤B32所述归并规则包括增量归并或全新归并。
步骤B33所述运算规则包括相等归并、包含归并或等于归并。
步骤B33中在数据缓冲单元中删除所述被归并数据前,在归并数据存储单元中将所述被归并数据的归并标记字段内容设置为已归并,并将归并数据存储单元中归并标记字段内容为已归并的数据存储到临时数据存储单元。
一种信息归并系统,该系统包括:
一个以上的原始数据存储单元,所述原始数据存储单元用于存储原始数据;
用户终端,用于从所述原始数据存储单元中获取原始数据,将获取的原始数据进行归并,并将归并后的数据存储到中心数据存储单元;
中心数据存储单元,用于存储所述归并后的数据。
所述系统进一步包括:
归并数据存储单元,用于存储所述从原始数据存储单元获取的原始数据;
临时数据存储单元,用于存储所述归并数据存储单元中归并标记字段内容为已归并的数据;
数据缓冲单元,用于存储所述归并数据存储单元中的数据。
所述用户终端包括:
线程读取单元,用于从所述原始数据存储单元中获取原始数据;
归并处理单元,用于将获取的原始数据进行归并;
结果储存单元,用于将所述归并后的数据存储到中心数据存储单元。
所述归并处理单元包括:
存储单元,用于清除归并数据存储单元和数据缓冲单元中的数据,在归并数据存储单元中为每个原始数据存储单元建立一归并数据表,该归并数据表的字段包括对应原始数据存储单元中所有字段和归并标记字段,将从原始数据存储单元获取的原始数据存储到对应的归并数据表中,并将该归并数据表的归并标记字段内容初始化为未归并;
修改单元,用于将所述归并数据表中主键内容与临时数据存储单元中主键内容相同的数据的归并标记字段内容修改为已归并;
归并单元,用于将所述归并数据表中的数据存储到数据缓冲单元,在数据缓冲单元中对数据进行归并。
所述归并单元包括:
保存单元,用于在数据缓冲单元中建立数据表,该数据表的字段包括归并数据表中的所有字段;
读取单元,用于根据预先设定的归并规则将所述归并数据表中的数据存储到所述数据表;
处理单元,用于将预先设定的原始数据存储单元中的字段作为归并字段,根据预先选定的运算规则和该归并字段将所述数据表中满足运算规则的所有数据归并为一条数据,将所述满足运算规则的所有数据作为被归并数据,在归并数据存储单元中将所述被归并数据的归并标记字段内容设置为已归并,并将归并数据存储单元中归并标记字段内容为已归并的数据存储到临时数据存储单元,在数据缓冲单元中删除所述被归并数据。
本发明中,用户终端从多个原始数据存储单元中获取数据并将获取的数据进行归并后存储到中心数据存储单元,需要获取数据时直接从该中心数据存储单元中获取,采用本发明所述的方法,避免了每次都从多个原始数据存储单元中获取数据,提高了效率,同时将相似的数据进行合并,提高了数据的完整性。
附图说明
图1为本发明中归并处理方法的具体流程图;
图2为本发明中归并处理系统的结构示意图。
具体实施方式
本发明提供的一种信息归并方法,应用于包含一个以上用于存储原始数据的原始数据存储单元、中心数据存储单元、归并数据存储单元、临时数据存储单元、数据缓冲单元和用户终端的系统中,该方法的核心思想是获取多个原始数据存储单元中的原始数据并将获取的数据进行归并,将归并后的数据存入中心数据存储单元,需要荻取数据时直接访问该中心数据存储单元。
参见图1,本发明提供的一种信息归并方法的步骤包括:
101、用户终端通过多线程以批量读取的方式从原始数据存储单元中获取原始数据;
102、用户终端将所述获取的原始数据进行归并;
本步骤中,首先,用户终端清除归并数据存储单元和数据缓冲单元中的数据,在归并数据存储单元中为每一个原始数据存储单元建立一归并数据表,该归并数据表的字段包括对应原始数据存储单元中的所有字段和归并标记字段,将从原始数据存储单元中获取的原始数据存储到对应的归并数据表中,并将该归并数据表的归并标记字段内容初始化为未归并;
接着,用户终端将所述归并数据表中主键内容与临时数据存储单元中主键内容相同的数据的归并标记字段内容修改为已归并;
然后,用户终端在数据缓冲单元中建立数据表,该数据表的字段包括归并数据表中的所有字段,再根据预先设定的归并规则将所述归并数据表中的数据存储到所述数据表,所述归并规则包括增量归并或全新归并,若预先设定的归并规则为增量归并,则将所述归并数据表中归并标记字段内容为未归并的数据存储到所述数据表,若预先设定的归并规则为全新归并,则将所述归并数据表中的所有数据存储到所述数据表;
接下来,用户终端将预先设定的运算规则和归并字段将所述数据表中满足运算规则的所有数据归并为一条数据,归并字段以外的其他字段内容进行叠加作为归并后字段的内容;将所述满足运算规则的所有数据作为被归并数据,在归并数据存储单元中将所述被归并数据的归并标记字段内容设置为已归并,并将归并数据存储单元中归并标记字段内容为已归并的数据存储到临时数据存储单元,最后在数据缓冲单元中删除所述被归并数据;
所述预先设定的运算规则包括相等归并、包含归并或等于归并,其中相等归并是指所述数据缓冲单元中存在两条以上归并字段内容完全相同的数据时进行归并,归并步骤为:将所述两条以上归并字段内容完全相同的数据归并为一条数据,归并字段以外的其他字段内容进行叠加作为归并后字段的内容;包含归并是指所述数据缓冲单元中存在两条以上归并字段内容均包含某一特定内容的数据时进行归并,该特定内容由用户输入,归并步骤为:将所述两条以上归并字段内容均包含某一特定内容的数据归并为一条数据,归并字段以外的其他字段内容进行叠加作为归并后字段的内容;等于归并是指所述数据缓冲单元中存在两条以上归并字段内容完全等于某一特定内容的数据时进行归并,该特定内容由用户输入,归并步骤为:将所述两条以上归并字段内容完全等于某一特定内容的数据归并为一条数据,归并字段以外的其他字段内容进行叠加作为归并后字段的内容。所述归并字段是预先设定的原始数据存储单元中的任何字段;
103、将上述数据缓冲单元中归并后的数据存储到中心数据存储单元。
当需要从一个以上的原始数据存储单元中获取数据时,直接访问中心数据存储单元,从该中心数据存储单元中获取数据。
下面结合具体实施例对本发明提供的一种信息归并方法进行说明。
假设一个企业5个部门的客户信息分别存放在原始数据存储单元1、原始数据存储单元2、原始数据存储单元3、原始数据存储单元4和原始数据存储单元5中,每条客户信息均包括用户标识、姓名、性别、年龄、电话和地址字段,其中主键为用户标识字段,预先设定的归并字段为原始数据存储单元中的地址字段,预先设定的归并规则为增量归并,运算规则为包含归并,那么对这5个原始数据存储单元的客户信息的归并过程如下:
1、用户终端通过多线程以批量读取的方式从各原始数据存储单元中获取原始数据;
2、首先,用户终端清除归并数据存储单元和数据缓冲单元中的数据,为每一个原始数据存储单元建立一归并数据表,该归并数据表的字段包括用户标识、姓名、性别、年龄、电话、地址字段和归并标记字段,将所述从原始数据存储单元中获取的原始数据存储到对应的归并数据表中,并将该归并数据表的归并标记字段内容初始化为未归并;接着,用户终端将所述归并数据表中用户标识字段内容与临时数据存储单元中用户标识字段内容相同的数据的归并标记字段内容修改为已归并,在数据缓冲单元中建立包括用户标识、姓名、性别、年龄、电话、地址和归并标记字段的数据表,根据预先选定的归并规则将所述归并数据表中归并标记字段内容为未归并的数据存储到该数据表中;然后,用户终端根据预先选定的运算规则和归并字段将所述数据表中的数据进行归并,即若数据表中存在两条以上地址字段内容包含某一特定内容的数据,该特定内容由用户输入,假设用户输入的特定内容为“上地”,则将数据表中所有地址字段内容包含“上地”的数据归并为一条数据,将地址字段以外的其他字段内容进行叠加作为归并后字段的内容;最后,将归并数据存储单元中所述地址字段内容包含“上地”的数据的归并标记字段内容设置为已归并,将归并数据存储单元中归并标记字段内容为已归并的数据存储到临时数据存储单元,再将该数据在数据缓冲单元中删除;
3、用户终端将所述数据缓冲单元中的数据存储到中心数据存储单元。
当需要从多个原始数据存储单元中获取数据时,直接访问中心数据存储单元,从该中心数据存储单元中获取数据。
参见图2,本发明还提供一种信息归并系统,该系统包括:
一个以上的原始数据存储单元21,所述原始数据存储单元用于存储原始数据;
用户终端22,用于从所述原始数据存储单元中获取原始数据,将获取的原始数据进行归并,并将归并后的数据存储到中心数据存储单元;
中心数据存储单元23,用于存储所述归并后的数据;
归并数据存储单元24,用于存储所述从原始数据存储单元获取的原始数据;
数据缓冲单元25,用于存储所述归并数据存储单元中的数据;
临时数据存储单元26,用于存储所述归并数据存储单元中归并标记字段内容为已归并的数据。
所述用户终端包括:
线程读取单元221,用于从所述原始数据存储单元中获取原始数据;
归并处理单元222,用于将获取的原始数据进行归并;
结果储存单元223,用于将所述归并后的数据存储到中心数据存储单元。
所述归并处理单元包括:
存储单元2221,用于清除归并数据存储单元和数据缓冲单元中的数据,在归并数据存储单元中为每个原始数据存储单元建立一归并数据表,该归并数据表的字段包括对应原始数据存储单元中所有字段和归并标记字段,将从原始数据存储单元获取的原始数据存储到对应的归并数据表中,并将该归并数据表的归并标记字段内容初始化为未归并;
修改单元2222,用于将所述归并数据表中主键内容与临时数据存储单元中主键内容相同的数据的归并标记字段内容修改为已归并;
归并单元2223,用于将所述归并数据表中的数据存储到数据缓冲单元,在数据缓冲单元中对数据进行归并。
所述归并单元包括:
保存单元22231,用于在数据缓冲单元中建立数据表,该数据表的字段包括归并数据表中的所有字段;
读取单元22232,用于根据预先设定的归并规则将所述归并数据表中的数据存储到所述数据表;
处理单元22233,用于将原始数据存储单元中的字段作为归并字段,根据预先选定的运算规则和该归并字段将所述数据表中满足运算规则的所有数据归并为一条数据,将所述满足运算规则的所有数据作为被归并数据,在归并数据存储单元中将所述被归并数据的归并标记字段内容设置为已归并,并将归并数据存储单元中归并标记字段内容为已归并的数据存储到临时数据存储单元,在数据缓冲单元中删除所述被归并数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。