业务数据处理方法、装置、电子设备及存储介质与流程

文档序号:33110097发布日期:2023-02-01 02:01阅读:29来源:国知局
业务数据处理方法、装置、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,具体而言,涉及一种业务数据处理方法、装置、电子设备及存储介质。


背景技术:

2.随着网络技术的不断发展,通过对海量大数据的分析可帮助企业更好的发展,也可帮助企业为用户提供更优质的服务。而维度表可方便的用于对海量大数据进行存储以及查询。
3.现有技术中,通常采用hive数据仓库分析框架实现对维度表存储的数据的更新,但是由于hive框架无法做到对维度表的实时更新,导致维度表的数据更新效率较低。


技术实现要素:

4.本技术针对上述现有技术中的不足,提供一种业务数据处理方法、装置、电子设备及存储介质,以便于解决现有技术中存在的数据维度表更新效率较低的问题。
5.本技术实施例采用的技术方案如下:
6.第一方面,本技术实施例提供了一种业务数据处理方法,包括:
7.接收目标业务系统发送的待处理业务数据,所述待处理业务数据中至少包括数据标识及数据内容;
8.将所述数据标识以及所述数据内容转换为键值对的方式存储至业务数据散列表中;
9.将所述业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,所述业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系;
10.将所述业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
11.第二方面,本技术实施例还提供了一种业务数据处理装置,包括:接收模块、存储模块、转换模块、发送模块;
12.所述接收模块,用于接收目标业务系统发送的待处理业务数据,所述待处理业务数据中至少包括数据标识及数据内容;
13.所述存储模块,用于将所述数据标识以及所述数据内容转换为键值对的方式存储至业务数据散列表中;
14.所述转换模块,用于将所述业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,所述业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系;
15.所述发送模块,用于将所述业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
16.第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的业务数据处理方法。
17.第四方面,本技术实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的业务数据处理方法。
18.本技术的有益效果是:
19.本技术提供一种业务数据处理方法、装置、电子设备及存储介质,通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
21.图1为本技术实施例提供的一种业务数据处理系统的架构示意图;
22.图2为本技术实施例提供的一种业务数据处理方法的流程示意图;
23.图3为本技术实施例提供的另一种业务数据处理方法的流程示意图;
24.图4为本技术实施例提供的又一种业务数据处理方法的流程示意图;
25.图5为本技术实施例提供的另一种业务数据处理方法的流程示意图;
26.图6为本技术实施例提供的又一种业务数据处理方法的流程示意图;
27.图7为本技术实施例提供的一种业务数据处理方法的完整流程示意图;
28.图8为本技术实施例提供的一种业务数据处理装置的示意图;
29.图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
30.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
31.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本技术保护的范围。
32.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
33.图1为本技术实施例提供的一种业务数据处理系统的架构示意图,如图1所示,业务数据处理系统可包括:业务系统、数据处理引擎、数据存储系统。其中,数据处理引擎可以是flink计算框架,也可以是其它的可多线程并发运行的计算框架或应用程序等,例如spark计算框架或者storm计算框架等。数据处理引擎上并行运行有多个数据接收线程、多个数据处理线程。另外,数据处理引擎上还可运行有数据收集器。其中,数据收集器可以是通过c++、java或python等计算机编程语言所编写的功能模块或者独立的应用程序实现。各数据接收线程的运行逻辑相同,各数据处理线程的运行逻辑也相同,在本方法步骤执行初始,各数据接收线程和各数据处理线程均预先启动,以等待接收数据或是处理数据。
34.数据接收线程可从业务系统接收业务数据,并将接收的业务数据发送至数据处理线程(其中,数据接收线程和数据处理线程的数量并非一一对应的,且每个数据接收线程与每个数据处理线程也并非一一对应的,图中为了方便展示,以对应的方式进行连线示意),数据处理线程可对业务数据进行处理,提取到目标业务数据,其中目标业务数据可包括目标数据标识和目标数据内容,并将目标业务数据转换为键值对的方式添加至本数据处理线程上的业务数据散列表(hashmap)中,得到新的业务数据散列表,同时还可将本数据处理线程上提取的目标业务数据同步至其它数据处理线程,以使得其它数据处理线程也将目标业务数据添加至各自的业务数据散列表中,以达到各数据处理线程上的业务数据散列表的实时更新和数据同步。
35.之后,数据处理线程可向数据收集器发送数据更新请求,并在接收到数据收集器反馈的同意接收数据的响应后,将本数据处理线程的新的业务数据散列表发送至数据收集器。
36.数据收集器对接收的新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,并将业务数据维度表同步至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
37.其中,数据存储系统可以是数据库,例如hive数据库;也可以是用户,这里的用户可以是目标业务系统的作业人员。
38.这里,先对本技术可能涉及的专业名词进行解释:
39.1、维度表:指的是数据字典,举例,这个表的第一列是物品名,第二列是物品类型。物品名和物品类型具有对应关系。那么物品名,就是key,物品类型就是value,可以构成key-value对的形式。
40.2、hashmap(散列表):一种数据结构。可以快速的存储/读取key-value对形式的数据。可以认为,hashmap和维度表在数据含义上是等价的,只是维度表存储的是两列的结构,而hashmap是为了内存的访问效率改变了一下结构。另外,key具有唯一性。即,hashmap中不
存在相同的key,即存的物品名不可能相同。相应的,维度表的第一列不存在相同的值。
41.图2为本技术实施例提供的一种业务数据处理方法的流程示意图;该方法的执行主体可以是上述业务数据处理系统中的电子设备,电子设备可以是计算机设备、终端设备等。如图2所示,该方法可包括:
42.s201、接收目标业务系统发送的待处理业务数据,待处理业务数据中至少包括数据标识及数据内容。
43.目标业务系统可以指公司的业务平台,每个公司或是企业均有自己的业务平台,以处理企业相关的业务数据,目标业务系统在运行的过程中会产生大量的业务日志数据,日志数据可以优先存储至kafka数据队列中。
44.可选地,电子设备可以从kafka数据队列中接收目标业务系统发送的待处理业务数据。其中,数据标识可以表征数据的名称,而数据内容则可以指数据的类型。例如业务数据可以为物品名称,那么,对应的数据内容则可以为物品的类型。
45.s202、将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中。
46.由于业务数据散列表是以键值对的方式对数据进行存储,那么,可将上述数据标识和数据内容转换为键值对的方式存储至业务数据散列表中。也即,以key-value的方式进行存储。
47.其中,数据标识可以作为关键字(key),数据内容可以作为键值(value),那么,以数据标识为物品名称,数据内容为物品类型为例,对其转换后可得到键值对:物品名称-物品类型。
48.s203、将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系。
49.业务数据维度表是以表格的形式进行数据存储,其中,表的第一列可以对应键值对中的关键字,表的第二列可以对应键值对中的键值。
50.那么,可以将上述业务数据散列表中以键值对方式存储的数据数据标识及数据内容按照业务数据维度表的定义进行转换,以得到业务数据维度表。
51.可选地,所得到的业务数据维度表中第一列则可以为物品名称,第二列则为物品类型,其中,可以将相互对应的数据标识和数据内容存储至同一行,以生成数据标识和数据内容的对应关系。
52.s204、将业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
53.这里的数据存储系统可以指外部系统,外部系统可以为数据库或者也可以为用户,数据库例如可以是:如hive数据仓库工具、mysql(structured query language,关系型数据库管理系统)、postgres关系型数据库管理系统。用户例如可以是:企业、个人、管理平台等。
54.可选地,基于所发送的业务数据维度表,可以对数据存储系统中当前存储的业务数据维度表进行更新,以实现对数据存储系统中当前存储的业务数据维度表的实时更新。
55.综上,本实施例提供的业务数据处理方法,通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数
据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
56.可选地,在一种可实现的方式中,本方法可应用于电子设备中的数据处理引擎,数据处理引擎可以包括至少一个数据接收线程,步骤s201中,接收目标业务系统发送的待处理业务数据,可以包括:通过各数据接收线程分别并行接收目标业务系统发送的待处理业务数据。
57.在一种可实现的方式中,各数据接收线程持续的接收目标业务系统发送的待处理业务数据,并逐行处理,每行待处理业务数据可被一个数据接收线程接收。
58.对于每一个数据接收线程而言,在同一时刻,均可接收目标业务系统发送的一条待处理业务数据。其中,一条待处理业务数据可以指业务日志数据中的一行数据,目标业务系统在向数据接收线程发送业务数据时,可以是一行一行的进行发送,每一行业务数据可以被一个数据接收线程所接收。或者目标业务系统也可以是将批量业务数据发送过来,然后每行业务数据同样被一个数据接收线程所接收,这样可尽量减少业务数据在被数据接收线程接收之前的等待时长,以提高后续的业务数据处理效率。
59.图3为本技术实施例提供的另一种业务数据处理方法的流程示意图;可选地,数据处理引起还可包括至少一个数据处理线程。本技术的方法还可以包括:
60.s301、在数据处理引擎启动时,数据处理引擎包含的每个数据处理线程读取数据存储系统的历史业务数据维度表;历史业务数据维度表包含历史数据标识、历史数据内容以及历史数据标识与历史数据内容的对应关系。
61.可选地,各数据处理线程可读取数据存储系统的历史业务数据维度表(已有的业务数据维度表),这里的历史业务数据维度表同样是按照业务数据维度表的数据存储格式存储有历史数据标识、历史数据内容以及历史数据标识与历史数据内容的对应关系。
62.s302、将历史业务数据维度表中存储的历史数据标识及历史数据内容以键值对的方式存储至业务数据散列表中。
63.可将所读取的历史业务数据维度表中各数据标识以及各数据内容,按照各数据标识与各数据内容的对应关系,构造为键值对,从而将数据存储系统的历史业务数据维度表转换为业务数据散列表存储至各数据处理线程本地。从而各数据处理线程在初始状态下本地所存储的业务数据散列表中的数据信息是同步的。
64.可选地,步骤s202中,将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中,可以包括:
65.s303、通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识。
66.其中,目标数据处理线程根据各数据处理线程当前的空闲程度从各数据处理线程中确定。
67.可选地,目标数据标识可以根据实际的应用场景确定,以待处理业务数据为物品
相关的数据为例,比如物品购买、物品添加、物品消耗等,而要从待处理业务数据挑出其中的新物品更新到业务数据维度表中,那么,目标数据标识可以为物品名称。
68.本实施例中,针对目标数据处理线程而言,可先从目标数据处理线程所接收到的待处理业务数据中提取出目标数据标识,若能提取到,则将目标数据标识与目标数据处理线程中当前所存储的业务数据散列表中各数据标识进行匹配,当业务数据散列表中存在目标数据标识,则无需对业务数据散列表进行更新。
69.而若从目标数据处理线程所接收到的待处理业务数据中提取不到目标数据标识,则对待处理业务数据进行删除,也即不做处理,而是继续对所接收到的下一条待处理业务数据执行同样的步骤。
70.s304、若否,则通过目标数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,得到新的业务数据散列表。
71.在一些实施例中,若目标数据处理线程中当前存储的业务数据散列表中不存在所提取到的目标数据标识,那么,可将所提取到的目标数据标识、以及目标数据标识所对应的目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,以对当前存储的业务数据散列表中进行信息更新,例如上述的举例,将所提取到的新物品的名称及类型等信息更新至当前存储的业务数据散列表,得到新的业务数据散列表。
72.这里对目标数据处理线程进行说明:
73.数据接收线程在接收到一行待处理业务数据后,可将其发送至数据处理线程,这里需要说明的是,数据接收线程和数据处理线程并不是一一对应,比如数据接收线程可以是3个,数据处理线程可以是5个。一个特定的数据接收线程和数据处理线程也不是固定的对应关系,比如数据接收线程1接收到的第一条待处理业务数据可能发给数据处理线程a,而数据接收线程1接收到的下一条待处理业务数据可能发给数据处理线程b,可能发给数据处理线程c,也可以是数据处理线程a。
74.可选地,数据接收线程将收到的待处理业务数据发送至哪个数据处理线程,可以是根据当前各数据处理线程的空闲程度确定,可以从各数据处理线程中挑选出空闲程度最高的数据处理线程作为目标数据处理线程。从而将待处理业务数据发送至目标数据处理线程进行处理。
75.而若当前没有处理空闲的数据处理线程,则数据接收线程所接收的待处理业务数据可先在数据接收线程中进行排队等待。不过,这种等待时间也是极短的,并不会对业务数据的处理进度造成较大的影响。
76.图4为本技术实施例提供的又一种业务数据处理方法的流程示意图;可选地,步骤s303中,通过目标数据处理线程将目标数据标识与所述目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在所述目标数据标识之前,可以包括:
77.s401、通过目标数据处理线程,接收由数据接收线程发送的待处理业务数据。
78.在各数据接收线程接收到待处理业务数据时,会先按照步骤s304中所提供的方式确定出各数据接收线程所对应的目标数据处理线程,从而将各数据接收线程所接收的待处理业务数据发送至所对应的目标数据处理线程。那么,通过目标数据处理线程则可接收由
数据接收线程发送的待处理业务数据。
79.s402、根据目标数据标识、以及待处理业务数据中包含的各数据标识,从待处理业务数据中提取目标数据标识、以及目标数据标识对应的目标数据内容。
80.而在接收到待处理的业务数据后,还可通过目标数据处理线程从待处理业务数据中提取出目标数据标识及目标数据标识所对应的目标数据内容,在提取目标数据标识的情况下,则执行步骤s303-s304,以对目标数据处理线程中当前存储的业务数据散列表进行更新。
81.而提取不到时,则忽略该条待处理业务数据,继续对下一条待处理业务数据执行相同的处理。
82.可选地,本技术的方法还可包括:通过目标数据处理线程,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以在其它各数据处理线程上得到新的业务数据散列表。
83.在一些实施例中,除了在目标数据处理线程上的业务数据散列表中添加目标数据标识及目标数据内容外,还可通过目标数据处理线程将目标数据标识及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以使得其它各数据处理线程也可及时的对本线程上当前存储的业务数据散列表进行更新,各数据处理线程上均持有最新的业务数据散列表。
84.图5为本技术实施例提供的另一种业务数据处理方法的流程示意图;可选地,上述步骤中,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,可以包括:
85.s501、通过目标数据处理线程将目标数据标识以及目标数据内容分别发送至数据处理线程中除目标数据处理线程之外的其它各数据处理线程。
86.这里是针对一个目标数据处理线程而言的,目标数据处理线程可将存储至本线程中当前存储的业务数据散列表中的目标数据标识及目标数据内容分别发送至其它数据处理线程。
87.每个目标数据处理线程执行的步骤均是相同的,均是将存储至本线程中当前存储的业务数据散列表中的目标数据标识及目标数据内容分别发送至其它数据处理线程。
88.s502、通过各其它数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至各其它数据处理线程当前存储的业务数据散列表中,得到各其它数据处理线程上的新的业务数据散列表。
89.假设目标数据处理线程1将目标数据标识及目标数据内容发送至其它数据处理线程2、数据处理线程3、数据处理线程4,那么,对数据处理线程2而言,数据处理线程2可按照业务数据散列表的数据存储格式,将所接收的目标数据标识及目标数据内容存储至数据处理线程2中,得到数据处理线程2上的新的业务数据散列表。对数据处理线程3而言,数据处理线程3可按照业务数据散列表的数据存储格式,将所接收的目标数据标识及目标数据内容存储至数据处理线程3中,得到数据处理线程3上的新的业务数据散列表。
90.与上述的处理方法相同,其它数据处理线程同样是将目标数据标识和目标数据内容转换为键值对的方式存储至本地线程中当前存储的业务数据散列表中。
91.图6为本技术实施例提供的又一种业务数据处理方法的流程示意图;可选地,数据
处理引擎还可包括数据收集器,数据收集器与各数据处理线程可并行且实时执行,以与数据处理线程进行实时通信。
92.步骤s203中,将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,可以包括:
93.s601、通过目标数据处理线程向数据收集器发送数据更新请求。
94.这里以一个目标数据处理线程与数据收集器之间的交互步骤为例说明,对于任意一个目标数据处理线程,其与数据收集器之间的交互方式均是相同的。
95.目标数据处理线程可向数据收集器发送数据更新请求,以请求对数据存储系统中当前存储的业务数据维度表进行更新,这里,目标数据处理线程可以间隔预设时间向数据收集器发送一次数据更新请求,避免频繁的发送数据更新请求对目标数据处理线程的处理性能造成影响。
96.这里需要说明的是,每个目标数据处理线程的繁忙程度可能是不一样的,故每个目标数据处理线程对应的间隔时间可以是不同的。
97.s602、在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息时,将新的业务数据散列表发送至数据收集器。
98.由于数据收集器需要接收的数据量可能比较大,若对每个目标数据处理线程发送的数据均进行接收的话,会导致数据收集器的资源消耗较大,而各目标数据处理线程上的新的业务数据散列表中的数据在发送至数据收集器之前已达到同步,数据收集器在预设的时长内仅接收一个目标数据处理线程发送的新的业务数据散列表即可。
99.数据收集器在接收到目标数据处理线程发送的数据更新请求后,可判断是否同意接收数据处理线程发送的数据,若同意,则向目标数据处理线程反馈同意接收数据的反馈信息,以触发目标数据处理线程向数据收集器发送数据。
100.而当目标数据处理线程接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息时,则会将目标数据处理线程中的新的业务数据散列表发送至数据收集器。
101.s603、通过数据收集器将新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表。
102.数据收集器在接收到新的业务数据散列表后,可将新的业务数据散列表中以键值对方式存储的数据标识和数据内容转换为业务数据维度表,而具体的转换方式与前述实施例中的方式相同。
103.对于数据存储系统而言,其可以根据数据收集器所发送的业务数据维度表,对本地当前所存储的业务数据维度表进行更新,以将数据收集器所发送的业务数据维度表中新的数据添加至本地所存储的业务数据维度表中。或者,数据存储系统也可以直接将本地所存储的业务数据维度表直接替换为从数据收集器所接收到的业务数据维度表。
104.可选地,步骤s602中,在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息之前,本方法还包括:若在预设时长内数据收集器未接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据接收响应,数据接收响应用于指示:同意接收数据。
105.数据收集器在接收到任一目标数据处理线程发送的数据更新请求后,可判断预设时长内是否收到过其它目标数据处理线程(包括当前该目标数据处理线程)发送的数据更
新请求,如果未收到过,则向该目标数据处理线程发送数据接收响应,以指示该目标数据处理线程可以向数据收集器发送数据。其中,预设时长可以为3分钟,当然这仅为一种示例,具体时长不限于3分钟。
106.可选地,若在预设时长内数据收集器已接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据拒收响应,数据拒收响应用于指示:拒绝接收数据。
107.而数据收集器在接收到任一目标数据处理线程发送的数据更新请求后,判断预设时长内已收到过其它数据处理线程(包括当前该目标数据处理线程)发送的数据更新请求,则可向该目标数据处理线程发送数据拒收响应,以指示目标数据处理线程当前不可向数据收集器发送数据。
108.可选地,本方法还可包括:通过目标数据处理线程根据接收的数据拒收响应,在预设时间后重新向数据收集器发送数据更新请求。
109.目标数据处理线程在接收到数据收集器反馈的数据拒收响应后,可在等待一定时间后再次向数据收集器发送数据更新请求,直到接收到数据收集器反馈的数据接收响应后,将当前新的业务数据散列表发送至数据收集器。
110.这里值得注意的是,在目标数据处理线程等待一定时间的过程中,目标数据处理线程仍然可从数据接收线程处接收新的待处理业务数据进行处理,并实时更新本线程上的业务数据散列表,以保证后续向数据收集器发送的业务数据散列表为最新的,数据是最准确的。
111.图7为本技术实施例提供的一种业务数据处理方法的完整流程示意图;如图7所示,方法可包括:
112.s701:数据处理引擎启动多个数据接收线程、多个数据处理线程及数据收集器;
113.s702:通过多个数据接收线程中当前处于空闲状态的数据接收线程接收目标业务系统当前发送的待处理业务数据;
114.s703:通过数据接收线程根据各数据处理线程的空闲程度信息确定目标数据处理线程,并将待处理业务数据发送至目标数据处理线程;
115.s704:通过目标数据处理线程,接收由数据接收线程发送的待处理业务数据;
116.s705:根据目标数据标识、以及待处理业务数据中包含的各数据标识,从待处理业务数据中提取目标数据标识、以及目标数据标识对应的目标数据内容;
117.s706:通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识;
118.s707:若当前存储的业务数据散列表中不存在目标数据标识,则通过目标数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,得到新的业务数据散列表;
119.s708:若当前存储的业务数据散列表中存在目标数据标识,则结束。
120.s709:通过目标数据处理线程,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以在其它各数据处理线程上得到新的业务数据散列表;
121.s710:通过目标数据处理线程向数据收集器发送数据更新请求;
122.s711:若数据收集器在预设时长内未接收到数据更新请求,则向目标数据处理线程发送数据接收响应;
123.s712:通过目标数据处理线程接收数据收集器发送的数据接收响应,并向数据收集器发送新的业务数据散列表;
124.s713:通过数据收集器将新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表;
125.s714:通过数据收集器将业务数据维度表发送至数据存储系统。
126.各步骤的具体实施细节已在对应的实施例中进行了详细说明,此处不再赘述。
127.综上,本实施例提供的业务数据处理方法,通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
128.下述对用以执行本技术所提供的业务数据处理方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
129.图8为本技术实施例提供的一种业务数据处理装置的示意图,该业务数据处理装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述的电子设备中的数据处理引擎,或者是计算机设备、处理器等,如图所示,该装置可包括:接收模块710、存储模块720、转换模块730、发送模块740;
130.接收模块710,用于接收目标业务系统发送的待处理业务数据,待处理业务数据中至少包括数据标识及数据内容;
131.存储模块720,用于将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中;
132.转换模块730,用于将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系;
133.发送模块740,用于将业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
134.可选地,数据处理引擎包括至少一个数据接收线程,接收模块710,具体用于通过各数据接收线程分别并行接收目标业务系统发送的待处理业务数据。
135.可选地,数据处理引擎还包括至少一个数据处理线程;装置还包括:读取模块;
136.读取模块,用于在数据处理引擎启动时,数据处理引擎包含的每个数据处理线程读取数据存储系统的历史业务数据维度表;历史业务数据维度表包含历史数据标识、历史数据内容以及历史数据标识与历史数据内容的对应关系;
137.存储模块720,具体用于将历史业务数据维度表中存储的历史数据标识及历史数据内容以键值对的方式存储至业务数据散列表中;
138.存储模块720,具体用于通过目标数据处理线程将目标数据标识与目标数据处理
线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识,目标数据处理线程根据各数据处理线程当前的空闲程度从各数据处理线程中确定;
139.若否,则通过目标数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,得到新的业务数据散列表。
140.可选地,接收模块710,还用于通过目标数据处理线程,接收由数据接收线程发送的待处理业务数据;
141.根据目标数据标识、以及待处理业务数据中包含的各数据标识,从待处理业务数据中提取目标数据标识、以及目标数据标识对应的目标数据内容。
142.可选地,发送模块740,还用于通过目标数据处理线程,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以在其它各数据处理线程上得到新的业务数据散列表。
143.可选地,发送模块740,具体用于通过目标数据处理线程将目标数据标识以及目标数据内容分别发送至数据处理线程中除目标数据处理线程之外的其它各数据处理线程;
144.通过各其它数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至各其它数据处理线程当前存储的业务数据散列表中,得到各其它数据处理线程上的新的业务数据散列表。
145.可选地,转换模块730,具体用于通过目标数据处理线程向数据收集器发送数据更新请求;
146.在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息时,将新的业务数据散列表发送至数据收集器;
147.通过数据收集器将新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表。
148.可选地,发送模块740,还用于若在预设时长内数据收集器未接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据接收响应,数据接收响应用于指示:同意接收数据。
149.可选地,发送模块740,还用于若在预设时长内数据收集器已接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据拒收响应,数据拒收响应用于指示:拒绝接收数据;
150.通过目标数据处理线程根据接收的数据拒收响应,在预设时间后重新向数据收集器发送数据更新请求。
151.通过上述方法,数据处理引擎通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
152.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
153.上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过lan、wan、蓝牙、zigbee、或nfc等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。
154.图9为本技术实施例提供的一种电子设备的结构示意图,包括:处理器801、存储介质802和总线803,存储介质802存储有处理器801可执行的机器可读指令,当电子设备运行如实施例中的一种业务数据处理方法时,处理器801与存储介质802之间通过总线803通信,处理器801执行机器可读指令,以执行以下步骤:
155.接收目标业务系统发送的待处理业务数据,待处理业务数据中至少包括数据标识及数据内容;
156.将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中;
157.将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系;
158.将业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
159.在一个可行的实施方案中,业务数据处理方法应用于数据处理引擎,数据处理引擎包括至少一个数据接收线程,处理器801在接收目标业务系统发送的待处理业务数据,具体用于:
160.通过各数据接收线程分别并行接收目标业务系统发送的待处理业务数据。
161.在一个可行的实施方案中,数据处理引擎还包括至少一个数据处理线程,处理器801还用于:
162.在数据处理引擎启动时,数据处理引擎包含的每个数据处理线程读取数据存储系统的历史业务数据维度表;历史业务数据维度表包含历史数据标识、历史数据内容以及历史数据标识与历史数据内容的对应关系;
163.将历史业务数据维度表中存储的历史数据标识及历史数据内容以键值对的方式存储至业务数据散列表中。
164.处理器801在执行将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中时,具体用于通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识,目标数据处理线程根据各数据处理线程当前的空闲程度从各数据处理线
程中确定;
165.若否,则通过目标数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,得到新的业务数据散列表。
166.在一个可行的实施方案中,处理器801在执行通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识之前,具体用于:
167.通过目标数据处理线程,接收由数据接收线程发送的待处理业务数据;
168.根据目标数据标识、以及待处理业务数据中包含的各数据标识,从待处理业务数据中提取目标数据标识、以及目标数据标识对应的目标数据内容。
169.在一个可行的实施方案中,处理器801还用于:通过目标数据处理线程,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以在其它各数据处理线程上得到新的业务数据散列表。
170.在一个可行的实施方案中,处理器801在执行将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程时,具体用于:
171.通过目标数据处理线程将目标数据标识以及目标数据内容分别发送至数据处理线程中除目标数据处理线程之外的其它各数据处理线程;
172.通过各其它数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至各其它数据处理线程当前存储的业务数据散列表中,得到各其它数据处理线程上的新的业务数据散列表。
173.在一个可行的实施方案中,数据处理引擎还包括:数据收集器,处理器801在执行将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表时,具体用于:
174.通过目标数据处理线程向数据收集器发送数据更新请求;
175.在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息时,将新的业务数据散列表发送至数据收集器;
176.通过数据收集器将新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表。
177.在一个可行的实施方案中,处理器801在执行在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息之前,具体用于:
178.若在预设时长内数据收集器未接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据接收响应,数据接收响应用于指示:同意接收数据。
179.若在预设时长内数据收集器已接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据拒收响应,数据拒收响应用于指示:拒绝接收数据;
180.通过目标数据处理线程根据接收的数据拒收响应,在预设时间后重新向数据收集器发送数据更新请求。
181.通过上述方法,数据处理引擎通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散
列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
182.其中,存储介质802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本技术各种示例性实施方式的业务数据处理方法中的各种步骤。
183.处理器801可以是通用处理器,例如中央处理器(cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
184.存储介质802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。本技术实施例中的存储介质802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
185.可选地,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,处理器801执行以下步骤:
186.以执行以下步骤:
187.接收目标业务系统发送的待处理业务数据,待处理业务数据中至少包括数据标识及数据内容;
188.将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中;
189.将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表,业务数据维度表包括数据标识、数据内容以及数据标识与数据内容的对应关系;
190.将业务数据维度表发送至数据存储系统,以对数据存储系统中当前存储的业务数据维度表进行更新。
191.在一个可行的实施方案中,业务数据处理方法应用于数据处理引擎,数据处理引擎包括至少一个数据接收线程,处理器801在接收目标业务系统发送的待处理业务数据,具体用于:
192.通过各数据接收线程分别并行接收目标业务系统发送的待处理业务数据。
193.在一个可行的实施方案中,数据处理引擎还包括至少一个数据处理线程,处理器
801还用于:
194.在数据处理引擎启动时,数据处理引擎包含的每个数据处理线程读取数据存储系统的历史业务数据维度表;历史业务数据维度表包含历史数据标识、历史数据内容以及历史数据标识与历史数据内容的对应关系;
195.将历史业务数据维度表中存储的历史数据标识及历史数据内容以键值对的方式存储至业务数据散列表中。
196.处理器801在执行将数据标识以及数据内容转换为键值对的方式存储至业务数据散列表中时,具体用于通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识,目标数据处理线程根据各数据处理线程当前的空闲程度从各数据处理线程中确定;
197.若否,则通过目标数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至目标数据处理线程中当前存储的业务数据散列表中,得到新的业务数据散列表。
198.在一个可行的实施方案中,处理器801在执行通过目标数据处理线程将目标数据标识与目标数据处理线程中当前存储的业务数据散列表中各数据标识进行匹配,确定当前存储的业务数据散列表中是否存在目标数据标识之前,具体用于:
199.通过目标数据处理线程,接收由数据接收线程发送的待处理业务数据;
200.根据目标数据标识、以及待处理业务数据中包含的各数据标识,从待处理业务数据中提取目标数据标识、以及目标数据标识对应的目标数据内容。
201.在一个可行的实施方案中,处理器801还用于:通过目标数据处理线程,将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程,以在其它各数据处理线程上得到新的业务数据散列表。
202.在一个可行的实施方案中,处理器801在执行将目标数据标识以及目标数据内容同步至数据处理线程中除目标数据处理线程之外的其它各数据处理线程时,具体用于:
203.通过目标数据处理线程将目标数据标识以及目标数据内容分别发送至数据处理线程中除目标数据处理线程之外的其它各数据处理线程;
204.通过各其它数据处理线程将目标数据标识以及目标数据内容转换为键值对的方式存储至各其它数据处理线程当前存储的业务数据散列表中,得到各其它数据处理线程上的新的业务数据散列表。
205.在一个可行的实施方案中,数据处理引擎还包括:数据收集器,处理器801在执行将业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表时,具体用于:
206.通过目标数据处理线程向数据收集器发送数据更新请求;
207.在接收到数据收集器针对数据更新请求发送的同意接收数据的反馈信息时,将新的业务数据散列表发送至数据收集器;
208.通过数据收集器将新的业务数据散列表中以键值对方式存储的数据标识及数据内容转换为业务数据维度表。
209.在一个可行的实施方案中,处理器801在执行在接收到数据收集器针对数据更新
请求发送的同意接收数据的反馈信息之前,具体用于:
210.若在预设时长内数据收集器未接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据接收响应,数据接收响应用于指示:同意接收数据。
211.若在预设时长内数据收集器已接收到数据更新请求,则通过数据收集器向目标数据处理线程发送数据拒收响应,数据拒收响应用于指示:拒绝接收数据;
212.通过目标数据处理线程根据接收的数据拒收响应,在预设时间后重新向数据收集器发送数据更新请求。
213.通过上述方法,数据处理引擎通过接收业务系统产生的业务数据,可对待处理业务数据进行及时处理,以得到待处理业务数据中的数据标识和数据内容,将数据标识和数据内容存储至业务数据散列表中以对业务数据散列表进行更新;进一步地,将业务数据散列表转换为业务数据维度表的形式发送至数据存储系统,从而可根据业务数据维度表中的数据信息实现对数据存储系统中当前存储的业务数据维度表的及时更新,本方法可实现数据维度表的实时更新,减少待处理业务数据的等待时间,保证来自业务系统的待处理业务数据能够被及时处理,从而提高了数据维度表的更新效率。
214.在本技术实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
215.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
216.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
217.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
218.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1