数据处理方法及相关设备与流程

专利2023-01-04  155



1.本公开涉及计算机技术领域,尤其涉及一种数据处理方法及相关设备。


背景技术:

2.在信息化建设的过程中,很多企业的部门根据自身业务和功能需要,建立了许多相互隔离的异构数据源。由于建设时间不同、技术发展程度不同、缺乏统一的信息规划,导致数据标准不统一、字段类型不一致、数据质量不过关、数据库技术不统一等诸多问题。数据库系统间数据分散,信息无法交流和融合,“信息孤岛”现象普遍存在,无法形成数据合力。


技术实现要素:

3.本公开提出一种数据处理方法及相关设备,以解决或部分解决上述问题。
4.本公开第一方面,提供了一种数据处理方法,包括:
5.接收第一用户的第一数据查询请求;
6.根据所述第一数据查询请求,生成对数据进行第一处理的第一代码;
7.创建所述第一代码的运行环境并执行所述第一代码以执行以下操作:
8.确定所述第一数据查询请求对应的至少一个数据所在的数据库;
9.从所述数据库中获取所述至少一个数据;
10.将所述至少一个数据进行所述第一处理以得到第一目标数据。
11.本公开第二方面,提供了一种数据处理方法,包括:
12.接收第一用户的第一数据查询请求;
13.根据所述第一数据查询请求,调用第一内核管理器并在所述第一内核管理器中执行第一代码以执行以下操作:
14.确定所述第一数据查询请求对应的至少一个数据所在的数据库;
15.从所述数据库中获取所述至少一个数据;
16.将所述至少一个数据进行第一处理以得到第一目标数据。
17.本公开第三方面,提供了一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面或第二方面所述的方法的指令。
18.本公开第四方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面或第二方面所述的方法。
19.本公开第五方面,提供了一种提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行第一方面或第二方面所述的方法。
20.本公开提供的数据处理方法及相关设备,可以对多源异构数据库的数据进行融
合,解决了异构数据库融合中的“信息孤岛”难题,克服现有数据库融合技术的时效性不足问题。
附图说明
21.为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1示出了本公开实施例所提供的示例性系统的示意图。
23.图2a示出了根据本公开实施例的示例性系统的层级结构示意图。
24.图2b示出了根据本公开实施例的一种示例性处理流程的示意图。
25.图2c示出了根据本公开实施例的另一种示例性处理流程的示意图。
26.图2d示出了根据本公开实施例的另一种示例性处理流程的示意图。
27.图2e示出了根据本公开实施例的另一种示例性处理流程的示意图。
28.图3a示出了根据本公开实施例的示例性界面的示意图。
29.图3b示出了根据本公开实施例的另一示例性界面的示意图。
30.图3c示出了根据本公开实施例的另一示例性界面的示意图。
31.图3d示出了根据本公开实施例的另一示例性界面的示意图。
32.图3e示出了根据本公开实施例的另一示例性界面的示意图。
33.图3f示出了根据本公开实施例的另一示例性界面的示意图。
34.图3g示出了根据本公开实施例的另一示例性界面的示意图。
35.图3h示出了根据本公开实施例的另一示例性界面的示意图。
36.图4示出了本公开实施例所提供的示例性方法的流程示意图。
37.图5示出了本公开实施例所提供的示例性计算机设备的硬件结构示意图。
具体实施方式
38.为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
39.需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
40.基于前面所述,异构数据源导致数据库系统间数据分散,信息无法交流和融合。为了对某种类或某字段的数据进行分析,有时需要横跨多个系统。
41.一种处理方式是使用数据仓库技术(etl)工具对数据进行综合治理,根据来源数
据特点和结构直接做映射,将多个来源的数据汇聚在一起,然后在汇聚数据的基础上做二次处理。
42.该技术虽然一定程度解决了数据融合的问题,但往往需要技术人员配置、开发等,学习成本较高,也很难满足时效性,无法对数据实时处理、预览、展示,离线处理后一旦有需求变更,需要重新再做一次数据融合,时间成本也较高。
43.鉴于此,本公开实施例提供了一种数据处理方法,包括:接收第一用户的第一数据查询请求;根据所述第一数据查询请求,生成对数据进行第一处理的第一代码;创建所述第一代码的运行环境并执行所述第一代码以执行以下操作:确定所述第一数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;将所述至少一个数据进行所述第一处理以得到第一目标数据。
44.该方法将多源异构数据库进行融合,可以在不影响各数据库的情况下,提供对各异构数据库进行透明查询、实时预览、动态增删列、实时图表生成、创建定时任务以及输出到目标数据库等功能,大大降低数据处理的技术成本和时间成本。
45.图1示出了本公开实施例所提供的示例性系统100的示意图。
46.该系统100可以用于将多源异构数据库进行融合。如图1所示,该系统100可以包括多个终端设备(例如,终端设备102a和102b)、服务器200和多个数据库服务器(例如,数据库服务器104a~104c)。其中,多个数据库服务器可以分别提供异构数据源,例如,mysql、postgresql、clickhouse、hana、oracle、sqlserver。
47.终端设备102a和102b可以是任意的终端设备,例如,固定终端(例如,个人电脑)或者移动终端(例如,笔记本电脑、手机等)。用户可以利用终端设备102a和102b来访问服务器200,从而获取服务器200所提供的异构数据的查询和处理服务。作为一个可选实施例,用户可以通过终端设备102a和102b中的浏览器登录相应地址来访问服务器200。
48.图2a示出了根据本公开实施例的示例性系统100的层级结构示意图。
49.如图2a所示,系统100可以进一步包括应用层202、数据处理层204和数据库层206。
50.数据库层206可以包括多种异构数据源,通过在数据库层206中配置数据源连接信息,可以完成对各种数据库中的异构数据源的数据访问,例如,mysql、postgresql、clickhouse、hana、oracle、sqlserver。
51.应用层202对应于该系统100的使用者(例如,终端设备102a和102b),对外提供使用该系统100的入口,并可以进一步包括数据源管理功能2022、元数据查询功能2024、数据处理功能2026和任务管理功能2028等。其中,数据源管理功能2022可以进一步包括对数据源的添加/删除和数据源查询列表的管理。元数据查询功能2024可以进一步包括各数据库的数据表查询、数据表的字段和字段类型的查询等功能。数据处理功能2026可以进一步包括通过自定义sql查询数据、数据预览、自定义列、图表展示、数据下载和输出到库等功能;其中,用户可以利用自定义sql来生成数据查询请求并发送给服务器200进行相应处理。任务管理功能2028可以进一步包括创建任务、配置执行周期、启动操作、停止操作和操作日志查看等功能。
52.数据处理层204用于融合各异构数据源信息,负责异构数据源的数据访问,对n个(n≥1)数据源的数据表中的数据进行加载、连接、筛选、聚合、增删自定义数据列等操作,同时存储处理结果。数据处理层204可以从应用层202接收数据查询/处理请求,进行数据转
换、生成代码段、执行代码段等操作,以完成数据融合的核心功能。
53.如图2a所示,数据处理层204可以进一步包括:数据源管理2042、元数据管理2044、代码生成器2046、内核管理器2048、统一访问接口2050、任务调度器2052。其中:
54.数据源管理2042可以用于存储异构数据库的用户名、密码、端口号、数据库类型等数据库连接信息(如图2a所示),从而数据处理层204可以基于这些数据库连接信息从相应数据库中获取所需的数据。
55.元数据管理2044可以用于提供数据源的元数据(如图2a所示),把数据源的数据表、数据表中的字段名称以及字段类型,通过数据访问接口返回给调用方。
56.代码成生器2046可以根据目标数据源或目标sql语句,生成用于执行的代码(如图2a所示),该代码可以包括多个代码段。其中,以代码段所需实现的操作的不同,可以分为用于将从多个异构数据库中获取的数据进行融合的数据融合代码段、用于对融合后的数据进行处理的数据处理代码段、用于将数据保存到目标地址的数据持久化代码段、基于获取的数据生成图表的数据可视化代码段,等等。
57.内核管理器2048可以负责接收并执行代码生成器的代码段,完成异构数据融合的核心功能。其中,根据操作系统的不同,内核管理器2048的名称可以是不同的。例如,在windows操作系统中,该内核管理器可以是内核事务管理器。内核管理器2048可以用于提供执行代码的运行环境,并且,在服务器200中根据不同用户或者不同任务,可以相应创建各自独立的内核管理器并可以具有唯一识别的编号,以将不同用户的请求对应分配到相应的内核管理器进行处理。内核管理器之间相互独立,不会相互干扰,使得服务器200中可以并行处理多项任务,提高处理效率。
58.统一访问接口2050可以用于提供应用层页面展示及操作所需的接口,例如,基于restful支持json格式的http服务接口。
59.任务调度器2052可以用于实现数据处理任务调度。
60.用户利用终端设备102a或102b的浏览器,通过操作页面功能,使用拖拽、自动输入等方式生成异构数据源连接所需要的sql脚本并向应用层202发送相应的请求,通过数据处理层204来完成异构数据库融合,实现对各异构数据库透明查询、实时预览、动态增删列、实时图表生成、创建定时任务以及输出到目标数据库功能,大大降低数据处理的技术成本和时间成本。
61.图2b示出了根据本公开实施例的一种示例性处理流程的示意图。
62.如图2b所示,第一用户106a可以利用终端设备102a来输入自定义sql查询语句,然后终端设备102a可以生成第一数据查询请求208(例如,利用浏览器生成遵循http协议的查询请求)并发送到服务器200。数据处理层204可以利用统一的接口接收该第一数据查询请求208生成对数据进行第一处理的第一代码210,接着创建该第一代码210的运行环境并执行该第一代码210对应的操作。
63.图3a和图3b分别示出了示例性界面300和310的示意图。
64.如图3a所示,当第一用户106a利用终端设备102a的浏览器登录服务器200之后,服务器200可以向终端设备102a提供界面300。在界面300中可以显示第一用户106a已经创建的数据库查询任务,在初始状态下,该界面300的内容为空,如图3a所示。
65.当第一用户106a在界面300中点击了新增按钮302,可以浏览器可以跳转到界面
310,如图3b所示。
66.如图3b所示,界面310中可以提供sql查询语句的输入框312,第一用户106a可以在该输入框312中输入自定义sql查询语句来生成第一数据查询请求208。例如,第一用户106a在输入完自定义sql查询语句之后,点击运行按钮314,从而可以向服务器200发送第一数据查询请求208。在一些实施例中,如图3b所示,界面310中还可以有任务名称输入栏和任务描述输入栏,第一用户106a通过在这两个输入栏中输入相应内容后,在运行自定义sql查询语句之后,可以将这两个输入栏的内容连同自定义sql查询语句一起保存为一个任务,并可以显示在界面300中,参考图3h所示。
67.作为一个可选实施例,如图3b所示,输入框312的右上角还可以设置格式化按钮316。在一些场景下,开发人员在编写sql查询语句时可能没有注意排版,导致输入的语句的可读性不强。为了将这样的语句形成为规范排版的格式,当第一用户106a输入完自定义sql查询语句之后,点击格式化按钮316,就可以将排版不规范的语句转换为规范语句并呈现在界面300中。
68.例如,假设第一用户106a输入的语句如下:
69.select count(*),strftime("%d",create_time)as day,name from df group by strftime("%d",create_time),name
70.在点击格式化按钮316之后,输入框312中可以呈现如下的规范排版的语句:
[0071][0072]
这样,把输入的语句处理为格式化的语句,可读性更强。
[0073]
在一些实施例中,终端设备102a或服务器200还可以保存该格式化之后的语句,当第一用户106a再次查看该任务时,输入框312中可以展示该格式化之后的语句,提高可读性,有利于用户操作。
[0074]
进一步地,在执行该第一代码210时,可以根据第一数据查询请求208所包含的信息来确定该第一数据查询请求208对应的至少一个数据所在的数据库,然后从对应的数据库中获取所述至少一个数据,接着将所述至少一个数据进行所述第一处理以得到第一目标数据212。
[0075]
回到图2b,第一用户106a在输入自定义sql查询语句时,该自定义sql查询语句中可能包括多个异构数据源的信息。以图2b所示的查询语句为例,该查询语句请求把mysql数据库中的test_mysql表和postgresql数据库中的test_pg表,进行内连接操作。这样,基于该自定义sql查询语句生成的第一数据查询请求208可以相应包含自定义sql查询语句的脚本,从而可以从请求208中解析到相应信息。可以理解,本实施例仅以mysql数据库和postgresql数据库为例进行说明,当用户的查询请求包含其他数据库的数据表的查询请求时,同理可知其他数据库的操作方式,在此不再赘述。
[0076]
因此,在一些实施例中,在生成第一代码210时,可以通过解析该第一数据查询请求208来确定该第一数据查询请求208所需查询的至少一个数据所在的数据库及对应的数据表的信息,例如,mysql数据库的test_mysql表和postgresql数据库的test_pg表。由于sql语句中一般在“from”或“on”等关键词后面的第一个单词为数据表名,因此,在解析时,通过识别该关键词就可以知道所需查询的数据表及其所在数据库的信息。
[0077]
然后,根据所述至少一个数据所在的数据库及对应的数据表的信息,可以生成包括至少一个第一代码段的所述第一代码210。如图2b所示,针对每个数据表可以相应生成一个第一代码段。并且,为了将基于多个第一代码段查询得到的数据表通过内连接融合到一起,还可以生成一个多个异构数据源表代码段,用于将多个异构数据源的数据表连接成一个数据表作为第一目标数据212。这样,执行该第一代码210后,就可以得到已经完成数据融合的第一目标数据212。
[0078]
在一些实施例中,创建所述第一代码的运行环境可以进一步包括:创建第一内核管理器2048a(如图2b所示),并在所述第一内核管理器2048a中创建所述第一代码210的运行环境。然后,可以在该第一内核管理器2048a执行该第一代码210。
[0079]
如图2b所示,具体地,由于每一个第一代码段对应包含了一个待查询的异构数据源目标数据表,因此,每个第一代码段执行完成后可以把相应的数据表加载到内存中,这样,就把所有第一代码段对应的目标数据表的数据加载到内存中。在内存中,可以以"数据源名称_目标表"格式命名为相应数据表的唯一名称。
[0080]
在查询得到所需的所有数据表之后,第一内核管理器2048a可以执行多个异构数据源表代码段来将查询得到的多个异构数据源表进行连接,产生本次数据查询的最终结果(dataframe1),即第一目标数据212(通常为数据集的形式),并可以暂存在内存中以便后续使用。
[0081]
然后,数据处理层204还可以将数据查询结果响应给第一用户106a,同时携带第一内核管理器2048a的编号(kernel_id,一个内核管理器产生一个kernel_id,唯一编号,不重复)以及第一目标数据212的编号(dataframe1)。基于第一内核管理器2048a的编号kernel_id以及第一目标数据212的编号dataframe1,第一用户106a可以利用浏览器可对第一内核管理器2048a中的第一目标数据212进行实时预览、增删列、数据下载、可视化图表生成、输出到库等操作。
[0082]
可以理解,由于第一目标数据212具有自己的编号,因此,在一个内核管理器中也可以同时存放来自不同数据库的多个表数据集,为了区分各表数据集,同一内核管理器中的表数据集的编号也是唯一的。
[0083]
在将第一用户106a所期望查询的多个异构数据源中的数据表融合为第一目标数据212之后,第一用户106a可以对构成第一目标数据212的数据集进行后续的数据加工处理。
[0084]
在一些实施例中,对数据的进一步加工处理可以进一步包括:
[0085]
接收所述第一用户106a的第一数据处理请求214(参考图2c所示);
[0086]
根据所述第一数据处理请求,生成对数据进行第二处理的第二代码216(参考图2c所示);
[0087]
在所述第一内核管理器中执行所述第二代码以执行以下操作:
[0088]
对所述第一目标数据212进行所述第二处理以得到第二目标数据218(参考图2c所示);
[0089]
将所述第二目标数据218返回给所述第一用户106a。
[0090]
在一些实施例中,所述第二处理可以包括对所述第一目标数据进行预览、图表生成、增加列、删除列、下载、输出中的至少其一。
[0091]
图2c示出了根据本公开实施例的一种示例性数据处理流程的示意图。
[0092]
如图2c所示,在一些实施例中,在得到第一目标数据212之后,用户可以对第一目标数据212进行预览处理,从而得到预览结果。
[0093]
具体地,针对第一内核管理器2048a中保存的第一目标数据212的数据集dataframe1,第一用户106a可以通过浏览器向数据处理层204的统一接口发送对数据进行预览的数据处理请求214。
[0094]
数据处理层204收到请求214后,构建包含数据预览代码段的第二代码216,使用内核管理器的编号调用第一内核管理器2048a,第一内核管理器2048a执行第二代码216的数据预览代码段,完成对第一目标数据212的数据预览处理,得到第二目标数据218,其中可以包括第一目标数据212的数据集dataframe1的列字段信息及数据行。
[0095]
然后,通过统一接口以json格式向第一用户106a返回该第二目标数据218,第一用户106a的终端设备102a的浏览器把响应结果渲染到页面完成数据预览。如图3c所示,预览结果可以展示在界面310的预览框318中。作为一个可选实施例,如图3c所示,对于数据查询请求得到的各数据表,还可以在数据表预览框330中进行列表展示,并且可以提供相应的查询入口供用户进行查找。
[0096]
图2d示出了根据本公开实施例的另一种示例性数据处理流程的示意图。
[0097]
如图2d所示,在一些实施例中,在得到第一目标数据212之后,用户可以对第一目标数据212进行增删列(增加列或删除列)处理,从而得到增删列后的结果。
[0098]
具体地,如图2d所示,针对第一内核管理器2048a中保存的第一目标数据212的数据集dataframe1,第一用户106a可以通过浏览器向数据处理层204的统一接口发送对数据进行增删列的数据处理请求214。该请求214中可以包含需要操作的列名、列生成规则(用户输入的自定义代码段,删除列时无列生成规则)。
[0099]
图3d示出了根据本公开实施例的另一示例性界面310的示意图。
[0100]
当第一用户106a点击了图3c的界面310中的增加计算列按钮320之后,界面310中弹出小窗口322,如图3d所示。第一用户106a可以通过在列名称一栏中输入需要操作的列名,在计算规则一栏输入列生成规则,然后点击确定按钮,即可发送对数据进行增删列的数据处理请求214。在一些实施例中,如图3d所示,在窗口322中还可以设置对函数进行提示的函数提示区域,用于根据用户输入的列名和计算规则来生成相应的函数,从而对用户进行提示。
[0101]
数据处理层204收到请求214后,构建包含增删列代码段(增删列代码段=系统生成+用户输入的生成规则)的第二代码216,使用内核管理器的编号调用第一内核管理器2048a,第一内核管理器2048a执行第二代码216的增删列代码段,完成对第一目标数据212的增删列处理,得到第二目标数据218,然后向第一用户106a返回响应成功消息。
[0102]
在一些实施例中,若需要对增删列的结果进行预览,可以参考前述对数据进行预
览的处理,从而得到增删列后数据的预览结果(以json格式响应)。
[0103]
图3e示出了根据本公开实施例的另一示例性界面310的示意图。
[0104]
如图3e所示,增加计算列进行预览处理之后,界面310的预览框318中可以在原有数据的基础上增加相应的列,该列可以用不同背景色进行高亮显示,从而起到提示作用。在一些实施例中,在原始的数据查询指令基础上进行的增加计算列操作而得到的增加的数据,可以提供简便的删除操作按钮
“×”
,通过点击
“×”
按钮,即可向服务器200发送删除相应列的请求。删除后的预览界面如图3c所示。作为一个可选实施例,由于点击
“×”
按钮的操作较为简便,为了避免误操作,在点击
“×”
按钮之后还可以在界面310中显示提示框,如图3f所示。当第一用户106a点击了该提示框中的确定按钮之后,才向服务器200发送删除相应列的请求。
[0105]
作为一个可选实施例,第一用户106a还可以下载第一目标数据212。
[0106]
具体地,针对第一内核管理器2048a中保存的第一目标数据212的数据集dataframe1,第一用户106a可以通过浏览器向数据处理层204的统一接口发送对数据进行下载的数据处理请求214。
[0107]
回到图3c,第一用户106a可以通过点击下载按钮324来向服务器发送对数据进行下载的数据处理请求214。在一些实施例中,数据查询请求得到的数据量可能很大(例如,100万条),为了避免下载的数据过多,可以通过勾选输入框312的左上角的采样标记前面的方框来对查询得到的数据进行采样,避免数据过多而导致下载速度较慢的问题。作为一个可选实施例,勾选采样之后,可以默认从查询得到的数据中获得排在前面的多条数据(例如,100条、1000条等)来进行下载。
[0108]
需要说明的是,在一些场景下,下载数据的目的主要是查看并分析数据查询请求所获得的数据是否都是所需要的数据,由于预览的数量通常较少(例如,前30条数据),为了更好地对数据进行分析又不下载过量数据,通过提供采样功能,能够更好地满足用户需求。
[0109]
数据处理层204收到请求214后,构建包含数据下载代码段的第二代码216,使用内核管理器的编号调用第一内核管理器2048a,第一内核管理器2048a执行第二代码216的数据下载代码段,完成对第一目标数据212的下载,执行完成后数据集dataframe1被存储为json、xml、csv、excel中的一种文件作为第二目标数据218,然后通过数据处理层204的统一接口将该文件的可访问的url地址响应给第一用户106a的浏览器,浏览器访问该地址即可完成数据下载。
[0110]
在一些实施例中,第一用户106a还可以将第一目标数据212输出到任意的数据库。
[0111]
具体地,针对第一内核管理器2048a中保存的第一目标数据212的数据集dataframe1,第一用户106a可以通过浏览器向数据处理层204的统一接口发送对将数据输出到指定数据库的数据处理请求214。
[0112]
图3g示出了根据本公开实施例的另一示例性界面310的示意图。
[0113]
当第一用户106a点击了图3c的界面310中的输出到库按钮326之后,界面310中弹出小窗口328,如图3g所示。在窗口328中,用户可以选择将数据输出到的目标源(即指定数据库),并且可以为输出的数据表进行命名,例如,将想要命名的表名输入在表名一栏中。在输出时,还可以选择时追加数据模式还是覆盖数据模式。当目标数据库中已经存在了相同表名的数据表,选择覆盖数据模式时,则会对数据表中的数据进行替换更新,若采用追加模
式,则只会在该数据表中新增数据,而不会覆盖数据。当所有选项都填写完毕,点击确定按钮,则可以发送对将数据输出到指定数据库的数据处理请求214。
[0114]
数据处理层204收到请求214后,构建包含数据输出到库代码段(根据输出目标数据库类型,生成不同代码段)的第二代码216,使用内核管理器的编号调用第一内核管理器2048a,第一内核管理器2048a执行第二代码216的数据输出到库代码段,完成将第一目标数据212输出到库的处理,得到输出到指定数据库的第二目标数据218,并将该第二目标数据218输出到指定数据库。代码段执行完成即输出到库流程完成。
[0115]
作为一个可选实施例,该第一目标数据212还可以通过图表进行展示。
[0116]
图2e示出了根据本公开实施例的另一种示例性数据处理流程的示意图。
[0117]
在得到第一目标数据212之后、展示图表之前,第一用户106a可以通过浏览器打开数据集可视化操作页面,该页面初始化时向数据处理层204的统一接口发送数据集元数据查询请求,获取该数据集dataframe1包含的字段名称、字段类型,渲染在浏览器上供用户操作。其中,字段类型包括string、float64、datetime三种;string类型字段的处理函数为计数(count),float64类型字段的处理函数为计数(count)、最大值(max)、最小值(min)、平均值(avg)、聚合(sum),datatime类型字段的处理函数为取年(year)、取月(month)、取日(day)。
[0118]
然后,第一用户106a可以通过浏览器进行可视化拖拽操作,首先是指定图表类型,从而可以将第一目标数据212按照指定图表类型以可视化图表方式展示。其中图表类型可以包括柱状图、饼状图、曲线图、散点图等类型,每种图都可以进一步包括轴、图例、值这三个待填充区。
[0119]
第一用户106a选定指定图表类型后,可以从渲染在浏览器上的该数据集dataframe1包含的字段名称、字段类型中拖拽所需的数据集字段来填充轴、图例、值这三个待填充区。
[0120]
然后,在参数配置完成后,应用层202可以把第一用户106a的前述操作转换成json报文。具体地,第一用户106a的终端设备102a可以根据被拖拽到待填充区数据集字段(包括字段名称和字段类型)来生成json报文,其中,在填充值参数时,可选前面提到的字段类型对应的处理函数来生成json报文。
[0121]
然后,第一用户106a可以使用该报文+第一内核管理器2048a的编号+第一目标数据212的编号(例如,dataframe1)调用数据处理层204的统一访问接口。
[0122]
数据处理层204收到请求214后,可以把json格式报文转换成sql脚本。
[0123]
以下示出了一段json格式报文的示例:
[0124][0125]
将该json格式报文转换为sql脚本的示例如下:
[0126]
select count(*),strftime("%d",create_time)as day,name
[0127]
from df group by strftime("%d",create_time),name
[0128]
然后,数据处理层204可以使用该sql脚本构建包括用于图表展示的代码段的第二代码216,使用内核管理器的编号调用第一内核管理器2048a,第一内核管理器2048a执行第二代码216的用于图表展示的代码段,完成基于第一目标数据212生成图表以及持久化图表数据的操作。具体地,第一内核管理器2048a执行该用于图表展示的代码段时,主要执行以下操作:
[0129]
使用sql脚本生成新的数据集;
[0130]
使用新的数据集,组织基于pycharts.charts的图表数据;
[0131]
调用图表的渲染(render)方法,把图表生成本地静态html文件;
[0132]
返回该静态文件的可访问url地址。
[0133]
接着,数据处理层204把已生成的数据图表的可访问url地址响应给第一用户106a的浏览器,浏览器打开该地址即可预览图表。
[0134]
在一些实施例中,系统100还可以提供一种定时数据任务处理方法,来定时执行一些数据处理任务。该定时数据任务处理方法可以进一步包括:基于所述第一处理和/或所述第二处理生成定时执行任务;以及按照预设周期执行所述定时执行任务并生成任务执行日志。
[0135]
具体地,第一用户106a可以对于以上数据处理中的查询、增删列、下载、图表生成等一系列操作,产生多组数据处理单元(process1)。作为一个可选实施例,其中一组数据处理单元包括的数据处理操作均在同一个内核管理器中执行。
[0136]
接着,第一用户106a可以通过浏览器配置这多组数据处理单元的执行策略,包括处理单元执行顺序、执行周期、执行起止时间,产生一个数据处理任务。其中,数据处理任务可以由多组数据处理操作组成,数据处理操作可以修改执行顺序,在执行任务时,这些数据处理操作可以按顺序串行执行。
[0137]
数据处理层204的任务调度器2052可以根据不同的任务执行周期(按天、小时、分
钟等等),完成这多组数据处理任务执行;可选地,每个任务可以分别具有对应的执行周期。
[0138]
数据处理层204记录每组数据处理任务执行日志,通过统一访问接口提供给需求方应用层202调用。
[0139]
在一些实施例中,服务器200还可以接收第二用户106b的第二数据查询请求;根据所述第二数据查询请求,生成对数据进行第三处理的第三代码;创建所述第三代码的运行环境并执行所述第三代码以执行以下操作:确定所述第二数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;将所述至少一个数据进行所述第三处理以得到第三目标数据,从而可以为第二用户提供对异构数据源进行数据查询与融合的服务。
[0140]
在一些实施例中,创建所述第三代码的运行环境,包括:创建第二内核管理器,并在所述第二内核管理器中创建所述第三代码的运行环境。基于前面所述的内核管理器的独立性,不同用户的数据融合和处理的请求可以利用不同的内核管理器同时在系统100中并行执行,从而提高系统100的处理效率。
[0141]
在一些实施例中,服务器200还可以接收所述第二用户106b的第二数据处理请求;根据所述第二数据处理请求,生成对数据进行第四处理的第四代码;在所述第二内核管理器中执行所述第四代码以执行以下操作:对所述第三目标数据进行所述第四处理以得到第四目标数据;将所述第四目标数据返回给所述第二用户,从而可以为第二用户提供对异构数据源进行数据处理的服务。
[0142]
可以看出,当系统100对接多个用户时,通过为每个用户的查询请求创建相应的内核管理器,可以并行处理多个用户的多个数据处理任务,从而提高了系统100的处理效率。
[0143]
在一些实施例中,针对同一用户在同一终端中打开不同页面来实现不同查询请求时,也可以采用为第二用户处理请求的方式来处理,例如,为不同页面创建不同内核管理器来处理数据。
[0144]
作为一个可选实施例,当同一用户在同一页面中先后提交两个不同的数据查询请求时,在后的数据查询请求对应得到的融合数据可以覆盖在先的融合数据,并且,在后的数据查询请求若从同一数据库获取同一数据表名的数据表时,在后获取到的数据表可以覆盖内核管理器在先保存的相同数据表名的数据表,从而可以保留最新数据,保证内核管理器中存储数据的准确性。
[0145]
从上述实施例可以看出,本公开实施例提供的系统100,可以对多源异构数据库的数据进行融合,解决了异构数据库融合中的“信息孤岛”难题,克服现有数据库融合技术的时效性不足问题。
[0146]
本公开实施例提供的系统100,能够在不影响各数据库的情况下,提供对各异构数据库进行透明查询、实时预览、动态增删列、实时图表生成、创建定时任务以及输出到目标数据库功能,大大降低数据处理的技术成本和时间成本。
[0147]
在一些实施例中,除了可以在初始状态下创建内核管理器来查询数据和对数据进行处理外,还可以基于已经创建的内核管理器对已经查询得到的数据进行处理。
[0148]
图3h示出了根据本公开实施例的另一示例性界面300的示意图。
[0149]
如图3h所示,界面300展示了一些已经被第一用户106a所创建的查询任务。其中每个任务可以显示实时的状态(例如,未开始、成功、运行中)。每个任务相应提供“运行”、“查
看”和“删除”按钮,点击运行按钮,可以再次向服务器200发送与该任务相同的数据查询请求,从而可以将上一次查询得到的数据进行更新。数据查询步骤与前述类似,可以包括:
[0150]
根据所述第一数据查询请求,调用第一内核管理器并在所述第一内核管理器中执行第一代码以执行以下操作:
[0151]
确定所述第一数据查询请求对应的至少一个数据所在的数据库;
[0152]
从所述数据库中获取所述至少一个数据;
[0153]
将所述至少一个数据进行第一处理以得到第一目标数据。
[0154]
具体实现方式参考前述实施例,在此不再赘述。
[0155]
作为一个实施例,点击运行按钮后,可以将上一次运行该任务时也同时执行过的数据处理请求(例如,输出到库)也再次执行一次,从而可以将相应的数据处理请求的结果进行更新,方便用户的操作和使用。在一些实施例中,当点击相应任务的“运行”按钮之后,该任务运行结束之前,该“运行”按钮显示为灰色,从而提示用户该任务正在运行,并且,点击该“运行”按钮,并不会再次发出新的指令,直到运行结束。
[0156]
在一些实施例中,通过点击相应任务的“查看”按钮,可以跳转到该任务的详情页面,参考图3c。
[0157]
在任务详情页面中,可以对数据进一步处理,处理方法与前述实施例类似,可以包括:
[0158]
接收所述第一用户的第一数据处理请求;
[0159]
根据所述第一数据处理请求,在所述第一内核管理器中执行第二代码以执行以下操作:
[0160]
对所述第一目标数据进行第二处理以得到第二目标数据;
[0161]
将所述第二目标数据返回给所述第一用户。
[0162]
具体实现方式参考前述实施例,在此不再赘述。
[0163]
在一些实施例中,已经创建的内核管理器可以按照设定的生命周期进行销毁,从而保证服务器200的存储空间的资源利用率。作为一个可选实施方式,可以将超过预设时长(例如,一周)没有再次启用过的内核管理器进行销毁。或者,在另一些实施例中,可以按照预设生命周期(例如,1天、3天,等等)对内核管理器进行销毁。
[0164]
可以理解,当任务没有被删除而内核管理器已被销毁时,用户点击运行按钮或者在界面310中点击相应的数据处理按钮时,服务器200基于相应的请求可以重新创建内核管理器,该过程对用户无感知,同时又能满足用户需求。
[0165]
本公开实施例还提供了一种数据处理方法。图4示出了本公开实施例提供的示例性方法400的流程示意图。该方法400可以由图1的服务器200来实现,并可以进一步包括以下步骤。
[0166]
在步骤402,接收第一用户(例如,图1的第一用户106a)的第一数据查询请求(例如,图2b的请求208)。
[0167]
在步骤404,根据所述第一数据查询请求,生成对数据进行第一处理的第一代码(例如,图2b的代码210);
[0168]
在步骤406,创建所述第一代码的运行环境并执行所述第一代码以执行以下操作:
[0169]
确定所述第一数据查询请求对应的至少一个数据所在的数据库;
[0170]
从所述数据库中获取所述至少一个数据(或数据表);
[0171]
将所述至少一个数据进行所述第一处理以得到第一目标数据(例如,图2b的数据集212)。
[0172]
在一些实施例中,根据所述第一数据查询请求,生成对数据进行第一处理的第一代码,包括:
[0173]
解析所述第一数据查询请求以确定所述第一数据查询请求所需查询的至少一个数据所在的数据库及对应的数据表的信息;
[0174]
根据所述至少一个数据所在的数据库及对应的数据表的信息,生成包括至少一个第一代码段的所述第一代码(参考图2b所示)。
[0175]
在一些实施例中,创建所述第一代码的运行环境,包括:创建第一内核管理器(例如,图2b的内核管理器2048a),并在所述第一内核管理器中创建所述第一代码的运行环境,从而利用不同内核管理器来实现不同用户的数据处理操作,提供系统运行效率。
[0176]
在一些实施例中,方法400还包括:
[0177]
接收所述第一用户的第一数据处理请求(例如,图2c的请求214);
[0178]
根据所述第一数据处理请求,生成对数据进行第二处理的第二代码(例如,图2c的代码216);
[0179]
在所述第一内核管理器中执行所述第二代码以执行以下操作:
[0180]
对所述第一目标数据进行所述第二处理以得到第二目标数据(例如,图2c的数据218);
[0181]
将所述第二目标数据返回给所述第一用户。
[0182]
在一些实施例中,所述第一处理包括对所述至少一个数据进行融合处理,所述第二处理包括对所述第一目标数据进行预览、图表生成、增加列、删除列、下载、输出中的至少其一。
[0183]
在一些实施例中,所述第一数据处理请求包括所述至少一个数据的字段名称和字段类型,所述第二处理包括对所述第一目标数据进行融合并生成图表,所述第二代码包括用于图表展示的代码段;
[0184]
将所述至少一个数据进行所述第二处理以得到第二目标数据,包括:基于所述字段名称和字段类型,将所述至少一个数据生成为具有图表形式的所述第二目标数据。
[0185]
在一些实施例中,方法400还包括:基于所述第一处理和/或所述第二处理生成定时执行任务;按照预设周期执行所述定时执行任务并生成任务执行日志。
[0186]
在一些实施例中,方法400还包括:
[0187]
接收第二用户(例如,图1的用户106b)的第二数据查询请求;
[0188]
根据所述第二数据查询请求,生成对数据进行第三处理的第三代码;
[0189]
创建所述第三代码的运行环境并执行所述第三代码以执行以下操作:
[0190]
确定所述第二数据查询请求对应的至少一个数据所在的数据库;
[0191]
从所述数据库中获取所述至少一个数据;
[0192]
将所述至少一个数据进行所述第三处理以得到第三目标数据。
[0193]
在一些实施例中,创建所述第三代码的运行环境,包括:创建第二内核管理器,并在所述第二内核管理器中创建所述第三代码的运行环境。
[0194]
在一些实施例中,方法400还包括:
[0195]
接收所述第二用户的第二数据处理请求;
[0196]
根据所述第二数据处理请求,生成对数据进行第四处理的第四代码;
[0197]
在所述第二内核管理器中执行所述第四代码以执行以下操作:
[0198]
对所述第三目标数据进行所述第四处理以得到第四目标数据;
[0199]
将所述第四目标数据返回给所述第二用户。
[0200]
本公开实施例提供的方法400,能够在不影响各数据库的情况下,提供对各异构数据库进行透明查询、实时预览、动态增删列、实时图表生成、创建定时任务以及输出到目标数据库功能,大大降低数据处理的技术成本和时间成本。
[0201]
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0202]
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0203]
本公开实施例还提供了一种计算机设备,用于实现上述的方法400。图5示出了本公开实施例所提供的示例性计算机设备500的硬件结构示意图。计算机设备500可以用于实现图1的服务器200。在一些场景中,该计算机设备500,也可以用于实现图1的终端设备102a、102b和数据库服务器104a~104c。
[0204]
如图5所示,计算机设备500可以包括:处理器502、存储器504、网络模块506、外围接口508和总线510。其中,处理器502、存储器504、网络模块506和外围接口508通过总线510实现彼此之间在计算机设备500的内部的通信连接。
[0205]
处理器502可以是中央处理器(central processing unit,cpu)、图像处理器、神经网络处理器(npu)、微控制器(mcu)、可编程逻辑器件、数字信号处理器(dsp)、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路。处理器502可以用于执行与本公开描述的技术相关的功能。在一些实施例中,处理器502还可以包括集成为单一逻辑组件的多个处理器。例如,如图5所示,处理器502可以包括多个处理器502a、502b和502c。
[0206]
存储器504可以配置为存储数据(例如,指令、计算机代码等)。如图5所示,存储器504存储的数据可以包括程序指令(例如,用于实现本公开实施例的方法的程序指令)以及要处理的数据(例如,存储器可以存储其他模块的配置文件等)。处理器502也可以访问存储器504存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器504可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器504可以包括随机访问存储器(ram)、只读存储器(rom)、光盘、磁盘、硬盘、固态硬盘(ssd)、闪存、存储棒等。
[0207]
网络模块506可以配置为经由网络向计算机设备500提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网
络、本地无线网络(例如,蓝牙、wifi、近场通信(nfc)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。
[0208]
外围接口508可以配置为将计算机设备500与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。
[0209]
总线510可以被配置为在计算机设备500的各个组件(例如处理器502、存储器504、网络模块506和外围接口508)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(usb端口、pci-e总线)等。
[0210]
需要说明的是,尽管上述计算机设备500的架构仅示出了处理器502、存储器504、网络模块506、外围接口508和总线510,但是在具体实施过程中,该计算机设备500的架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述计算机设备500的架构中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0211]
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的方法400。
[0212]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0213]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0214]
基于同一发明构思,与上述任意实施例方法400相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序。在一些实施例中,所述计算机程序由一个或多个处理器可执行以使得所述处理器执行所述的方法400。对应于方法400各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
[0215]
上述实施例的计算机程序产品用于使处理器执行如上任一实施例所述的方法400,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0216]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0217]
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台
的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0218]
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0219]
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

