本发明涉及数据处理领域,尤其涉及一种面向预防接种系统的数据更新方法。
背景技术:
1、预防接种是一项重要的公共卫生措施,因此需要垂直管理接种信息,即需要在不同层次的预防接种系统(例如省级、地市级等)之间进行数据交换(包括数据的上传和回落),从而导致所述系统中数据更新频繁。因此,需要有高效且能满足预防接种业务需求的方法提高数据更新的准确性,降低数据迁移和更新过程中产生的错误。
2、目前现有的预防接种系统没有关注上述问题,容易导致来自客户端b的新版本数据被客户端a的旧版本数据覆盖的情况。因此,提供提高数据更新准确性的方法成为亟需解决的问题。
技术实现思路
1、鉴于上述的分析,本发明旨在提供一种面向预防接种系统的数据更新方法,用以解决现有预防接种系统数据更新准确性低,容易在数据迁移和更新过程中产生错误的问题。
2、本发明提供了一种面向预防接种系统的数据更新方法,所述方法包括以下步骤:
3、对数据中的字段进行区域划分并确定每个区域的权重值;
4、对每个输入数据,获取该输入数据每个字段的hash值,基于所述每个字段的hash值及其对应区域的权重值得到该输入数据的数据指纹;
5、创建数据存储结构存储所述每个输入数据的数据指纹、字段名称及其数值、版本信息、数据完整性校验得分;
6、根据每个输入数据的数据完整性校验得分创建数据完整性校验得分倒排索引,基于所述数据完整性校验得分、数据的版本信息和数据指纹对于加权特征区域中字段缺失数值的输入数据进行更新,基于所述数据完整性校验得分、数据的版本信息、数据指纹和数据完整性校验得分倒排索引对于数据完整性校验得分小于阈值的输入数据进行更新。
7、进一步地,所述基于所述数据完整性校验得分、数据的版本信息和数据指纹对于加权特征区域中字段缺失数值的输入数据进行更新包括:
8、基于所述输入数据的数据指纹找到与其相似度大于阈值的其他输入数据作为其相似数据;
9、从所述相似数据中选取数据完整性校验得分最高的数据,若存在多个数据完整性校验得分最高的数据则从中选取版本最新的数据;
10、将所选数据的相应数值更新到所述输入数据缺失数值的字段中并更新其版本信息。
11、进一步地,通过下述方法进行相似度计算:
12、similarity=1-(hamm_dist(a,b)/k),
13、其中,similarity为相似度,a、b为两条输入数据,hamm_dist(a,b)为a、b的汉明距离,k为数据指纹的位数。
14、进一步地,所述基于所述数据完整性校验得分、数据的版本信息、数据指纹和数据完整性校验得分倒排索引对于数据完整性校验得分小于阈值的输入数据进行更新包括:
15、基于所述完整性校验得分倒排索引筛选出所有数据完整性校验得分小于阈值的输入数据;
16、对每个数据完整性校验得分小于阈值的输入数据:
17、若该数据中存在字段缺失的数值可由该数据的其他字段数值推断得到,则自动推断、更新所述缺失的数值并更新该数据的版本信息;
18、基于该数据的数据指纹找到与其相似度大于阈值的其他输入数据作为其相似数据;
19、从所述相似数据中选取数据完整性校验得分最高的数据,若存在多个数据完整性校验得分最高的数据则从中选取版本最新的数据;
20、若所选数据中存在输入数据缺失数值的字段对应的数值,则将所选数据的相应数值更新到所述输入数据缺失数值的字段中并更新其版本信息。
21、进一步地,所述创建数据存储结构存储所述每个输入数据的数据指纹、字段名称及其数值、版本信息、数据完整性校验得分包括:
22、创建存储结构,其中每条记录对应一个输入数据,所述每条记录包含三个字段key、type和value;
23、字段key为对应输入数据的数据指纹,用于唯一标识每条记录;
24、字段type为该条记录的类型,包括“data”、“integrity”、“version”;
25、字段value为该条记录对应于字段type的数值,包括对应输入数据的字段数值、数据完整性校验得分、版本信息。
26、进一步地,所述创建数据完整性校验得分倒排索引包括:
27、创建数据完整性校验得分倒排索引结构,用于按照数据完整性校验得分建立索引;
28、将数据完整性校验得分按照预设间隔进行划分,建立对应的索引区间,每个索引区间对应一个得分段;
29、每个索引区间对应一个列表,所述列表包含对应得分段的数据的数据指纹。
30、进一步地,所述对输入数据中的字段进行区域划分包括:
31、根据业务经验将疫苗行业输入数据中重要的字段划分为加权特征区域,将其余字段划分为其他特征区域;
32、所述加权特征区域包括疫苗追溯码、疫苗批号、预防接种类型、疫苗属性编码、接种单位内码;
33、所述其他特征区域包括接种记录编号、接种部位代码、生产企业代码、疫苗价格。
34、进一步地,所述基于所述每个字段的hash值及其对应区域的权重值得到该输入数据的数据指纹包括:
35、将所述每个字段的hash值进行编码后,将hash值的每一位与其对应区域的权重值相乘得到加权的hash值;
36、将所述每个字段加权的hash值按对应位累加得到所述输入数据合并的simhash值;
37、将所述合并的simhash值转换为二进制得到所述输入数据的数据指纹。
38、进一步地,所述数据完整性校验得分通过下述方法得到:
39、设置该输入数据的数据完整性校验得分的初始值;
40、计算n值,所述n值为2与该数据加权特征区域字段数量与其他特征区域字段数量之和的乘积;
41、遍历加权特征区域和其他特征区域中的每个字段,获得加权特征区域、其他特征区域中字段的数值缺失且该数值不可由其他字段的数值推断的字段个数n1、n2以及加权特征区域、其他特征区域中字段的数值缺失且该数值可由其他字段的数值推断的字段个数n3、n4;
42、用所述初始值减去2*n1/n、1*n2/n、1*n3/n、0.5*n4/n之和,得到该输入数据的数据完整性校验得分。
43、进一步地,将加权特征区域的权重值设为3,将其他特征区域的权重值设为1。
44、与现有技术相比,本发明至少可实现如下有益效果之一:
45、1、本发明通过数据完整性校验得分、数据的版本信息、数据指纹和数据完整性校验得分倒排索引对输入数据进行更新,提高了数据更新的准确性,降低了数据迁移和更新过程中产生的错误。
46、2、本发明通过创建数据完整性校验得分倒排索引,提高了数据检索的效率。
47、3、本发明通过获取数据完整性校验得分,提高了数据完整性评估的准确性。
48、4、本发明通过对输入数据中的重要字段进行加权得到输入数据的数据指纹,使所述数据指纹更符合疫苗行业的特点。
49、本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
1.一种面向预防接种系统的数据更新方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述基于所述数据完整性校验得分、数据的版本信息和数据指纹对于加权特征区域中字段缺失数值的输入数据进行更新包括:
3.根据权利要求2所述的面向预防接种系统的数据更新方法,其特征在于,通过下述方法进行相似度计算:
4.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述基于所述数据完整性校验得分、数据的版本信息、数据指纹和数据完整性校验得分倒排索引对于数据完整性校验得分小于阈值的输入数据进行更新包括:
5.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述创建数据存储结构存储所述每个输入数据的数据指纹、字段名称及其数值、版本信息、数据完整性校验得分包括:
6.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述创建数据完整性校验得分倒排索引包括:
7.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述对输入数据中的字段进行区域划分包括:
8.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述基于所述每个字段的hash值及其对应区域的权重值得到该输入数据的数据指纹包括:
9.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,所述数据完整性校验得分通过下述方法得到:
10.根据权利要求1所述的面向预防接种系统的数据更新方法,其特征在于,将加权特征区域的权重值设为3,将其他特征区域的权重值设为1。