一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据更新方法、装置、设备及介质与流程

2022-04-27 03:19:19 来源:中国专利 TAG:


1.本发明涉及数据处理领域,具体涉及一种数据更新方法、装置、设备及介质。


背景技术:

2.数据的质量将直接严重影响后续数据的应用和处理。对于工商类数据的加工而言,数据的准确性、完整性、及时性直接影响到用户的决策正确与否。
3.目前业内对数据的更新、纠错大部分集中在数据表的统一化处理或者更新数据表上面,数据更新、纠错侧重于对数据表的更新,无法准确的做到数据的错误识别和更新。


技术实现要素:

4.本发明提供一种数据更新方法、装置、设备及介质,其主要目的在于解决现有技术中数据更新不准确的问题。
5.为实现上述目的,本发明提供一种数据更新方法,包括以下步骤:
6.获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
7.从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
8.确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
9.合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;
10.根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
11.对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
12.将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
13.可选地,所述对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据,包括:
14.确定筛选字段,所述筛选字段包括需要筛选的至少一个关键项或/和至少一个组合项;
15.利用设定的筛选规则对同一个所述增量连通体中的多条扩展增量实体数据的关
键项或/和组合项对应的字段内容进行筛选,得到筛选字段对应的字段内容;
16.对所述筛选字段对应的字段内容进行组合,得到实际增量实体数据。
17.可选地,所述将所述实际增量实体数据以对应的数据id为索引更新至存量实体列表中,包括:
18.判断所述存量实体列表中是否存在与实际增量实体数据具有相同唯一数据 id的存量实体数据;
19.若所述存量实体列表中存在与实际增量实体数据具有相同唯一数据id的存量实体数据,则将所述实际增量实体数据以覆盖所述存量实体数据的方式存入所述存量实体列表中,
20.若所述存量实体列表中不存在与实际增量实体数据具有相同唯一数据id 的存量实体数据,则将所述实际增量实体数据作为新增数据存入所述存量实体列表中。
21.可选地,所述数据更新方法,还包括:对不同数据源的增量实体数据进行预处理,所述预处理包括:格式转换和内容转换;
22.所述格式转换用于对增量实体数据的格式进行转换,使不同格式的增量实体数据的格式统一;
23.所述内容转换用于实现不同增量实体数据的内容统一。
24.可选地,若不同数据源中具有多个相同增量实体数据,则在对增量实体数据进行预处理时,设定各个筛选策略的优先级,对优先级最高的数据源中的增量实体数据进行预处理。
25.可选地,在对增量实体数据进行预处理时,将所述数据预处理分解为多个子任务,通过spark集群的中心管理节点将所述多个子任务分配给多个计算节点,其中,每个计算节点获取一个子任务,任意两个计算节点所获取的子任务不同。
26.为实现上述目的,本发明提供一种数据更新装置,包括:
27.数据获取模块,用于获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
28.第一数据确定模块,用于从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
29.第二数据确定模块,用于确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
30.数据合并模块,用于合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;
31.连通体构建模块,用于根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
32.数据筛选模块,用于对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
33.数据更新模块,用于将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
34.可选地,所述数据筛选模块包括:
35.筛选字段确定子模块,用于确定筛选字段,所述筛选字段包括需要筛选的至少一个关键项或/和至少一个组合项;
36.筛选子模块,用于利用设定的筛选规则对同一个所述增量连通体中的多条扩展增量实体数据的关键项或/和组合项对应的字段内容进行筛选,得到筛选字段对应的字段内容;
37.组合子模块,用于对所述筛选字段对应的字段内容进行组合,得到实际增量实体数据。
38.为实现上述目的,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述数据更新方法的步骤。
39.为实现上述目的,本发明提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述数据更新方法的步骤。
40.如上所述,本发明提供的一种数据更新方法、装置、设备及介质,具有以下有益效果:
41.本发明的一种数据更新方法,包括:获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
42.从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
43.确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。通过上述方法不仅可以及时的更新数据,而且可以提升数据使用过程
中的稳定性和准确性。
附图说明
44.图1为本发明一实施例中一种数据更新方法的应用环境示意图;
45.图2为本发明一实施例中一种数据更新方法的流程图;
46.图3为本发明一实施例中连通体的示意图;
47.图4为本发明一实施例中得到实际增量实体数据的流程图;
48.图5为本发明一实施例中一种数据更新装置的模块图。
49.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
50.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
51.本发明提供一种数据更新方法,应用于一种电子装置1。参照图1所示,为本发明一实施例中数据更新方法的应用环境示意图。
52.在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
53.该电子装置1包括:处理器12、存储器11、摄像装置13、网络接口14及通信总线15。
54.存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
55.在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的数据更新程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
56.处理器12在一些实施例中可以是一中央处理器(central processing unit, cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据更新程序10等。
57.摄像装置13既可以是所述电子装置1的一部分,也可以独立于电子装置1。在一些实施例中,所述电子装置1为智能手机、平板电脑、便携计算机等具有摄像头的终端设备,则所述摄像装置13即为所述电子装置1的摄像头。在其他实施例中,所述电子装置1可以为服务器,所述摄像装置13独立于该电子装置 1、与该电子装置1通过网络连接,例如,该摄像装置13安装于特定场所,如办公场所、监控区域,对进入该特定场所的目标实时拍摄得到实时图像,通过网络将拍摄得到的实时图像传输至处理器12。
58.网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
59.通信总线15用于实现这些组件之间的连接通信。
60.图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示
出的组件,可以替代的实施更多或者更少的组件。
61.可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
62.可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organic light-emitting diode,oled)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
63.可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
64.此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
65.可选地,该电子装置1还可以包括射频(radio frequency,rf)电路,传感器、音频电路等等,在此不再赘述。
66.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
67.在图1所示的装置实施例中,作为一种机器可读介质的存储器11中可以包括操作系统、以及数据更新程序10;处理器12执行存储器11中存储的数据更新程序10时实现如图2所示的数据更新方法的步骤:
68.s200获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
69.s201从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;相关存量实体数据包括关键项、组合项、唯一数据id、所属存量连通体id;
70.s202确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
71.s203合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数
据;
72.s204根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
73.s205对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
74.s206将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
75.本发明基于获得增量实体数据,判断并获得与该增量实体数据具有关联关系的相关存量实体数据,然后确定出实际相关存量实体数据,将增量实体数据和实际相关存量实体数据进行合并,然后计算连通体,并对每个连通体内的数据进行筛选并将筛选出来的字段内容进行组合,得到实际增量实体数据,最后更新存量实体数据。这样不仅可以及时的更新数据,而且可以提升数据使用过程中的稳定性和准确性。
76.在步骤s200中,获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
77.所述的增量实体数据可以是工商数据。对于工商数据而言,可以设置统一社会信用代码、注册码等为关键项,设置公司名称和注册日期为组合项。
78.由于获取到的增量实体数据来自于不同的数据源,可能每个数据源的数据具有不同的表现形式,导致数据的多样性,因此,会产生同属性数据保存结果的多样性的情况。例如不同数据源获取到的增量实体数据的格式不一样、内容不一样。
79.例如,同一项字段可能会存在全角和半角的区别、英文大小写的区别、空格、无效字符等格式问题。基于此原因,需要对增量实体数据进行格式转换,所述格式转换用于实现关键项和组合项的格式统一。增量实体数据的格式转换包含两部分,其一:特定来源的数据定制化处理,其二:标准统一化处理,包括对繁简体的统一化,全半角的统一化,以及英文名称中的简写的处理、非法值的处理等。
80.本步骤,通过格式转换后,将没有统一的格式数据经过转换后,实现格式统一。
81.在得到格式统一的增量实体数据后,若增量实体数据存在内容不一致问题,比如“城市”,呈现方式可能是“上海”、“上海市”或“沪”等内容问题。还可以对格式统一的增量实体数据进行内容转换,所述内容转换用于对不同增量实体数据的内容统一,实现不同数据源中多条增量实体数据内容的统一。
82.在步骤s201中,从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;相关存量实体数据包括关键项、组合项、唯一数据id、所属存量连通体id;
83.如表1所示,是唯一数据id为p7的一条增量实体数据,表2是存量实体数据的一部分数据。由于相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据,表2中的p1的注册码与表1中的p7的注册码相同,则p1为表1中p7的相关存量实体;表2中
的p7与表1中的p7的注册日期相同,则表2的p7为表1的p7的相关存量实体;则可以判断表2中的p1、p7 的为表1中p7的相关存量实体数据。
84.表1增量实体数据
85.数据唯一id中文名称信用代码注册码注册日期p7百联集团 3100004000847861994
86.表2存量实体数据
[0087][0088]
在步骤s202中,确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,也就是说每一条所述相关存量实体数据只能属于一个存量连接体;一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0089]
在步骤s201中,确定出p1、p7的为相关存量实体数据,p1、p7所属的连通体id为p1、p7,进一步,连通体p1包括两条数据p1、p3,则实际相关存量实体数据为p1、p3、p7。
[0090]
其中,连通体可以采用以下公式表示:
[0091]
l=min(p1,p2,p3,.....)
[0092]
如图3所示,共有p1-p6条数据共6条存量实体数据,基于关键项或组合项做连通体计算后,准确的识别出来两个连通体l1、l2,其中l1由p1、p3、 p4、p6构成,其中p1和p6通过关键项k2识别在一起,p1和p4通过组合项 z3识别在一起,p3和p4通过关键项k3识别在一起。l2由p2和p5构成,它们之间通过组合项z1识别在一起。其中,p表示数据id,k表示关键项,z 表示组合项。
[0093]
在步骤s203中,合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据。
[0094]
在进行数据合并过程中,需要遵循以下规则:
[0095]
对于增量更新的数据,优先取更新后的数据,其中,增量更新表示已存在相应的数据,但该数据的某个关键项或组合项发生更新。
[0096]
例如,对表1来说,p7为增量实体数据,对表2来说,p1、p3、p7为实际相关存量实体数据。将表1的p7,表2的p1、p3、p7进行合并,则将表1 的p7代替表2的p7,则最终得到的扩展增量实体数据如表3所示。
[0097]
表3扩展增量实体数据
[0098]
数据唯一id连通体id中文名称信用代码注册码注册日期p1p1百联集团9131000013220198xb3100004000847861994-06-02p3p1百联集团9131000013220198xb 1994-06-02p7p7百联集团 3100004000847861994
[0099]
对于增量新增的数据,参与增量连通体的计算,其中,增量新增表示不存在相应数据,完全是一条新的数据。
[0100]
如此便获取到增量实体信息和扩展实体增量信息,保证数据的准确性和完整性。
[0101]
在步骤s204中,根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项。其中,增量连通体的构建可以参考如图3所示的存量连通体的构建,此处不再进行赘述。
[0102]
在步骤s205中,对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据 id中最小的唯一数据id。如图4所示,具体地,包括以下步骤:
[0103]
s400确定筛选字段,所述筛选字段包括需要筛选的至少一个关键项或/和至少一个组合项;
[0104]
s401利用设定的筛选规则对同一个所述增量连通体中的多条扩展增量实体数据的关键项或/和组合项对应的字段内容进行筛选,得到筛选字段对应的字段内容;
[0105]
s402对所述筛选字段对应的字段内容进行组合,得到实际增量实体数据。
[0106]
其中,字段为一条数据中的一个独立单元。扩展增量实体数据中的关键项或组合项就是一个字段。如表1所示,字段可以是信用代码、注册码、注册日期等等。筛选是指对每条数据中的至少一个字段进行筛选,以满足筛选条件。筛选字段指的是需要进行筛选的字段,例如筛选字段可以是信用代码、注册码、注册日期。
[0107]
在本实施例中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id。
[0108]
一个连通体对应多条数据,每条数据包括多个字段,根据条件对相应字段进行筛选,得到多个筛选字段的字段内容,将这些字段内容组合在一起,得到一条新的数据,这条数据是没有id的,因此需要确定这条新的数据的相应的 id。比如,在一个连通过体中有3条数据,唯一数据id为分别为p1、p3、p7,则组合产生的新的数据的唯一数据id取p1、p3、p7这三条数据中唯一数据id 最小的id,即为p1,则新的数据的唯一数据id为p1。
[0109]
在一实施例中,所述筛选规则包括多个筛选策略,每一个筛选策略对应一个筛选字段,也就是一个所述关键项或所述组合项;在对筛选字段进行筛选时,设定各个筛选策略的优先级,按多个筛选策略的优先级对扩展增量实体数据进行筛选。
[0110]
具体地,筛选规则包括三个筛选策略rule1、rule2、rule3,设置rule1的优先级大于rule2的优先级,rule2的优先级大于rule3的优先级。
[0111]
value=(rule1》rule2》rule3》λ)
[0112]
此步骤举例说明,见表4,其中表4包括四条数据,数据id字段值分别是: p1、p3、p4、p6。
[0113]
表4
[0114][0115]
下面在以信用代码为例说明如何根据筛选规则做数据的筛选,预先针对此字段设置如下筛选规则。筛选策略的内容定义如下:
[0116]
rule1={信用代码}值不可为空,不为null;
[0117]
rule2={信用代码}值长度等于18位;
[0118]
rule3=date_source优先级:1的优先级大于2,2大于3,以此类推;
[0119]
下面分别执行这三条策略:
[0120]
执行rule1结果是:这四条数据均符合要求;
[0121]
执行rule2结果是:数据id为p1的{信用代码}不符合策略,数据id是 p3、p4、p6的{信用代码}符合策略;
[0122]
执行rule3结果是:数据id是p3的{信用代码}符合最终结果,排除其他结果,因为date_source为2的优先级最高。
[0123]
因此,得出统一社会信用代码的值是92412621c0001。
[0124]
其他字段计算办法于此相同,根据规则计算后,得出最后结果经过连通体内筛选规则的计算,得到符合筛选策略的多个字段,将多个字段进行组合,最终计算出来实际增量实体数据,见表5。
[0125]
表5
[0126][0127]
需要说明的是,表5中的该条数据的唯一数据id为表4所包含的4条数据中最小的唯一数据id,如表4,最小唯一数据id为p1,则表5中的该条数据的唯一数据id为p1
[0128]
在一实施例中,所述将所述实际增量实体数据以对应的数据id为索引更新至存量实体列表中,包括:
[0129]
判断所述存量实体列表中是否存在与实际增量实体数据具有相同唯一数据 id的存量实体数据;
[0130]
若所述存量实体列表中存在与实际增量实体数据具有相同唯一数据id的存量实体数据,则将所述实际增量实体数据以覆盖所述存量实体数据的方式存入所述存量实体列表中,
[0131]
若所述存量实体列表中不存在与实际增量实体数据具有相同唯一数据id 的存量实体数据,则将所述实际增量实体数据作为新增数据存入所述存量实体列表中。
[0132]
在一实施例中,若不同数据源中具有多个相同增量实体数据,则在对增量实体数据进行预处理时,设定各个筛选策略的优先级,对优先级最高的数据源中的增量实体数据进行预处理。
[0133]
由于数据来源于多个数据源,多个数据源中可能存在相同的数据,因此,在对这些数据进行预处理时,需要先确定数据源的优先级。
[0134]
在一实施例中,在进行数据预处理任务时,将所述数据预处理分解为多个子任务,通过spark集群的中心管理节点将所述多个子任务分配给多个计算节点,其中,每个计算节点获取一个子任务,任意两个计算节点所获取的子任务不同。通过采用分布式的方式进行并行数据预处理,可以提高数据预处理的效率。
[0135]
如图5所述,本技术实施例还提供一种数据更新装置,包括:
[0136]
数据获取模块500,用于获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
[0137]
第一数据确定模块501,用于从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
[0138]
第二数据确定模块502,用于确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0139]
数据合并模块503,用于合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;
[0140]
连通体构建模块504,用于根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0141]
数据筛选模块505,用于对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
[0142]
数据更新模块506,用于将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
[0143]
在一实施例中,所述数据筛选模块包括:
[0144]
筛选字段确定子模块,用于确定筛选字段,所述筛选字段包括需要筛选的至少一个关键项或/和至少一个组合项;
[0145]
筛选子模块,用于利用设定的筛选规则对同一个所述增量连通体中的多条扩展增量实体数据的关键项或/和组合项对应的字段内容进行筛选,得到筛选字段对应的字段内容;
[0146]
组合子模块,用于对所述筛选字段对应的字段内容进行组合,得到实际增量实体数据。
[0147]
在一实施例中,所述筛选规则包括多个筛选策略,每一个筛选策略对应一个所述关键项或所述组合项;在对筛选字段进行筛选时,按多个筛选策略的优先级对扩展增量实体数据进行筛选。
[0148]
在一实施例中,所述数据更新模块判断所述存量实体列表中是否存在与实际增量实体数据具有相同唯一数据id的存量实体数据;
[0149]
若所述存量实体列表中存在与实际增量实体数据具有相同唯一数据id的存量实体数据,则将所述实际增量实体数据以覆盖所述存量实体数据的方式存入所述存量实体列表中;
[0150]
若所述存量实体列表中不存在与实际增量实体数据具有相同唯一数据id 的存量实体数据,则将所述实际增量实体数据作为新增数据存入所述存量实体列表中。
[0151]
在一实施例中,所述装置还包括预处理模块,用于对不同数据源的增量实体数据进行预处理,所述预处理模块包括格式转换子模块和内容转换子模块,
[0152]
所述格式转换子模块用于对关键项和组合项的格式进行转换,使不同格式的关键项的格式统一以及不同格式的组合项的格式统一;
[0153]
所述内容转换子模块用于实现不同关键项的统一以及不同组合项的统一。
[0154]
在一实施例中,若不同数据源中具有多个相同增量实体数据,则在对增量实体数据进行预处理时,设定各个筛选策略的优先级,对优先级最高的数据源中的增量实体数据进行预处理。
[0155]
在一实施例中,所述预处理模块将所述数据预处理分解为多个子任务,通过spark集群的中心管理节点将所述多个子任务分配给多个计算节点,其中,每个计算节点获取一个子任务,任意两个计算节点所获取的子任务不同。
[0156]
在本技术一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得处理器执行以下步骤:
[0157]
获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
[0158]
从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
[0159]
确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0160]
合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;
[0161]
根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0162]
对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
[0163]
将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
[0164]
在一实施例中,所述对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据,包括:
[0165]
所述对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据,包括:
[0166]
确定筛选字段,所述筛选字段包括需要筛选的至少一个关键项或/和至少一个组合项;
[0167]
利用设定的筛选规则对同一个所述增量连通体中的多条扩展增量实体数据的关键项或/和组合项对应的字段内容进行筛选,得到筛选字段对应的字段内容;
[0168]
对所述筛选字段对应的字段内容进行组合,得到实际增量实体数据。
[0169]
在一实施例中,所述筛选规则包括多个筛选策略,每一个筛选策略对应一个所述关键项或所述组合项;在对筛选字段进行筛选时,设定各个筛选策略的优先级,按多个筛选策略的优先级对扩展增量实体数据进行筛选。
[0170]
在一实施例中,所述将所述实际增量实体数据以对应的数据id为索引更新至存量实体列表中,包括:
[0171]
判断所述存量实体列表中是否存在与实际增量实体数据具有相同唯一数据 id的存量实体数据;
[0172]
若所述存量实体列表中存在与实际增量实体数据具有相同唯一数据id的存量实体数据,则将所述实际增量实体数据以覆盖所述存量实体数据的方式存入所述存量实体列表中,
[0173]
若所述存量实体列表中不存在与实际增量实体数据具有相同唯一数据id 的存量实体数据,则将所述实际增量实体数据作为新增数据存入所述存量实体列表中。
[0174]
在一实施例中,所述数据更新方法,还包括:对不同数据源的增量实体数据进行预处理,所述预处理包括:格式转换和内容转换;
[0175]
所述格式转换用于对关键项和组合项的格式进行转换,使不同格式的关键项的格式统一以及不同格式的组合项的格式统一;
[0176]
所述内容转换用于实现不同关键项的内容统一以及不同组合项的内容统一。
[0177]
在一实施例中,若不同数据源中具有多个相同增量实体数据,则在对增量实体数据进行预处理时,对优先级最高的数据源中的增量实体数据进行预处理。
[0178]
在一实施例中,在对增量实体数据进行预处理时,将所述数据预处理分解为多个
子任务,通过spark集群的中心管理节点将所述多个子任务分配给多个计算节点,其中,每个计算节点获取一个子任务,任意两个计算节点所获取的子任务不同。
[0179]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0180]
本技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时执行如下步骤:
[0181]
获取数据源的增量实体数据,所述增量实体数据包括关键项和组合项;
[0182]
从存量实体数据中确定出相关存量实体数据,其中,所述相关存量实体数据指与增量实体数据具有相同组合项或关键项的存量实体数据;
[0183]
确定所述相关存量实体数据所属的存量连通体,其中,每一条所述相关存量实体数据对应一个所述存量连通体,一个所述存量连通体中包括多条所述相关存量实体数据,将同一个所述存量连通体所包含的相关存量实体数据作为实际相关存量实体数据;其中,每个所述存量连通体包含至少两个节点,每个节点表示一条实际相关存量实体数据;在同一个存量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0184]
合并所述增量实体数据和所述实际相关存量实体数据,得到扩展增量实体数据;
[0185]
根据所述扩展增量实体数据的关键项或组合项构建扩展增量实体数据所属的增量连通体;其中,每一条所述扩展增量实体数据对应一个所述增量连通体,一个所述增量连通体中包括多条所述扩展增量实体数据,每个所述增量连通体包括至少两个节点,每个节点表示一条扩展增量实体数据,在同一个增量连通体中,任意两个相邻节点具有相同的关键项或组合项;
[0186]
对增量连通体中的扩展增量实体数据按设定筛选规则进行筛选,并对筛选结果进行组合,得到实际增量实体数据;其中,所述实际增量实体数据的唯一数据id为增量连通体中的多条扩展增量实体数据的唯一数据id中最小的唯一数据id;
[0187]
将所述实际增量实体数据以对应的唯一数据id为索引更新至存量实体列表中。
[0188]
上述步骤与数据更新方法、装置的具体实施方式大致相同,在此不再赘述。
[0189]
需要说明的是,在发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0190]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0191]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0192]
本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0193]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0194]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0195]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0196]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等) 执行本发明各个实施例所述的方法。
[0197]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种机器可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0198]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献