技术特征:
1.一种数据处理方法,包括:接收第一用户的第一数据查询请求;根据所述第一数据查询请求,生成对数据进行第一处理的第一代码;创建所述第一代码的运行环境并执行所述第一代码以执行以下操作:确定所述第一数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;将所述至少一个数据进行所述第一处理以得到第一目标数据。2.如权利要求1所述的方法,其中,根据所述第一数据查询请求,生成对数据进行第一处理的第一代码,包括:解析所述第一数据查询请求以确定所述第一数据查询请求所需查询的至少一个数据所在的数据库及对应的数据表的信息;根据所述至少一个数据所在的数据库及对应的数据表的信息,生成包括至少一个第一代码段的所述第一代码。3.如权利要求1所述的方法,其中,创建所述第一代码的运行环境,包括:创建第一内核管理器,并在所述第一内核管理器中创建所述第一代码的运行环境。4.如权利要求3所述的方法,还包括:接收所述第一用户的第一数据处理请求;根据所述第一数据处理请求,生成对数据进行第二处理的第二代码;在所述第一内核管理器中执行所述第二代码以执行以下操作:对所述第一目标数据进行所述第二处理以得到第二目标数据;将所述第二目标数据返回给所述第一用户。5.如权利要求4所述的方法,其中,所述第一处理包括对所述至少一个数据进行融合处理,所述第二处理包括对所述第一目标数据进行预览、图表生成、增加列、删除列、下载、输出中的至少其一。6.如权利要求5所述的方法,其中,所述第一数据处理请求包括所述至少一个数据的字段名称和字段类型,所述第二处理包括对所述第一目标数据进行融合并生成图表,所述第二代码包括用于图表展示的代码段;将所述至少一个数据进行所述第二处理以得到第二目标数据,包括:基于所述字段名称和字段类型,将所述至少一个数据生成为具有图表形式的所述第二目标数据。7.如权利要求5所述的方法,还包括:基于所述第一处理和/或所述第二处理生成定时执行任务;按照预设周期执行所述定时执行任务并生成任务执行日志。8.如权利要求1-7任一项所述的方法,还包括:接收第二用户的第二数据查询请求;根据所述第二数据查询请求,生成对数据进行第三处理的第三代码;创建所述第三代码的运行环境并执行所述第三代码以执行以下操作:确定所述第二数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;
将所述至少一个数据进行所述第三处理以得到第三目标数据。9.如权利要求8所述的方法,其中,创建所述第三代码的运行环境,包括:创建第二内核管理器,并在所述第二内核管理器中创建所述第三代码的运行环境。10.如权利要求9所述的方法,还包括:接收所述第二用户的第二数据处理请求;根据所述第二数据处理请求,生成对数据进行第四处理的第四代码;在所述第二内核管理器中执行所述第四代码以执行以下操作:对所述第三目标数据进行所述第四处理以得到第四目标数据;将所述第四目标数据返回给所述第二用户。11.一种数据处理方法,包括:接收第一用户的第一数据查询请求;根据所述第一数据查询请求,调用第一内核管理器并在所述第一内核管理器中执行第一代码以执行以下操作:确定所述第一数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;将所述至少一个数据进行第一处理以得到第一目标数据。12.如权利要求11所述的方法,还包括:接收所述第一用户的第一数据处理请求;根据所述第一数据处理请求,在所述第一内核管理器中执行第二代码以执行以下操作:对所述第一目标数据进行第二处理以得到第二目标数据;将所述第二目标数据返回给所述第一用户。13.一种计算机设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求1-10任一项所述的方法或者权利要求11或12所述的方法的指令。14.一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行权利要求1-10任一项所述的方法或者权利要求11或12所述的方法。15.一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-10中任一项所述的方法或者权利要求11或12所述的方法。

技术总结
本公开提供一种数据处理方法及相关设备。该数据处理方法,包括:接收第一用户的第一数据查询请求;根据所述第一数据查询请求,生成对数据进行第一处理的第一代码;创建所述第一代码的运行环境并执行所述第一代码以执行以下操作:确定所述第一数据查询请求对应的至少一个数据所在的数据库;从所述数据库中获取所述至少一个数据;将所述至少一个数据进行所述第一处理以得到第一目标数据。第一处理以得到第一目标数据。第一处理以得到第一目标数据。


技术研发人员:张宁 关蕊 樊林
受保护的技术使用者:京东方科技集团股份有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-130.html

最新回复(0)