具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
为解决解决现有技术中的数据校验方法需要耗费大量的人力资源,且效率较低的问题,本说明书实施例提供一种数据校验方法。本说明书实施例提供的数据校验方法的执行主体可以但不限于服务器等能够被配置为执行本发明实施例提供的该方法装置中的至少一种。
为便于描述,下文以该方法的执行主体为能够执行该方法的服务器为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为服务器只是一种示例性的说明,并不应理解为对该方法的限定。
具体地,本说明书一个或多个实施例提供的一种数据校验方法的实现流程示意图如图1所示,包括:
步骤110,基于预设的数据类型分析规则,对目标数据进行分析,以获取目标数据的数据类型;
其中,一种数据类型对应于一种数据类型分析规则。其中,数据类型包括身份证号码、手机号码、组织机构号码、工商注册号码、日期和邮箱等数据类型中的至少一种。这些不同的数据类型中的每一种数据类型均对应于一种数据类型分析规则,比如身份证号号码对应于身份证号码的分析规则,手机号码对应于手机号码的分析规则,组织机构号码对应于组织机构号码校验规则、工商注册号码对应于工商注册号码校验规则、日期对应于日期校验规则、邮箱地址对应于邮箱地址的分析规则,等等,这些不同数据类型对应的数据类型分析规则现有技术都可以实现,本说明书一个或多个实施例对此将不再赘述。
应理解,对于不同的数据类型,其区别往往在于这些数据类型往往对应于不同的数据格式和数据长度等数据特征。比如,身份证号码的数据格式往往是纯数字或者数字加上最后一位字母,身份证号码的数据长度为18位,且每个用户的身份证号码还是该用户身份的唯一标识,即身份证号码具有唯一性;手机号码的数据格式是纯数字,且手机号码的数据长度为11位。显然,不同的数据类型,其数据格式和数据长度等特征也不相同,本说明书一个或多个实施例基于这一点,可以基于目标数据的数据格式和数据长度等数据特征来对目标数据的数据类型进行判断。
那么,基于预设的数据类型分析规则,对目标数据进行分析,以获取目标数据的数据类型,具体可以首先,获取目标数据的数据特征,其中数据特征至少包括数据格式、数据长度;然后,基于目标数据的数据特征,确定与目标数据相匹配的至少一个候选数据类型;最后,基于目标数据与至少一个候选数据类型的匹配程度,确定目标数据的数据类型。
以目标数据为“432123********2381”为例,那么基于预设的数据类型分析规则,对该目标数据进行分析,以获取该目标数据的数据类型,具体可以首先,获取该目标数据的数据格式为纯数字格式和数据长度为18位数字等数据特征;然后,基于该目标数据的数据格式和数据长度等数据特征,可以确定与该目标数据相匹配的至少一个候选数据类型,由于具备数据格式为纯数字格式且数据长度为18位数字这样的数据特征的数据类型包括身份证号码、统一社会信用代码等数据类型,那么可以确定与该目标数据相匹配的至少一个候选数据类型包括身份证号码和统一社会信用代码;最后,基于目标数据与身份证号码的匹配程度、以及目标数据和统一社会信用代码的匹配程度,确定目标数据的数据类型。
再以目标数据为“90-09-26”为例,那么基于预设的数据类型分析规则,对该目标数据进行分析,以获取该目标数据的数据类型,具体可以首先,获取该目标数据的数据格式为数字加符号“-”即字符串的格式,即YY-MM-DD/HH-MM-SS的格式,该目标数据中数字的长度为6位等数据特征;然后,基于该目标数据的数据格式和数据长度等数据特征,可以确定与该目标数据相匹配的至少一个候选数据类型,由于具备数据格式为YY-MM-DD/HH-MM-SS的格式且包含的数字长度为6位这样的数据特征的数据类型包括日期、时间等数据类型,那么可以确定与该目标数据相匹配的至少一个候选数据类型包括日期和时间;最后,基于目标数据与日期的匹配程度、以及目标数据和时间的匹配程度,确定目标数据的数据类型。
可选地,基于目标数据与至少一个候选数据类型的匹配程度,确定目标数据的数据类型,具体可以首先,获取目标数据与至少一个候选数据类型的匹配程度;然后,从至少一个候选数据类型中,确定与目标数据的匹配程度最高的候选数据类型;最后,基于匹配程度最高的候选数据类型,确定目标数据的数据类型。
继续沿用上述目标数据“432123********2381”为例,在确定了与该目标数据“432123********2381”匹配的至少一个候选数据类型为身份证号码和统一社会信用代码之后,可以基于目标数据“432123********2381”的数据特征,确定该目标数据与身份证号码的匹配程度,以及该目标数据与统一社会信用代码的匹配程度,假设该目标数据与身份证号码的匹配程度为“80%”,该目标数据与统一社会信用代码的匹配程度的匹配程度为“20%”,那么从身份证号码和统一社会信用代码中,确定与该目标数据的匹配程度最高的候选数据类型为身份证号码,并基于该匹配程度最高的候选数据类型(即身份证号码),确定目标数据“432123********2381”的数据类型为身份证号码。
再沿用上述目标数据“90-09-26”为例,在确定了与该目标数据“90-09-26”匹配的至少一个候选数据类型为日期和时间之后,可以基于目标数据“90-09-26”的数据特征,确定该目标数据与日期的匹配程度,以及该目标数据与时间的匹配程度,由于目标数据的“90-09-26”中的90不在时间类型的数据0~23的区间范围内,因此可以确定该目标数据和时间的匹配程度为0,假设确定该目标数据与日期的匹配程度为“90%”,则可以从候选数据类型:日期和时间中,确定与该目标数据的匹配程度最高的候选数据类型为日期,即确定目标数据“90-09-26”的数据类型为日期。
可选地,预设的数据类型分析规则预设的数据类型制定的,其中,预设的数据类型包括身份证号码、手机号码、组织机构号码、工商注册号码、日期、邮箱地址、邮政编码中的至少一种。
可选地,基于目标数据的数据特征,确定与目标数据相匹配的候选数据类型,具体可以首先,基于目标数据的数据格式对应的判断流程对目标数据进行判断,以获取与目标数据的数据格式相匹配的中间候选数据类型;然后,基于目标数据的数据长度,从中间候选数据类型中获取与目标数据相匹配的候选数据类型。
可选地,基于目标数据的数据长度,从中间候选数据类型中获取与目标数据相匹配的候选数据类型,具体可以基于目标数据的数据长度对应的判断流程对目标数据进行判断,以从中间候选数据类型中获取与目标数据的数据长度相匹配的候选数据类型。
继续以上述目标数据“432123********2381”为例,可以确定该目标数据的数据格式为数字格式,那么可以基于数字格式对应的判断流程对目标数据“432123********2381”进行判断,以获取与该目标数据的数据格式相匹配的中间候选数据类型,比如有手机号码、身份证号、工商注册号、统一社会信用代码,等等中间候选数据类型;然后基于该目标数据“432123********2381”的数据长度,从中间候选数据类型中获取与该目标数据“432123********2381”相匹配的候选数据类型。
其中,基于目标数据“432123********2381”的数据长度,即18位的数据长度,从中间候选数据类型中获取与目标数据相匹配的候选数据类型,具体可以基于目标数据的18位的数据长度对应的判断流程对目标数据进行判断,以从中间候选数据类型中获取与目标数据的数据长度相匹配的候选数据类型,即身份证号和统一社会信用代码。
再以上述目标数据“90-09-26”为例,可以确定该目标数据的数据格式为字符串刻蚀,那么可以自己与字符串对应的判断流程对该目标数据“90-09-26”进行判断,以获取与该目标数据的数据格式相匹配的中间候选数据类型,比如有日期、时间等中间候选数据类型;然后基于该目标数据“90-09-26”的数据长度,从中间候选数据类型中获取与该目标数据“90-09-26”相匹配的候选数据类型。
由于日期和时间中的数字长度都为6,那么可以从日期和时间这两种中间候选数据类型中确定出候选数据类型包括日期和时间。
步骤120,从预设的数据校验规则集合中,获取与目标数据的数据类型相匹配的目标数据校验规则;
可选地,预设的数据校验规则集合包括下述至少一种:身份证号校验规则;手机号码校验规则;组织机构号码校验规则;工商注册号码校验规则;日期校验规则;邮箱地址校验规则;邮政编码校验规则。
步骤130,以目标数据校验规则对目标数据进行数据校验。
在确定了目标数据校验规则之后,就可以以目标数据校验规则对目标数据进行数据校验。
下面以图2中的预设的数据类型分析规则为例,对本说明书实施例提供的数据校验方法进行详细说明。
如图2所示,该预设的数据类型分析规则的分析依据主要包括数据格式和数据长度,除此之外,还可以包括数据的唯一性、以及数据格式为数字时所处的数字区间。
如图2所示,该预设的数据类型分析规则主要包括两大类,数字格式类型的数据类型分析规则和字符串格式类型的数据类型分析规则。其中数字格式类型的数据类型分析规则在确定目标数据的数据格式为数字格式之后,则确定目标数据是否为大于或等于0的数字,若确定该目标数据为大于或等于0的数字,则可以基于该目标数据的数据长度来确定该目标数据的数据类型是手机号码、身份证号码、工商注册号、组织机构号码、以及统一社会信用编码中的哪一种。
而字符串类型的数据类型分析规则在确定目标数据的数据格式为字符串格式之后,则可以确定该目标数据的数据长度是否小于100;若确定该目标数据的数据长度小于100,则可以确定该目标数据是枚举、数据长度是否小于20以及邮箱中的哪种;若确定该目标数据的数据长度小于20,则可以确定该目标数据是YYYYMM形式、YYYY-MM形式以及YYYY/MM形式中的哪一种;若确定该目标数据是YYYYMM形式,则可以进一步确定其是属于YYYYMMDD还是YYYYMMDDHHMMSS;而若确定目标数据是YYYY-MM形式,则可以进一步确定其是属于YYYY-MM-DD HH:MM:SS还是YYYY-MM-DD。
以目标数据为“432123********2381”为例,则通过图2所示的预设的数据类型分析规则的分析过程包括:
步骤21,确定目标数据“432123********2381”是否为空;
步骤22,若确定目标数据“432123********2381”不为空,则确定该目标数据“432123********2381”的数据格式是数字格式还是字符串格式;
步骤23,在确定目标数据“432123********2381”的数据格式为数字格式之后,则可以确定目标数据“432123********2381”是否为大于或等于0的数字;
步骤24,在确定目标数据“432123********2381”为大于或等于0的数字之后,则确定该目标数据“432123********2381”的数据长度是否为大于0小于或等于18的数字;
步骤25,在确定目标数据“432123********2381”的数据长度为大于0小于或等于18的数字之后,则可以确定该目标数据“432123********2381”可能是手机号码、身份证号码、工商注册号码、组织机构号码以及统一社会信用编码中的一种数据类型;
步骤26,基于目标数据“432123********2381”的数据长度为18位,则可以确定该目标数据“432123********2381”可能是身份证号码和统一社会信用编码中的一种数据类型;
步骤27,分别基于身份证号码的特征以及统一社会信用编码的特征,来确定目标数据“432123********2381”与身份证号码的匹配程度为80%,以及目标数据“432123********2381”与统一社会信用编码的匹配程度为20%;
步骤28,从目标数据“432123********2381”与身份证号码的匹配程度80%、以及目标数据“432123********2381”与统一社会信用编码的匹配程度20%中,确定出匹配程度最高的数据类型,即身份证号码;
步骤29,基于步骤28确定的匹配程度最高的数据类型,确定目标数据“432123********2381”的数据类型为身份证号码。
能够首先基于预设的数据类型分析规则,对目标数据进行分析,以获取目标数据的数据类型,其中一种数据类型对应于一种数据类型分析规则,然后能够从预设的数据校验规则集合中,获取与目标数据的数据类型相匹配的数据校验规则,最后以目标数据校验规则对目标数据进行数据校验,这样当从其他网站等数据来源接管了大量待校验的不同类型的数据时,便可以首先基于预设的数据类型分析规则,对数据进行分析,以对这些数据进行归类,确定每个类别的数据的数据类型,然后基于与各数据类型相匹配的数据校验规则,对这些数据进行校验,节省了大量的人力资源,也提高了数据校验的效率。
图3是本说明书提供的数据校验装置300的结构示意图。请参考图3,在一种软件实施方式中,数据校验装置300可包括获取单元301、执行单元302,其中:
分析单元301,基于预设的数据类型分析规则,对目标数据进行分析,以获取所述目标数据的数据类型,其中,一种数据类型对应于一种数据类型分析规则;
获取单元302,从预设的数据校验规则集合中,获取与所述目标数据的数据类型相匹配的目标数据校验规则;
校验单元303,以所述目标数据校验规则对所述目标数据进行数据校验。
本说明书实施例提供的数据校验装置300由于首先能够通过分析单元301基于预设的数据类型分析规则,对目标数据进行分析,以获取目标数据的数据类型,其中一种数据类型对应于一种数据类型分析规则,然后获取单元302能够从预设的数据校验规则集合中,获取与目标数据的数据类型相匹配的数据校验规则,最后校验单元303以目标数据校验规则对目标数据进行数据校验,这样当从其他网站等数据来源接管了大量待校验的不同类型的数据时,便可以首先基于预设的数据类型分析规则,对数据进行分析,以对这些数据进行归类,确定每个类别的数据的数据类型,然后基于与各数据类型相匹配的数据校验规则,对这些数据进行校验,节省了大量的人力资源,也提高了数据校验的效率。
可选地,在一种实施方式中,所述分析单元301,
获取所述目标数据的数据特征,其中所述数据特征至少包括数据格式、数据长度;
基于所述目标数据的数据特征,确定与所述目标数据相匹配的至少一个候选数据类型;
基于所述目标数据与所述至少一个候选数据类型的匹配程度,确定所述目标数据的数据类型。
可选地,在一种实施方式中,所述分析单元301,
获取所述目标数据与所述至少一个候选数据类型的匹配程度;
从所述至少一个候选数据类型中,确定与所述目标数据的匹配程度最高的候选数据类型;
基于所述匹配程度最高的候选数据类型,确定所述目标数据的数据类型。
可选地,在一种实施方式中,所述预设的数据类型分析规则预设的数据类型制定的,其中,所述预设的数据类型包括身份证号码、手机号码、组织机构号码、工商注册号码、日期、邮箱地址、邮政编码中的至少一种。
可选地,在一种实施方式中,所述预设的数据校验规则集合包括下述至少一种:
身份证号校验规则;手机号码校验规则;组织机构号码校验规则;工商注册号码校验规则;日期校验规则;邮箱地址校验规则;邮政编码校验规则。
可选地,在一种实施方式中,所述分析单元301,
基于所述目标数据的数据格式对应的判断流程对所述目标数据进行判断,以获取与所述目标数据的数据格式相匹配的中间候选数据类型;
基于所述目标数据的数据长度,从所述中间候选数据类型中获取与所述目标数据相匹配的候选数据类型。
可选地,在一种实施方式中,所述分析单元301,
基于所述目标数据的数据长度对应的判断流程对所述目标数据进行判断,以从所述中间候选数据类型中获取与所述目标数据的数据长度相匹配的候选数据类型。
数据校验装置300能够实现图1~图2的方法实施例的方法,具体可参考图1~图2所示实施例的数据校验方法,不再赘述。
图4是本说明书的一个实施例提供的电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据校验装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
响应于所述用户的低碳消费物品识别请求,获取所述用户扫描的消费物品的图像信息;
基于预设的数据类型分析规则,对目标数据进行分析,以获取所述目标数据的数据类型,其中,一种数据类型对应于一种数据类型分析规则;
从预设的数据校验规则集合中,获取与所述目标数据的数据类型相匹配的目标数据校验规则;
以所述目标数据校验规则对所述目标数据进行数据校验。
上述如本说明书图1~图2所示实施例揭示的数据校验方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1~图2的数据校验方法,本说明书在此不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。