一种检测数据时效性的方法和系统
技术领域
本发明涉及大数据领域,具体涉及一种检测数据时效性的方法和系统。
背景技术
数据的时效性问题普遍存在于各类实际应用中,是影响数据质量的重要因素之一。随着时间的推移,数据质量会快速的下降,有统计称,在商业数据库中,约有2%的客户信息会在一个月内变得陈旧,也就是说,在2年内,会有近50%的记录因为过时而使其可用性受到影响。在企业决策时,企业往往会因为使用了陈旧的数据而做出错误的决策,更不用说是不完整或有错误的数据。而在日常生活中,银行可能会将信用卡账单寄送到持有人搬家前的旧地址。劣质数据每年给美国造成的经济损失高达6000亿美元而时效性差正是造成数据劣质的罪魁祸首之一。通常,很多应用数据库中都没有时间戳。即使存在时间戳,由于数据缺乏及时有效的维护或数据集成等原因,这些时间戳经常不可用或不精确而且由于没有一致的时间戳一些数据从其他数据源拷贝或输入的。为此,确保数据时效性是一个十分重要的问题。数据时效性判定问题是确保数据时效性的一个关键问题。无论是数据时效性问题的发现还是数据时效性问题的修复,都首先需要对数据时效性加以判定。在用户使用数据时,往往也首先要求判定数据的时效性。
因此,如何对数据时效性进行评判在数据价值评估方面显得尤为重要。
发明内容
针对上述技术问题,本发明提供一种检测数据失效性的方法和系统。
本发明采用的技术方案为:
本发明的一实施例一种检测数据时效性的方法,包括以下步骤:通过网络爬虫采集待评估的数据文件;查看所述数据文件是否存在时间记录字段;如果所述数据文件中存在时间记录字段,则统计数据文件的时间范围,得到数据文件的时间戳;通过预定的处理方法对数据文件的时效性进行处理。
可选地,所述通过预定的处理方法对数据文件的时效性进行处理具体包括:将所述数据文件划分为结构化数据、半结构化数据和非结构化数据并确定数据文件中的结构化数据、半结构化数据和非结构化数据的权重;分别通过第一预定处理方法、第二预定处理方法和第三预定处理方法对所述结构化数据、半结构化数据和非结构化数据的时效性进行处理;根据所确定的权重和关于结构化数据、半结构化数据和非结构化数据的时效性的值来对所述数据文件的时效性进行处理。
可选地,所述结构化数据是指传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示的数据;所述半结构化数据是指数据具有隐含结构但又不是以二维表之类的形式存在的数据;所述非结构化数据是指没有固定结构的数据,包括办公文档、文本、图片、各类报表、图像和音频、视频信息。
可选地,通过下述公式来得到所述数据文件的时效性值:
其中,G为数据文件的时效性值,Gi为结构化数据、半结构化数据和非结构化数据的时效性值,Qi为结构化数据、半结构化数据和非结构化数据的权重。
可选地,在所述第一预定处理方法中采用下述公式来计算所述结构化数据的时效性值:
Tf:数据记录的最终时间,
Ts:数据记录的起始时间,
Tn:当前时间,
G结构化为结构化数据的时效性值,取值范围为[0,1],G结构化的值越大,表示结构化数据的时效性越强。
可选地,其中,所述数据记录的最终时间和数据记录的起始时间通过R语言或者Excel软件得出。
可选地,在所述第二预定处理方法中采用下述公式来计算所述半结构化数据的时效性值:
Tf:数据记录的最终时间,
Ts:数据记录的起始时间,
Tn:当前时间,
G半结构化为半结构化数据的时效性值,取值范围为[0,1],G半结构化的值越大,表示半结构化数据的时效性越强。
可选地,在所述第三预定处理方法中采用下述公式来计算所述非结构化数据的时效性值:
TR:数据生成时间,
TS:数据最后一次更新时间,
TE:当前时间,
G非结构化为非结构化数据的时效性值,取值范围为[0,1],G非结构化的值越大,表示非结构化数据的时效性越强。
可选地,其中,数据生成时间和数据最后一次更新时间通过查阅元数据说明文档得出。
本发明的另一实施例提供检测数据时效性的系统,包括:数据采集模块,通过网络爬虫来采集待评估的数据文件;数据查阅模块,用于查看数据文件是否有时间记录字段;时间统计模块,如果所述数据文件中存在时间记录字段,则统计数据文件的时间范围,得到数据文件的时间戳;时效性处理模块,通过预定的处理方法对数据文件的时效性进行处理。
可选地,所述时效性处理模块通过预定的处理方法对数据文件的时效性进行处理具体包括:将所述数据文件划分为结构化数据、半结构化数据和非结构化数据并确定数据文件中的结构化数据、半结构化数据和非结构化数据的权重;分别通过第一预定处理方法、第二预定处理方法和第三预定处理方法对所述结构化数据、半结构化数据和非结构化数据的时效性进行处理;根据所确定的权重和关于结构化数据、半结构化数据和非结构化数据的时效性的值来对所述数据文件的时效性进行处理。
可选地,所述结构化数据是指传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示的数据;所述半结构化数据是指数据具有隐含结构但又不是以二维表之类的形式存在的数据;所述非结构化数据是指没有固定结构的数据,包括办公文档、文本、图片、各类报表、图像和音频、视频信息。
可选地,所述时效性处理模块通过下述公式来得到所述数据文件的时效性值:
其中,G为数据文件的时效性值,Gi为结构化数据、半结构化数据和非结构化数据的时效性值,Qi为结构化数据、半结构化数据和非结构化数据的权重。
可选地,在所述第一预定处理方法中采用下述公式来计算所述结构化数据的时效性值:
Tf:数据记录的最终时间,
Ts:数据记录的起始时间,
Tn:当前时间,
G结构化为结构化数据的时效性值,取值范围为[0,1],G结构化的值越大,表示结构化数据的时效性越强。
可选地,所述数据查阅模块通过R语言或者Excel软件来得到结构化数据中的数据记录的最终时间和数据记录的起始时间。
可选地,在所述第二预定处理方法中采用下述公式来计算所述半结构化数据的时效性值:
Tf:数据记录的最终时间,
Ts:数据记录的起始时间,
Tn:当前时间,
G半结构化为半结构化数据的时效性值,取值范围为[0,1],G半结构化的值越大,表示半结构化数据的时效性越强。
可选地,在所述第三预定处理方法中采用下述公式来计算所述非结构化数据的时效性值:
TR:数据生成时间,
TS:数据最后一次更新时间,
TE:当前时间,
G非结构化为非结构化数据的时效性值,取值范围为[0,1],G非结构化的值越大,表示非结构化数据的时效性越强。
可选地,所述数据查阅模块通过查阅元数据说明文档来得出非结构化数据中的数据生成时间和数据最后一次更新时间。
本发明通过对数据文件的时效性进行量化处理,从而能够清楚数据文件的质量,为数据文件的价值评估提供一定的参考依据。
附图说明
图1为本发明实施例提供的检测数据失效性的方法示意图;
图2为本发明实施例提供的检测数据失效性的系统的结构示意图。
具体实施方式
时效性是计算数据所代表的时间区间与数据提供时间之间的关系。数据记录的时间范围越大,距离当前时间越近,数据价值越高。本发明提出一种从数据结构时效性的角度对数据价值进行评估,为数据定价和数据交易提供一定的依据,本发明不是衡量源数据和备份数据是否完全一致性问题,而是针对一个数据文件夹,里面包含各种数据类型的的文件,如JSON,图片,视频,音频等等文件,怎么衡量该文件时效性问题是本发明主要解决的问题。
数据的时效性问题是影响数据质量的重要因素之一。时效性差的数据会对企业决策和人们的日常生活带许多不利影响,这使得判定数据的时效性成为必要。数据时效性是指数据在不同的时间具有很大的性质上的差异,这个差异性我们定义为数据时效性,时效性影响着数据质量,随着时间的推移,数据质量会快速的下降。许多应用数据库中都没有完整、清洁、可用的时间戳,从而导致数据时效性的判定非常困难。本发明主要是针对衡量数据结构的时效性,本发明中所用到的公式中主要利用的时间戳包括:当前时间、记录初始时间和记录的最终时间。然后,通过公式计算得出数据时效性的得分。以下结合附图对本发明的具体实施方式进行描述。
【检测数据时效性的方法】
图1为本发明实施例提供的检测数据时效性的示意图。如图1所示,本发明的检测数据失效性的方法包括以下步骤:
S101:采集待评估数据文件
具体地,可通过数据采集工具来采集的原始数据,例如通过网络爬虫从网络上进行采集,本发明采集的原始数据可为包括多个数据文件集合的数据包,例如可包括视频,图片,音频,二维表,文本等,也有可能是JSON的压缩包,但是并不局限于此。
S102:查看待评估数据文件是否存在时间记录字段
具体地,可通过R语言、Excel等查阅工具来查阅采集的数据文件中是否存在关于时间记录的时间记录字段,例如,在企业信息中,会有一个企业注册时间,在专利数据中,会有申请时间和公开时间等。
S103:确定有时间记录字段的数据文件的时间戳
如果数据文件中存在时间记录字段,则统计该数据文件的时间范围,得出时间戳。具体地,如果数据文件有时间记录字段,则可通过相应的数据分析软件,如Excel软件的透视图(也可通过R语言)来统计出时间的范围,进而得到该数据文件的时间戳,在本发明中,时间范围是指从记录数据的起始时间到记录数据的最终时间,时间戳主要包括当前时间、记录初始时间和记录的最终时间。
S104:利用预定处理方法处理数据文件的时效性
具体地,对于具有时间记录字段的数据文件,通过以下处理方式来处理数据文件的时效性:可通过例如手动操作来将数据文件划分为非结构化数据、半结构化数据和结构化数据并确定数据文件中的结构化数据、半结构化数据和非结构化数据在整个数据文件中的比例,即确定结构化数据、半结构化数据和非结构化数据的权重,可借助于R语言和手动操作来确定各个类型的比例;分别通过第一预定处理方法、第二预定处理方法和第三预定处理方法对所述结构化数据、半结构化数据和非结构化数据的时效性进行处理;根据所确定的权重和关于结构化数据、半结构化数据和非结构化数据的时效性的值来对所述数据文件的时效性进行处理。所述结构化数据是指传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示的数据,例如,存储于csv,txt,spv,excel的数据、二维表;所述半结构化数据是指数据具有隐含结构但又不是以二维表之类的形式存在的数据,介于结构化和非结构化知识源之间的一种知识源;所述非结构化数据是指没有固定结构的数据,例如,所有格式的办公文档、文本、图片、各类报表、图像和音频、视频信息。
<结构化数据的时效性>
在采用第一预定处理方法对结构化数据的时效性进行处理时,可采用下述公式(1)来计算结构化数据的时效性值:
Tf:记录的最终时间,
Ts:记录的起始时间,
Tn:当前时间
G结构化为结构化数据的时效性值,取值范围为[0,1],G结构化的值越大,表示数据文件的时效性越强。
上述结构化数据中的数据记录的最终时间和数据记录的起始时间可通过R语言或者Excel软件得出。在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<半结构化数据的时效性>
对于半结构化数据,其主要为JSON、XML等类型的文件。这类半结构化数据有一个特点,就是每一条数据都由很多字段名和字段值组成。同一文件中不同数据之间,字段名的排列大体相似而略有不同。对于这类半结构化数据,可采用现有的编程语言来将指定字段的值提取出来,以提取出时间字段的时间,并统计时间字段的起始时间和终止时间,可使用与结构化数据相同的处理方式计算时效性。即,
在采用第二预定处理方法对半结构化数据的时效性进行处理时,可采用下述公式(2)来计算半结构化数据的时效性值:
Tf:记录的最终时间,
Ts:记录的起始时间,
Tn:当前时间
G半结构化为半结构化数据的时效性值,取值范围为[0,1],G半结构化的值越大,表示数据文件的时效性越强。
在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<非结构化数据的时效性>
对于非结构化数据,只能查看文件生成的时间,然后统计数据文件的开始时间和结束时间,可以通过手动操作来统计数据文件的开始时间和结束时间,即可通过查阅元数据说明文档来得出非结构化数据中的数据生成时间和数据最后一次更新时间。在采用第三预定处理方法对非结构化数据的时效性进行处理时,可采用下述公式(3)来计算非结构化数据的时效性值:
TR:数据生成时间;
TS:数据最后一次更新时间;
TE:当前时间;
G非结构化为非结构化数据的时效性值,取值范围为[0,1],G非结构化的值越大,表示数据文件的时效性越强。
在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<数据文件的时效性>
在分别计算出结构化数据、非结构化数据和半结构化数据的时效性后,通过加权求和来得出数据文件的时效性,可通过下述公式(4)来计算整个数据文件的时效性:
其中,G为数据文件的时效性值,Gi为各数据类型的时效性值,Qi为各数据类型的权重,即结构化数据、非结构化数据和半结构化数据的权重,权重为在整个数据文件大小中所占的比例,可借助于R语言和手动操作来完成各个类型的比例计算。在本发明中,如果G<0.7,表示数据文件的时效性不高;如果0.7<G<0.9,表示数据文件的时效性较高;如果0.9<G,表示数据文件的时效性很高,但并不局限于此。
【检测数据时效性的系统】
本发明的另一实施例提供一种检测数据时效性的系统,如图2所示。本发明提供的检测数据时效性的系统包括:数据采集模块,用于采集待评估的原始数据;数据查阅模块,用于查看数据文件是否有时间记录字段;时间统计模块,如果数据文件有时间记录字段,则统计时间范围,得到时间戳;时效性处理模块,利用预定处理方法计算数据文件进行时效性。
具体地,数据采集模块通过数据采集工具采集的原始数据,例如通过网络爬虫从网络上进行采集,本发明采集的原始数据可为包括多个数据文件集合的数据包,例如可包括视频,图片,音频,二维表,文本等,也有可能是JSON的压缩包,但是并不局限于此。
数据查阅模块可通过R语言、Excel等查阅工具来查阅采集的数据文件中是否存在关于时间记录的时间记录字段,例如,在企业信息中,会有一个企业注册时间,在专利数据中,会有申请时间和公开时间等。
如果数据文件存在时间记录字段,时间统计模块则会统计数据文件的时间范围,得出时间戳。具体地,如果数据文件有时间记录字段,则可通过数据分析软件,如Excel软件的透视图(也可通过R语言)来统计出时间的范围,进而得到该数据文件的时间戳,在本发明中,时间范围是指从记录数据的起始时间到记录数据的最终时间,时间戳主要包括当前时间、记录初始时间和记录的最终时间。
对于具有时间记录字段的数据文件,时效性处理模块可通过以下处理方式来处理数据文件的时效性:可通过例如手动操作来将数据文件划分为非结构化数据、半结构化数据和结构化数据并确定数据文件中的结构化数据、半结构化数据和非结构化数据在整个数据文件中的比例,即确定结构化数据、半结构化数据和非结构化数据的权重,可借助于R语言和手动操作来确定各个类型的比例;分别通过第一预定处理方法、第二预定处理方法和第三预定处理方法对所述结构化数据、半结构化数据和非结构化数据的时效性进行处理;根据所确定的权重和关于结构化数据、半结构化数据和非结构化数据的时效性的值来对所述数据文件的时效性进行处理。所述结构化数据是指传统的关系数据模型、行数据,存储于数据库,可用二维表结构表示的数据,例如,存储于csv,txt,spv,excel的数据、二维表;所述半结构化数据是指数据具有隐含结构但又不是以二维表之类的形式存在的数据,介于结构化和非结构化知识源之间的一种知识源;所述非结构化数据是指没有固定结构的数据,例如,所有格式的办公文档、文本、图片、各类报表、图像和音频、视频信息。
<结构化数据的时效性>
在时效性处理模块采用第一预定处理方法对结构化数据的时效性进行处理时,可采用下述公式(1)来计算结构化数据的时效性值:
Tf:记录的最终时间,
Ts:记录的起始时间,
Tn:当前时间
G结构化为结构化数据的时效性值,取值范围为[0,1],G结构化的值越大,表示数据文件的时效性越强。
上述结构化数据中的数据记录的最终时间和数据记录的起始时间可通过R语言或者Excel软件得出。在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<半结构化数据的时效性>
对于半结构化数据,其主要为JSON、XML等类型的文件。这类半结构化数据有一个特点,就是每一条数据都由很多字段名和字段值组成。同一文件中不同数据之间,字段名的排列大体相似而略有不同。对于这类半结构化数据,可采用现有的编程语言来将指定字段的值提取出来,以提取出时间字段的时间,并统计时间字段的起始时间和终止时间,可使用与结构化数据相同的处理方式计算时效性。即,
在时效性处理模块采用第二预定处理方法对半结构化数据的时效性进行处理时,可采用下述公式(2)来计算半结构化数据的时效性值:
Tf:记录的最终时间,
Ts:记录的起始时间,
Tn:当前时间
G半结构化为半结构化数据的时效性值,取值范围为[0,1],G半结构化的值越大,表示数据文件的时效性越强。
在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<非结构化数据的时效性>
对于非结构化数据,只能查看文件生成的时间,然后统计数据文件的开始时间和结束时间,可以通过手动操作来统计数据文件的开始时间和结束时间,即可通过查阅元数据说明文档来得出非结构化数据中的数据生成时间和数据最后一次更新时间。在时效性处理模块采用第三预定处理方法对非结构化数据的时效性进行处理时,可采用下述公式(3)来计算非结构化数据的时效性值:
TR:数据生成时间;
TS:数据最后一次更新时间;
TE:当前时间;
G非结构化为非结构化数据的时效性值,取值范围为[0,1],G非结构化的值越大,表示数据文件的时效性越强。
在具体计算过程中,可将公式中用到的时间数据折算成月份进行或者折算成天数进行计算。
<数据文件的时效性>
在分别计算出结构化数据、非结构化数据和半结构化数据的时效性后,通过加权求和来得出数据文件的时效性,时效性处理模块可通过下述公式(4)来计算整个数据文件的时效性:
其中,G为数据文件的时效性值,Gi为各数据类型的时效性值,Qi为各数据类型的权重,即结构化数据、非结构化数据和半结构化数据的权重,权重为在整个数据文件大小中所占的比例,可借助于R语言和手动操作来完成各个类型的比例计算。在本发明中,如果G<0.7,表示数据文件的时效性不高;如果0.7<G<0.9,表示数据文件的时效性较高;如果0.9<G,表示数据文件的时效性很高,但并不局限于此。
本发明所得到的关于数据文件的时效性得分G可用来作为评估数据文件的价值的参数,时效性得分G可与数据文件价值的成正比,如果G值越大,则表示数据文件相应的估值也会越高。在本发明中,时效性处理模块所计算得到的关于数据文件的时效性得分会保存在评估系统的存储系统中,价值评估模块根据该时效性得分所评估的数据文件的价值也会保存在系统的存储系统中,并会在数据交易显示终端或展示平台,例如,对于专利数据包,会在显示有该专利数据包的平台,如专利查询网站上进行显示,以供相关人员参考使用。
【实施例】
待评估数据文件:提供一个rar类型的专利数据压缩包,解压以后有JSON文件,二维表,图片,音频等文件大小为1G。该数据包中含有结构化数据、半结构化数据和非结构化数据,其中结构化数据有234.5M,半结构化数据103.36M,非结构化数据有686.14M,其中结构化数据的时间范围可以通过Excel统计出来,非结构化数据的时间范围只能查看文件的元数据的说明文档,用Excel统计出结构化数据内容的时间范围是2013年1月至2015年1月,利用R语言将半结构化数据处理,提取出时间的字段,半结构化数据内容的时间范围是2014年1月至2015年1月,通过元数据说明文档,非结构化数据的生成时间是2013年4月,最后一次文件更新时间是2015年4月,以下通过上述公式(1)至(4)对该专利数据包的时效性进行评分。
(1)利用上述公式(1)计算结构数据的时效性,具体如下:
(2)利用R语言将半结构化数据处理,提取出时间的字段,利用上述公式(2)计算结构数据的时效性,具体如下:
(3)利用上述公式(3)计算非结构数据的时效性,具体如下:
最后为了衡量给压缩包的的时效性,采用运加权平均的方法对给压缩包做一个总得评价,最后得出一个得分。
(4)其中三种数据结构的权重是在数据集合中的占比:
(5)加权求和计算总得分
G=0.57*0.22+0.42*0.1+0.61*0.67=0.58
由于专利压缩包的时效性的总得分G为0.58,所以其时效性不是很高。
需要注意的是,数据文件的价值评估方面涉及很多因素,需要综合考虑各个因素才能得出数据文件的最终估值,本发明提供的只是估算数据文件价值的一方面,为数据文件的估值提供一个参考依据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。