数据处理方法、装置、设备及计算机可读存储介质转让专利

申请号 : CN202311093598.9

文献号 : CN116821103B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐志超

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种数据处理方法、装置、设备、计算机程序产品及计算机可读存储介质;方法包括:响应于接收到的数据分析请求,获取训练好的预测模型和数据分析请求中携带的自然语言信息;获取数据库中各个数据表的维度和指标;利用训练好的预测模型以及各个数据表的维度和指标,对自然语言信息进行预测处理,得到查询配置信息和图表配置信息;对查询配置信息进行转换处理,得到查询语句,并基于查询语句从数据库中确定查询结果;将查询结果和图表配置信息发送至数据分析请求对应的终端,以使得终端基于所述查询结果和图表配置信息生成可视化图表。通过本申请,能够降低数据可视化的技术门槛,提高数据可视化效率。

权利要求 :

1.一种数据处理方法,其特征在于,所述方法包括:

响应于接收到的数据分析请求,获取训练好的预测模型和所述数据分析请求中携带的自然语言信息,所述预测模型为大语言模型;

获取数据库中各个数据表的维度和指标;

获取数据查询任务对应的第一任务提示词;

当利用所述训练好的预测模型基于所述第一任务提示词进行预测处理,确定所述自然语言信息为请求进行数据查询时,获取当前解析任务对应的第二任务提示词,所述第二任务提示词包括时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词,所述时间解析任务提示词中包括查询时间配置信息的输出格式,所述维度解析任务提示词中至少包括维度输出格式,所述指标解析任务提示词至少包括数据表中包括的各个指标和指标输出格式,所述排序解析任务提示词至少包括排序输出格式;

利用所述训练好的预测模型依次基于所述时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词与所述各个数据表的维度和指标,分别对所述自然语言信息进行预测处理,依次得到所述当前解析任务对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息和结构化的排序配置信息;

获取图表可视化任务对应的第三任务提示词,所述第三任务提示词至少包括坐标轴解析提示词和图例解析提示词;

利用所述训练好的预测模型基于所述第三任务提示词,对所述自然语言信息进行预测处理,得到图表配置信息;

对所述查询时间配置信息、查询维度配置信息、查询指标配置信息和排序配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果;

将所述查询结果和所述图表配置信息发送至所述数据分析请求对应的终端,以使得所述终端基于所述查询结果和所述图表配置信息生成可视化图表。

2.根据权利要求1中所述的方法,其特征在于,所述方法还包括:

获取数据库中的待处理数据表,获取所述待处理数据表中的各个字段的字段类型和字段值;

基于所述待处理数据表中各个字段的字段类型和字段值,对所述待处理数据表进行预处理,得到所述待处理数据表的维度和指标。

3.根据权利要求2中所述的方法,其特征在于,所述基于所述待处理数据表中各个字段的字段类型和字段值,对所述待处理数据表进行预处理,得到所述待处理数据表的维度和指标,包括:当第一字段的字段类型为时间类型时,将所述第一字段确定为时间维度;

当所述第一字段的字段类型为字符串类型时,将所述第一字段确定为特征维度;

当所述第一字段的字段类型为数值类型,并且所述第一字段的字段值可枚举时,将所述第一字段确定为特征维度;

当所述第一字段的字段类型为数值类型,并且所述第一字段的字段值为连续值时,将所述第一字段确定为指标,基于所述第一字段生成第一统计指标;

当所述第一字段的字段值为用户标识时,基于所述第一字段生成第二统计指标。

4.根据权利要求2中所述的方法,其特征在于,所述基于所述待处理数据表中各个字段的字段类型和字段值,对所述待处理数据表进行预处理,得到所述待处理数据表的维度和指标,包括:响应于接收到的信息设置操作指令,呈现信息设置界面;

当通过所述信息设置界面接收到维度设置指令,呈现维度设置界面;

通过所述维度设置界面,获取所述待处理数据表中确定为维度的第一字段、所述第一字段的显示标识和查询表达式;

当接收到指标设置指令,呈现指标设置界面;

通过所述指标设置界面,获取设置的指标标识和所述指标标识对应的查询表达式,所述查询表达式中包括所述待处理数据表中的第二字段。

5.根据权利要求1中所述的方法,其特征在于,所述利用所述训练好的预测模型依次基于所述时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词与所述各个数据表的维度和指标,分别对所述自然语言信息进行预测处理,依次得到所述当前解析任务对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息和结构化的排序配置信息,包括:当所述第二任务提示词为时间解析任务提示词时,利用所述训练好的预测模型基于所述时间解析任务提示词,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括时间信息;

当所述自然语言信息中包括时间信息时,从所述时间信息中确定第一起始时间和第一结束时间;

将所述第一起始时间和所述第一结束时间填充至所述时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息;

当所述自然语言信息中不包括时间信息时,基于当前时间和预设时长确定第二起始时间和第二结束时间;

将所述第二起始时间和所述第二结束时间填充至所述时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息。

6.根据权利要求1中所述的方法,其特征在于,所述利用所述训练好的预测模型依次基于所述时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词与所述各个数据表的维度和指标,分别对所述自然语言信息进行预测处理,依次得到所述当前解析任务对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息和结构化的排序配置信息,包括:当所述第二任务提示词为指标解析任务提示词时,利用所述训练好的预测模型基于所述指标解析任务提示词与所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括数据表中的指标;

当所述自然语言信息中包括数据表中的指标时,将所述自然语言信息中包括的指标,按照所述指标解析任务提示词中包括的指标输出格式,生成查询指标配置信息。

7.根据权利要求6中所述的方法,其特征在于,所述利用所述训练好的预测模型基于所述第二任务提示词以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到所述当前解析任务对应的查询配置信息,包括:当所述第二任务提示词为维度解析任务提示词时,利用所述训练好的预测模型基于所述维度解析任务提示词以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,确定所述自然语言信息中包括的维度;

将所述自然语言信息中包括的维度,按照所述维度解析任务提示词中包括的维度输出格式,生成查询维度配置信息。

8.根据权利要求1中所述的方法,其特征在于,所述利用所述训练好的预测模型依次基于所述时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词与所述各个数据表的维度和指标,分别对所述自然语言信息进行预测处理,依次得到所述当前解析任务对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息和结构化的排序配置信息,包括:当所述第二任务提示词为排序解析任务提示词时,利用所述训练好的预测模型基于所述排序解析任务提示词,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括排序信息;

当所述自然语言信息中包括排序信息时,将所述排序信息填充至所述排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息;

当所述自然语言信息中不包括排序信息时,获取默认排序信息;

将所述默认排序信息填充至所述排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息。

9.根据权利要求1至8任一项所述的方法,其特征在于,所述对所述查询配置信息进行转换处理,得到查询语句,包括:获取查询配置与查询语句之间的映射关系;

基于所述映射关系,生成查询配置信息对应的查询语句。

10.一种数据处理装置,其特征在于,所述装置包括:

第一获取模块,用于响应于接收到的数据分析请求,获取训练好的预测模型和所述数据分析请求中携带的自然语言信息,所述预测模型为大语言模型;

第二获取模块,用于获取数据库中各个数据表的维度和指标;

第一预测模块,用于获取数据查询任务对应的第一任务提示词;当利用所述训练好的预测模型基于所述第一任务提示词进行预测处理,确定所述自然语言信息为请求进行数据查询时,获取当前解析任务对应的第二任务提示词,所述第二任务提示词包括时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词,所述时间解析任务提示词中包括查询时间配置信息的输出格式,所述维度解析任务提示词中至少包括维度输出格式,所述指标解析任务提示词至少包括数据表中包括的各个指标和指标输出格式,所述排序解析任务提示词至少包括排序输出格式;利用所述训练好的预测模型依次基于所述时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词与所述各个数据表的维度和指标,分别对所述自然语言信息进行预测处理,依次得到所述当前解析任务对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息和结构化的排序配置信息;获取图表可视化任务对应的第三任务提示词,所述第三任务提示词至少包括坐标轴解析提示词和图例解析提示词;利用所述训练好的预测模型基于所述第三任务提示词,对所述自然语言信息进行预测处理,得到图表配置信息;所述图表配置信息包括坐标轴配置信息、图例配置信息中的至少一种;

信息转换模块,用于对所述查询时间配置信息、查询维度配置信息、查询指标配置信息和排序配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果;

发送模块,用于将所述查询结果和所述图表配置信息发送至所述数据分析请求对应的终端,以使得所述终端基于所述查询结果和所述图表配置信息生成可视化图表。

11.一种计算机设备,其特征在于,所述计算机设备包括:

存储器,用于存储计算机可执行指令;

处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至9任一项所述的方法。

12.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至9任一项所述的方法。

13.一种计算机程序产品,包括计算机可执行指令或计算机程序,其特征在于,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至9任一项所述的方法。

说明书 :

数据处理方法、装置、设备及计算机可读存储介质

技术领域

[0001] 本申请涉及数据处理技术,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 目前在需要对数据库中的数据进行分析,生成图表时,一般首先需要编写专业的数据库查询语句进行数据查询,然后再利用专业的可视化工具将查询得到的数据生成图表,技术门槛较高,要求用户熟悉数据库查询语法和数据库中的表的数据结构,同时数据库查询语句的调试无法复用,因此效率较低。

发明内容

[0003] 本申请实施例提供一种数据处理方法、装置及计算机可读存储介质,能够降低数据可视化的技术门槛,提高数据可视化效率。
[0004] 本申请实施例的技术方案是这样实现的:
[0005] 本申请实施例提供一种数据处理方法,所述方法包括:
[0006] 响应于接收到的数据分析请求,获取训练好的预测模型和所述数据分析请求中携带的自然语言信息;
[0007] 获取数据库中各个数据表的维度和指标;
[0008] 利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息;
[0009] 对所述查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果;
[0010] 将所述查询结果和所述图表配置信息发送至所述数据分析请求对应的终端,以使得所述终端基于所述查询结果和所述图表配置信息生成可视化图表。
[0011] 本申请实施例提供一种数据处理装置,所述装置包括:
[0012] 第一获取模块,用于响应于接收到的数据分析请求,获取训练好的预测模型和所述数据分析请求中携带的自然语言信息;
[0013] 第二获取模块,用于获取数据库中各个数据表的维度和指标;
[0014] 第一预测模块,用于利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息;
[0015] 信息转换模块,用于对所述查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果;
[0016] 发送模块,用于将所述查询结果和所述图表配置信息发送至所述数据分析请求对应的终端,以使得所述终端基于所述查询结果和所述图表配置信息生成可视化图表。
[0017] 本申请实施例提供一种计算机设备,包括:
[0018] 存储器,用于存储计算机可执行指令;
[0019] 处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的方法。
[0020] 本申请实施例提供一种计算机可读存储介质,存储有计算机程序或计算机可执行指令,用于被处理器执行时实现本申请实施例提供的数据处理方法。
[0021] 本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的数据处理方法。
[0022] 本申请实施例具有以下有益效果:
[0023] 在基于数据生成可视化图表时,终端向服务器发送数据分析请求,该数据分析请求中携带有自然语言信息,服务器响应于接收到的数据分析请求,获取训练好的预测模型和数据分析请求中携带的自然语言信息,并获取数据库中各个数据表的维度和指标,之后利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息,然后再对查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果,最后将查询结果和图表配置信息发送至所述数据分析请求对应的终端,从而使得终端基于所述查询结果和图表配置信息生成可视化图表,也就是说,在需要生成可视化图表时,利用自然语言信息可以自动生成数据库查询语句,实现数据查询,并利用从自然语言信息解析出的图表配置信息和查询结果自动生成可视化图表,能够降低数据可视化的技术门槛,从而能够提高数据可视化效率以及数据分析效率。

附图说明

[0024] 图1是相关技术中的数据可视化实现流程示意图
[0025] 图2是本申请实施例提供的数据分析系统100的网络架构示意图;
[0026] 图3是本申请实施例提供的服务器400的结构示意图;
[0027] 图4A是本申请实施例提供的数据处理方法的一种实现流程示意图;
[0028] 图4B是本申请实施例提供的利用预测模型确定查询配置信息和图表配置信息的实现流程示意图;
[0029] 图4C是本申请实施例提供的基于不同的解析任务提示词,生成对应的查询配置信息的实现流程示意图;
[0030] 图5是本申请实施例提供的对待处理数据表进行预处理的一种实现流程示意图;
[0031] 图6是本申请实施例提供的通过自动方式对待处理数据表进行预处理的实现流程示意图;
[0032] 图7是本申请实施例提供的通过人工方式对待处理数据表进行预处理的实现流程示意图;
[0033] 图8是利用本申请实施例提供的数据处理方法进行数据可视化的一种界面示意图;
[0034] 图9是本申请实施例提供的数据处理方法的另一种实现流程示意图;
[0035] 图10A是本申请实施例提供的自动生成指标维度的实现流程示意图;
[0036] 图10B是本申请实施例提供的人工定义指标维度的实现流程示意图;
[0037] 图11A是本申请实施例提供的指标设置界面示意图;
[0038] 图11B是本申请实施例提供的维度设置界面示意图;
[0039] 图12A是本申请实施例提供的解析数据查询配置,并基于数据查询配置生成查询语句的实现流程示意图;
[0040] 图12B是本申请实施例提供的解析图标配置示意图;
[0041] 图13是本申请实施例提供的数据处理方法的实现架构示意图;
[0042] 图14是本申请实施例提供的结构转换模块的功能示意图;
[0043] 图15是本申请实施例提供的抽象名称与SQL语句的对应关系图。

具体实施方式

[0044] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0045] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解, “一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0046] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0047] 除非另有定义,本申请实施例所使用的所有的技术和科学术语与所属技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0048] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0049] 1)图表,是一种数据可视化方式,用于呈现和解释数据。它可以帮助人们更好地理解数据的趋势、关系和模式。常见的数据分析图表如条形图、折线图、散点图、饼图、直方图、表格等。
[0050] 2)大语言模型(Large Language Model,LLM),是指使用深度学习技术训练的一类能够自动产生自然语言文本的计算机程序。它们可以接收输入的自然语言文本,并通过学习大量的语言数据,自动生成新的自然语言文本回复。
[0051] 3)Echarts,一个用于数据可视化的js库,可以生成柱状图、折线图等[0052] 4)结构化查询语言(Structured Query Language,SQL),是一种通用的标准程序语言,可以用于执行各种数据库操作,如创建表、插入、更新和删除数据以及查询数据等。
[0053] 5)维度,SQL查询中用作聚合的字段,如城市、应用名称、性别等,通常放在GROUP BY部分。
[0054] 6)时间维度,SQL查询通常需要指定时间范围,以减少查询量,并且该时间字段通常用作聚合的维度.该时间字段定义为时间维度。
[0055] 7)指标,SQL查询中用作评估、计算的字段,通常会通过一些函数(如sum、avg、count等)进行聚合计算,如count (1) as pv、count (distinct user_name) as uv。
[0056] 8)提示词(prompt),是指输入到语言模型中的文本序列,语言模型会根据这个文本序列来生成接下来的预测文本,也可以将其理解为用户在与语言模型进行交互时所提供的问题或对话内容。
[0057] 为了更好地理解本申请实施例提供的用于进行数据可视化的数据处理方法,首先对相关技术中用于进行数据可视化的数据处理方法及存在的缺点进行说明。
[0058] 图1是相关技术中的数据可视化实现流程示意图,如图1所示,该流程包括:
[0059] 在步骤001中,获取编写的SQL语句。
[0060] 在步骤002中,查询数据。
[0061] 该步骤在实现时,基于编写的SQL语句从数据库中查询出生成可视化图表的数据。
[0062] 在步骤003中,获取从数据库返回的数据。
[0063] 在步骤004中,配置Echarts。
[0064] 在步骤005中,生成图表。
[0065] 其中,可以是利用Echarts和步骤003获取到的数据生成可视化图表。
[0066] 在通过相关技术中进行数据可视化处理时,首先需要编写SQL语句,要求用户熟悉SQL语法和数据库中的表的数据结构,对用户的技术水平要求较高,同时SQL语句的调试无法复用,效率较低。
[0067] 在本申请实施例中,通过引入大语言模型的语言解析技术,实现了直接通过自然语言进行数据查询和生成图表的配置,用户即使完全不懂SQL语法也可以自助完成数据分析的工作,极大的降低了数据可视化的技术门槛,提高了数据可视化效率。
[0068] 本申请实施例提供一种数据处理方法、装置、设备、计算机可读存储介质和计算机程序产品,能够解决相关技术中进行数据可视化的技术门槛要求高,且效率低下的问题,下面说明本申请实施例提供的计算机设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑、平板电脑,台式计算机、机顶盒、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能手机、智能音箱、智能手表、智能电视、车载终端等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端时示例性应用。
[0069] 参见图2,图2是本申请实施例提供的数据分析系统100的网络架构示意图,如图2所示,该网络架构包括:终端200、网络300、服务器400和数据库500,其中,终端200通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
[0070] 终端200接收启动数据分析功能的操作指令,呈现数据分析界面,通过该数据分析界面获取自然语言信息,该自然语言信息中包括进行数据分析的需求信息,终端200响应于接收到的数据分析指令,向服务器400发送数据分析请求,该数据分析请求中携带有自然语言信息,服务器400在接收到数据分析请求后,获取训练好的大语言模型和数据分析请求中携带的自然语言信息,并获取数据库500中各个数据表的维度和指标,之后利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息,然后再对查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果,最后将查询结果和图表配置信息发送至所述数据分析请求对应的终端200,从而使得终端基于所述查询结果和图表配置信息生成可视化图表,也就是说,在需要生成可视化图表时,利用自然语言信息可以自动生成数据库查询语句,实现数据查询,并利用从自然语言信息解析出的图表配置信息和查询结果自动生成可视化图表,能够降低数据可视化的技术门槛,从而能够提高数据可视化效率以及数据分析效率。
[0071] 在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
[0072] 参见图3,图3是本申请实施例提供的服务器400的结构示意图,图3所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器
400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
[0073] 处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0074] 用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
[0075] 存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器 410的一个或多个存储设备。
[0076] 存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
[0077] 在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0078] 操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0079] 网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
[0080] 呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0081] 输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0082] 在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的数据处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第二获取模块4552、第一预测模块4553、信息转换模块4554和发送模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0083] 在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(ProgrammableLogic Device,PLD)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或其他电子元件。
[0084] 将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的数据处理方法。
[0085] 下面,说明本申请实施例提供的数据处理方法,如前所述,实现本申请实施例的数据处理方法的电子设备可以是终端、服务器,又或者是二者的结合。因此下文中不再重复说明各个步骤的执行主体。
[0086] 参见图4A,图4A是本申请实施例提供的数据处理方法的流程示意图,将结合图4A示出的步骤进行说明,图4步骤的主体是服务器。
[0087] 在步骤101中,响应于接收到的数据分析请求,获取训练好的预测模型和数据分析请求中携带的自然语言信息。
[0088] 在一些实施例中,数据分析请求可以是终端响应于接收到的数据分析操作指令发送的,数据分析请求中携带有数据分析需求的自然语言信息。示例性地,自然语言信息可以是“查询一下XX应用在最近一周内的页面浏览量,用折线图输出”。服务器在接收到数据分析请求后,解析该数据分析请求,获取数据分析请求中携带的自然语言信息,并响应于数据分析请求,获取训练好的预测模型,该预测模型可以是神经网络模型,示例性地,预测模型可以是大语言模型。大语言模型是使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等。
[0089] 在步骤102中,获取数据库中各个数据表的维度和指标。
[0090] 在一些实施例中,数据库中多个数据库分区,每个分区包括多个表格(也即数据表),每个数据表由多个字段组成。表格是存储数据的最小单位,字段则是表格中的数据单元。数据库可以采用分片技术进行水平扩展,以保证数据的高可用性、高扩展性和高性能。
[0091] 在一些实施例中,可以预先对数据库中各个待处理数据表进行预处理,确定出各个数据表中属于维度或者指标的各个字段,在步骤102中,获取预处理后得到的各个数据表的维度和指标。其中,维度一般指事物现象的某种特征。指标一般指可以量化的数据,是进行统计后的结果。指标用于衡量事物发展程度,维度用于对指标多方面的进行对比,找趋势等等。示例性地,在“各产品的销售额”中,销售额即为指标,“产品”即为维度;在“各区域利润排名前三的产品”中,“区域”和“产品”即为维度,利润即为指标。在“XX应用深圳地区的页面浏览量”中,“XX应用”、“深圳”为维度,页面浏览量为指标。
[0092] 在步骤103中,利用训练好的预测模型以及各个数据表的维度和指标,对自然语言信息进行预测处理,得到查询配置信息和图表配置信息。
[0093] 在一些实施例中,参见图4B,上述步骤103可以通过下述步骤1031至步骤1035实现,下面具体说明。
[0094] 在步骤1031中,获取数据查询任务对应的第一任务提示词。
[0095] 在一些实施例中,在利用预测模型确定自然语言信息是否请求进行数据查询时,首先获取通过终端输入的数据查询任务对应的第一任务提示词,示例性地,第一任务提示词可以为:你是一个语言解析器。根据示例,帮我分析之后的对话内容,判断用户是否要查询数据,如果是则回复“YES”,否则回复“NO”。
[0096] 为了使得预测模型的预测结果更加准确,可以在第一任务提示词中为预测模型提供以下示例:
[0097] 示例1:“查下最近3天的数据”, 回复“YES”。
[0098] 示例2: “什么是程序”,回复:“NO”。
[0099] 基于此,第一任务提示词的完整示例可以为:
[0100] “你是一个语言解析器。根据示例,帮我分析之后的对话内容,判断用户是否要查询数据,如果是则回复“YES”,否则回复“NO”。
[0101] 示例1:“查下最近3天的数据”, 回复“YES”。
[0102] 示例2: “什么是程序”,回复:“NO”。
[0103] 接下来分隔符‑‑‑中的内容对话上下文:
[0104] ‑‑‑”。
[0105] 在步骤1032中,当利用训练好的预测模型基于所述第一任务提示词进行预测处理,确定自然语言信息为请求进行数据查询时,获取当前解析任务对应的第二任务提示词。
[0106] 在一些实施例中,第二任务提示词包括时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词。需要说明的是,由于在数据查询中,需要确定查询维度、查询时间、查询指标、排序信息等多维信息,而现阶段作为预测模型的大语言模型无法理解深度逻辑的缺陷,通过单条任务解析对话,解析的结果很难满足如此多的参数解析,因此在本申请实施例中,通过多个解析任务提示词,逐步解析对话的方式,来得到每个解析任务对应的结果。也就是说,在本申请实施例中,依次获取时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词,并基于各个解析任务提示词,利用训练好的预测模型对自然语言信息进行预测处理,从而得到自然语言信息中的查询维度、指标、时间维度以及排序信息等查询配置信息。
[0107] 在步骤1033中,利用训练好的预测模型基于第二任务提示词与各个数据表的维度和指标,对自然语言信息进行预测处理,得到当前解析任务对应的查询配置信息。
[0108] 在一些实施例中,参见图4C,图4C示出了当第二任务提示词分别为时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词时,步骤1033的实现过程,下面具体说明。
[0109] 当所述第二任务提示词为时间解析任务提示词时,步骤1033可以通过下述步骤331A至步骤335A实现:
[0110] 在步骤331A中,利用所述训练好的预测模型基于时间解析任务提示词,对自然语言信息进行预测处理,确定自然语言信息中是否包括时间信息。
[0111] 由于在本申请实施例中,是通过多个解析任务提示词,逐步解析对话的,当第二任务提示词为时间解析任务提示词时,训练好的预测模型(也即大语言模型)根据时间解析任务提示词,对自然语言信息中包括的各个语句进行解析,确定自然语言信息中是否包括时间信息。当自然语言信息中包括时间信息时,进入步骤332A,当自然语言信息中不包括时间信息时,进入步骤334A。
[0112] 在步骤332A中,从时间信息中确定第一起始时间和第一结束时间。
[0113] 在一些实施例中,从自然语言信息中解析出的时间信息可能并不包括明确的起始时间和结束时间,例如时间信息可以是“最近三天”,那么需要根据当前时间确定出“最近三天”对应的第一起始时间和第一结束时间。示例性地,当前时间为2023年5月3日,那么时间信息“最近三天”对应的第一起始时间为2023年5月1日,第一结束时间为2023年5月3日。
[0114] 在步骤333A中,将第一起始时间和所述第一结束时间填充至时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息。
[0115] 在一些实施例中,在时间解析任务提示词中规定了时间配置信息的数据结构格式,示例性地,时间解析任务提示词可以为:
[0116] “现在的时间对应的时间戳是${moment().format('x')}。
[0117] 分隔符 ‑‑‑ 中的部分是一个对话内容。你的任务是根据对话内容帮我分析用户想要查询的时间范围。
[0118] 如果对话中不包含时间范围,那么默认是最近一周。
[0119] 把解析到的时间范围以13位时间戳的形式填充到JSON格式的"{"startTime": "$startTime", "endTime": "$endTime"}"数据中。并回复我填充后的JSON数据。
[0120] 你只可以回复填充后的 JSON 格式的数据, 不可以回复计算过程或其他内容。”[0121] 通过上述时间解析任务提示词的示例可以看出,规定了需要将解析到的时间范围以13位时间戳的形式填充到JSON格式的"{"startTime": "$startTime", "endTime": "$endTime"}"数据中,如此能够得到结构化的查询时间配置信息。
[0122] 在步骤334A中,基于当前时间和预设时长确定第二起始时间和第二结束时间。
[0123] 在一些实施例中,由于数据库中存储有海量时间的数据,当所述自然语言信息中不包括时间信息时,会基于当前时间和预设时长确定第二起始时间和第二结束时间。其中,预设时长可以是在时间解析任务提示词中获取的。例如,在上述时间解析任务提示词中,预设时长为一周,也即为7天。
[0124] 示例性地,当自然语言信息中不包括时间信息时,预设时长为7天,当前时间为2023年5月3日,那么第二起始时间为2023年4月27日,第二结束时间为2023年5月3日。
[0125] 在步骤335A中,将第二起始时间和第二结束时间填充至时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息。
[0126] 在一些实施例中,与步骤333类似,基于时间解析任务提示词中规定的数据结构形式,将第二起始时间和所述第二结束时间填充至所述时间解析任务提示词中设置的时间配置信息中,得到结构化的查询时间配置信息。
[0127] 在一些实施例中,当所述第二任务提示词为指标解析任务提示词时,步骤1033可以通过下述步骤331B至步骤333B实现:
[0128] 在步骤331B中,利用所述训练好的预测模型基于所述指标解析任务提示词与所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,确定自然语言信息中是否包括数据表中的指标。
[0129] 在一些实施例中,在指标解析任务提示词中提示了数据中包括的各个指标,从而引导预测模型基于指标解析任务提示词确定所述自然语言信息中是否包括数据表中的指标,其中,当自然语言信息中包括数据表中的指标时,进入步骤332B;当自然语言信息中不包括数据表中的指标时,进入步骤333B。
[0130] 在步骤332B中,将自然语言信息中包括的指标,按照指标解析任务提示词的指标输出格式,生成查询指标配置信息。
[0131] 在一些实施例中,在指标解析任务提示词中设置了指标输出格式,示例性地,指标解析任务提示词可以为:
[0132] “你是一个语言解析器,支持的指标有 ${数据中包含的指标列表}。
[0133] 根据支持的指标和示例,请分析‑‑‑分割符中的的对话内容,把解析到的指标,以数组 ["$indexKey1", "$indexKey2"...]的形式回复。
[0134] 你只可以回复数组,不可以回复其他内容,如果未解析到指标,则回复 [][0135] 分隔符‑‑‑中的是对话内容:
[0136] ‑‑‑”。
[0137] 通过上述指标解析任务提示词的示例可以看出,在指标解析任务提示词中规定了指标输出格式,也即“以数组 ["$indexKey1", "$indexKey2"...]的形式回复”,因此将所述自然语言信息中包括的指标,按照该指标输出格式,生成结构化的查询指标配置信息。
[0138] 在步骤333B中,确定查询指标配置信息为空。
[0139] 在一些实施例中,当确定自然语言信息中不包括数据表中的已有指标时,根据指标解析任务提示词中规定的“如果未解析到指标,则回复 []”,确定查询指标配置信息为空。
[0140] 当所述第二任务提示词为维度解析任务提示词时,步骤1033可以通过下述步骤331C至步骤332C实现:
[0141] 在步骤331C中,利用训练好的预测模型基于维度解析任务提示词与所述各个数据表的维度和指标,对自然语言信息进行预测处理,确定自然语言信息中包括的维度。
[0142] 在一些实施例中,当数据表中的维度的个数小于预设个数阈值时,可以在维度解析任务提示词中示出数据表中的各个维度,然后利用训练好的预测模型基于所述维度解析任务提示词,对自然语言信息进行预测处理,确定自然语言信息中包括的维度。此时维度解析任务提示词可以如以下示例:
[0143] “你是一个语言解析器,支持的维度有 ${数据中包含的维度列表}。
[0144] 根据支持的维度和示例,请分析‑‑‑分割符中的的对话内容,把解析到的指标,以维度:["$dim1", "$dim2",...];的形式回复。
[0145] 你只可以回复数组,不可以回复其他内容,如果未解析到指标,则回复 [][0146] 分隔符‑‑‑中的是对话内容:
[0147] ‑‑‑”。
[0148] 当数据表中的维度个数大于或者等于预设个数阈值时,那么维度字段的枚举值可能会非常多,如果将所有的维度均传输给预测模型会带来很大的干扰,此时可以按照如下示例,在维度解析任务提示词中提供格式化示例的方式由预测模型解析出维度:
[0149] “你是一个语言解析器,根据示例,分析之后的对话内容,把解析得到的维度按格式:维度:["$dim1", "$dim2", ...];的形式回复。
[0150] 示例如下:
[0151] 示例 1:对话内容 "查询下应用A最近一周的的 pv和uv". 则回复: 维度: ["应用A"];
[0152] 示例 2: 对话内容 "查下用iphone 访问应用A的 pv, uv".则回复:维度:["iphone", "应用A"];
[0153] 示例 3: 对话内容 "查下应用B的 pv, js报错数.则回复: 维度: ["应用B"];
[0154] 分隔符 ‑‑‑ 中的是对话内容. 只可以回复解析后的结果。
[0155] ‑‑‑”。
[0156] 在步骤332C中,将自然语言信息中包括的维度按照维度解析任务提示词的维度输出格式,生成查询维度配置信息。
[0157] 在一些实施例中,在维度解析任务提示词中设置了维度输出格式,例如在以上两个维度解析任务提示词中维度输出格式为“维度:["$dim1", "$dim2",  ...]”,如此可以得到结构化的查询维度配置信息。
[0158] 在一些实施例中,当所述第二任务提示词为排序解析任务提示词时,步骤1033可以通过下述步骤331D至步骤334D实现:
[0159] 在步骤331D中,利用所述训练好的预测模型基于所述排序解析任务提示词,对所述自然语言信息进行预测处理,确定自然语言信息中是否包括排序信息。
[0160] 其中,排序信息包括待排序字段以及采用的顺序,采用的顺序可以为从小到大,还可以是从大到小,可以是从先到后,还可以是从后到先。当自然语言信息中包括排序信息时,进入步骤332D,当自然语言信息中不包括排序信息时,进入步骤333D。
[0161] 在步骤332D中,将排序信息填充至排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息。
[0162] 在一些实施例中,排序解析任务提示词可以如下:
[0163] “你是一个指标解析器,分析对话内容,把用户想用来排序的指标和顺序以 "[{"SORTKEY": "${SORTKEY}", "ORDER": "$ORDER"}]" 格式进行回复。其中如果是正序则 ORDER=ASC,逆序则 ORDER=DESC。
[0164] 如果对话中不包含排序信息,那么默认是正序。
[0165] 只可以回复填充后的 JSON 格式的数据, 不可以回复计算过程或其他内容。
[0166] 分隔符 ‑‑‑ 中的是对话内容:
[0167] ‑‑‑”。
[0168] 通过上述排序解析任务提示词的示例可以看出,规定了需要将解析到的指标和排序以排序信息以"[{"SORTKEY": "${SORTKEY}", "ORDER": "$ORDER"}]" 格式进行回复,那么将步骤332D中确定出的指标和排序信息填充到设置的排序配置信息中,得到查询排序配置信息。
[0169] 在步骤333D中,获取默认排序信息。
[0170] 在一些实施例中,当所述自然语言信息中不包括排序信息时,可以从排序解析任务提示词中获取默认排序信息,例如可以将查询维度配置信息中的第一个维度确定为待排序维度,将升序确定为默认顺序。如果排序解析任务提示词中不包括默认排序信息,则可以确定排序信息为空,也即不对维度进行排序。
[0171] 在步骤334D中,将所述默认排序信息填充至所述排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息。
[0172] 在一些实施例中,与步骤332D类似,可以将默认排序信息填充至排序解析任务提示词中的排序配置信息,得到结构化的查询排序配置信息。
[0173] 下面参考图4B,接续步骤1033继续进行说明。
[0174] 在步骤1034中,获取图表可视化任务对应的第三任务提示词。
[0175] 其中,第三任务提示词至少包括坐标轴解析提示词和图例解析提示词。
[0176] 在步骤1035中,利用训练好的预测模型基于第三任务提示词,对自然语言信息进行预测处理,得到图表配置信息。
[0177] 在一些实施例中,与步骤1033的实现方式类似,训练好的预测模型基于坐标轴解析提示词,对自然语言信息进行预测处理,得到坐标轴配置信息,其中坐标轴配置信息可以包括x坐标轴表征的维度信息、x坐标轴所能表征的最大值和最小值、y坐标轴表示的指标信息,y坐标轴所能表征的最大值和最小值。同样地,训练好的预测模型基于图例解析提示词,对自然语言信息进行预测处理,得到图例配置信息,其中图例配置信息可以包括生成图表的位置信息、颜色信息等。
[0178] 下面参考图4A,接续步骤103继续进行说明。
[0179] 在步骤104中,对查询配置信息进行转换处理,得到查询语句,并基于查询语句从数据库中确定查询结果。
[0180] 在一些实施例中,通过上述步骤103,能够利用训练好的预测模型基于时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词依次对自然语言信息进行预测处理,得到对应的结构化的查询时间配置信息、结构化的查询维度配置信息、结构化的查询指标配置信息以及结构化的排序配置信息,之后,再利用结构转换模块,将查询配置信息转换为查询语句。
[0181] 步骤104中的“对所述查询配置信息进行转换处理,得到查询语句”在实现时,可以首先获取查询配置与查询语句之间的映射关系,然后基于所述映射关系,生成查询配置信息对应的查询语句。
[0182] 示例性地,从自然语言信息中解析出的查询维度配置信息可以对应GROUP BY语句,查询指标配置信息对应SELECT语句,排序配置信息对应ORDER BY语句。
[0183] 在步骤105中,将查询结果和图表配置信息发送至数据分析请求对应的终端,以使得终端基于查询结果和图表配置信息生成可视化图表。
[0184] 在一些实施例中,服务器将查询结果和图表配置信息发送至数据分析请求对应的终端,终端可以调用图表可视化库基于查询结果和图表配置信息生成可视化图表,并在终端的显示界面上进行渲染显示。
[0185] 在本申请实施例提供的数据处理方法中,在基于数据生成可视化图表时,终端向服务器发送数据分析请求,该数据分析请求中携带有自然语言信息,服务器响应于接收到的数据分析请求,获取训练好的预测模型和数据分析请求中携带的自然语言信息,并获取数据库中各个数据表的维度和指标,之后利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息,然后再对查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果,最后将查询结果和图表配置信息发送至所述数据分析请求对应的终端,从而使得终端基于所述查询结果和图表配置信息生成可视化图表,也就是说,在需要生成可视化图表时,利用自然语言信息可以自动生成数据库查询语句,实现数据查询,并利用从自然语言信息解析出的图表配置信息和查询结果自动生成可视化图表,能够降低数据可视化的技术门槛,从而能够提高数据可视化效率以及数据分析效率。
[0186] 在一些实施例中,在步骤102之前,可以通过图5示出的以下步骤对数据库中的数据表进行预处理,下面具体说明。
[0187] 在步骤201中,获取数据库中的待处理数据表,获取待处理数据表中的各个字段的字段类型。
[0188] 在一些实施例中,各个字段的字段类型包括但不限于:时间类型、字符串类型、整数类型、浮点数类型等,各个字段的字段类型可以从字段的定义信息中获取,字段的定义信息包括字段标识、字段类型等。各个字段的字段类型各个字段的字段值可以为枚举值、连续值等。
[0189] 在步骤202中,基于待处理数据表中各个字段的字段类型和字段值,对待处理数据表进行预处理,得到待处理数据表的维度和指标。
[0190] 在一些实施例中,参见图6,步骤202可以通过下述的步骤2021至步骤2029实现,下面具体说明。
[0191] 在步骤2021中,判断第一字段的字段类型是否为时间类型。
[0192] 其中,当第一字段的字段类型为时间类型时,进入步骤2022,当第一字段的字段类型不为时间类型时,进入步骤2023。
[0193] 示例性地,当第一字段为date、day、time等字段时,第一字段的字段类型为时间类型,当第一字段为system、city等字段时,第一字段的字段类型不为时间类型。
[0194] 在步骤2022中,将第一字段确定为时间维度。
[0195] 在步骤2023中,判断第一字段的字段类型是否为字符串类型。
[0196] 其中,当所述第一字段的字段类型为字符串类型时,进入步骤2024;当第一字段的字段类型不为字符串类型时,由于步骤2023是在第一字段的字段类型不为时间类型的前提下执行的,也即第一字段的字符类型不为时间类型也不为字符串类型时,进入步骤2025。
[0197] 在步骤2024中,将所述第一字段确定为特征维度。
[0198] 示例性地,第一字段为system、city等字段,第一字段的字段类型为字符串类型时,可以将第一字段确定为特征维度。在一些实施例中,将第一字段确定为特征维度后,会获取该第一字段的所有可能的字段值,将第一字段的所有可能的字段值确定为该特征维度的取值。例如,第一字段为system,第一字段的字段值为ios、android、windows,那么该特征维度的取值也即为ios、android、windows。
[0199] 在步骤2025中,判断第一字段的字段类型是否为数值类型。
[0200] 其中,当第一字段的字段类型为数值类型,进入步骤2026;当第一字段的字段类型不为数值类型时,进入步骤2029。
[0201] 在步骤2026中,判断第一字段的字段值是否可枚举。
[0202] 其中,当第一字段的字段类型为数值类型时,获取表征第一字段的字段至是否可枚举的枚举标志位,基于该枚举标志位确定第一字段的字段值是否可枚举,例如设定该标志位为1时,表征该第一字段的字段值可枚举,该枚举标志为为0时,表征该第一字段的字段值不可枚举,在该步骤中也即判断第一字段的枚举标志位是否为1,其中该枚举标志位为1,说明第一字段的字段值可枚举,此时进入步骤2027;当该枚举标志位不为1,说明该第一字段的字段值不可枚举,此时进入步骤2028。
[0203] 在步骤2027中,将第一字段确定为特征维度。
[0204] 在一些实施例中,将第一字段确定为特征维度后,由于第一字段的字段值为可枚举的,那么获取第一字段所有可能的字段值,并将第一字段所有可能的字段值确定为该特征维度的取值。
[0205] 在步骤2028中,将第一字段确定为指标,并基于所述第一字段生成第一统计指标。
[0206] 在一些实施例中,当第一字段的字段值不为可枚举时,将第一字段确定为指标。然后再利用预设函数基于第一字段生成至少一个第一统计指标,其中预设函数可以是求和函数、求最大值函数、求最小值函数、求平均函数等。
[0207] 示例性地,第一字段为页面加载耗时,基于求和函数、求最大值函数、求最小值函数、求平均函数对第一字段的字段值进行处理,对应可以得到以下第一统计指标:总加载耗时、最大加载耗时、最小加载耗时、平均加载耗时指标。
[0208] 在步骤2029中,当所述第一字段的字段值为用户标识时,基于所述第一字段生成第二统计指标。
[0209] 在一些实施例中,当第一字段的字段值为用户标识时,可以基于预设函数和第一字段生成第二统计指标,其中预设函数可以为个数计数函数。利用个数计数函数对第一字段的字段值进行处理,可以得到页面浏览量这一第二统计指标。
[0210] 通过上述步骤2021至步骤2029中,能够基于待处理数据表中各个字段的字段类型和字段值,自动对所述待处理数据表进行预处理,得到所述待处理数据表的维度和指标,如此能够实现数据表预处理的自动化实现,提高数据表预处理效率,从而为后续基于自然语言信息进行数据分析提供必要的数据基础。
[0211] 在一些实施例中,参见图7,步骤202“基于待处理数据表中各个字段的字段类型和字段值,对待处理数据表进行预处理,得到待处理数据表的维度和指标”还可以通过下述步骤2021’至步骤2025’所示的人工方式实现,下面具体说明。
[0212] 在步骤2021’中,响应于接收到的信息设置操作指令,呈现信息设置界面。
[0213] 在一些实施例中,信息设置界面显示有维度设置控件、指标设置控件、字段显示控件、数据预览控件。在响应于信息设置操作指令,呈现信息设置界面时,可以默认显示字段显示控件对应的界面,也可以默认显示维度设置控件对应的维度设置界面,还可以默认显示指标设置控件对应的指标设置界面,在本申请实施例中,对初始呈现信息设置界面的显示内容不进行限定。
[0214] 在步骤2022’中,当通过信息设置界面接收到维度设置指令时,呈现维度设置界面。
[0215] 在一些实施例中,当通过信息设置界面接收到针对维度设置控件的触控指令时,确定接收到维度设置指令,并呈现维度设置界面。
[0216] 在步骤2023’中,通过维度设置界面,获取数据表中确定为维度的第一字段、第一字段的显示标识和查询表达式。
[0217] 在一些实施例中,在维度设置界面中至少显示有维度ID输入入口、字段输入入口、字段显示标识的第一输入入口以及查询表达式的第二输入入口,维度设置界面中还可以显示有字段类型设置入口、字段备注设置入口等。通过字段输入入口获取确定为维度的第一字段,并通过第一输入入口获取确定为维度的第一字段的显示标识,通过第二输入入口获取查询表达式。
[0218] 在步骤2024’中,当接收到指标设置指令时,呈现指标设置界面。
[0219] 在一些实施例中,当接收到针对指标设置控件的触控操作时,确定接收到指标设置指令,并呈现指标设置界面。
[0220] 在步骤2025’中,通过指标设置界面,获取设置的指标标识和指标标识对应的查询表达式。
[0221] 在一些实施例中,指标设置界面中显示有指标ID输入入口、指标标识输入入口、指标标签输入入口以及指标标识对应的查询表达式的第三输入入口,通过指标ID输入入口获取用户输入的指标ID,通过指标标识入口获取设置的指标标识,通过第三输入入口获取指标标识对应的查询表达式。
[0222] 示例性地,指标ID为1,指标标识为order_count,用于表示订单数量,对应的查询表达式可以为count(order_id),该查询表达式表示订单数量这一指标是通过对order_id这一字段进行个数计数得到的。也即查询表达式中包括待处理数据表中的第二字段。
[0223] 在上述步骤2021’至步骤2025’中,可以通过可视化界面,由具有数据库管理权限的用户根据数据分析需求设置指标、维度,以及维度对应的查询表达式和指标对应的查询表达式,如此能够使得设置好的指标、维度是满足数据分析需求的,能够保证利用设置好的维度、指标确定出的查询语句能够从数据库中获取到准确的查询结果,从而提高数据分析结果的准确性。
[0224] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0225] 本申请实施例提供的数据处理方法可以应用到数据分析、数据可视化、数据看板、商业智能(Business Intelligence,BI)系统等多种场景。
[0226] 图8是利用本申请实施例提供的数据处理方法进行数据可视化的一种界面示意图,如图8所示,利用本申请实施例提供的方法,在获取到输入的“查下XXX最近3天的pv”的自然语言语句后,可以直接输出图8中801示出的XXX最近3天的pv的表格。在得到表格801之后,在获取到输入的“用折线图展示”的自然语言语句后,可以输出折线图802。
[0227] 图9是本申请实施例提供的数据处理方法的另一种实现流程示意图,下面结合图9进行说明。
[0228] 在步骤901中,数据预处理。
[0229] 在一些实施例中,数据的预处理包括,对数据库中的表数据进行分析,生成维度、指标等信息。该步骤有两种实现方式:自动生成和人工配置,下面对两种实现方式分别进行说明。
[0230] 在自动生成指标维度时,从数据库中依次获取数据表,然后分析表的各个字段,图10A是本申请实施例提供的自动生成指标维度的实现流程示意图,下面结合图10A进行说明。
[0231] 在步骤9011中,获取数据表。
[0232] 在步骤9012中,依次分析表的各个字段。
[0233] 在步骤9013中,判断字段类型是否为时间类型。
[0234] 其中,当字段类型为时间类型时,进入步骤9014;当字段类型不为时间类型时,进入步骤9015。
[0235] 在步骤9014中,将该字段定义为时间维度。
[0236] 示例性地,当字段为day、second等时,将该字段确定为时间维度。
[0237] 在步骤9015中,确定字段类型是否为字符串类型。
[0238] 其中,当字段类型为字符串类型时,进入步骤9016;当字段类型不为字符串类型时,进入步骤9018。
[0239] 在步骤9016中,将该字段定义为维度。
[0240] 在步骤9017中,获取各个字段的枚举值,并将字段的枚举值作为维度的值。
[0241] 在一些实施例中,获取的是各个字段所有可能的枚举值,并将字段所有可能的枚举值确定为维度的值。
[0242] 示例性地,该字段是平台名称,包含的枚举值有ios、android、windows等,则定义该维度是平台,该字段的枚举值作为维度的值。
[0243] 在步骤9018中,判断字段类型是否为数值类型。
[0244] 其中,当字段类型为数值类型,进入步骤9019;当字段类型不为数值类型,则不处理。
[0245] 在步骤9019中,判断字段值是否可枚举。
[0246] 其中,如果该字段的字段值可以枚举,进入步骤90110中;当该字段的字段值不可枚举,进入步骤90113中。
[0247] 在步骤90110中,将该字段定义为维度。
[0248] 在步骤90111中,获取该字段对应的字典表。
[0249] 在一些实施例中,该字段对应的字典表可以是具有数据表管理权限的用户配置的。
[0250] 在步骤90112中,将该字段的所有的枚举值,作为该维度的值。
[0251] 示例性地,数据表中的该字段是城市,值是各城市的编码,则通过用户配置的字典表获取到该字段所有的枚举值及其含义。
[0252] 在步骤90113中,将该字段定义为指标,并生成通用指标。
[0253] 在一些实施例中,如果该字段的取值均为连续值,那么确定该字段不可以枚举,则定义该字段为指标。同时生成通用指标:包括平均(avg), 总和(sum), 最大(max), 最小(min)。示例性地,该字段是页面的加载耗时,则生成平均加载耗时、总加载耗时、最大加载耗时、最小加载耗时等指标。
[0254] 在步骤90114中,判断字段内容是否为用户名。
[0255] 其中,如果字段为用户名,进入步骤90115。
[0256] 在步骤90115中,生成通用指标pv,uv等。
[0257] 在一些实施例中,通过count(user_name_column)生成指标pv,通过count(distinct user_name_column)生成指标uv。
[0258] 在一些实施例中,步骤901还可以通过图10B所示的流程进行人工定义指标、维度,并设置维度信息。下面结合图10B进行说明。
[0259] 在步骤9011’中,获取设置的指标信息,并基于指标设置信息定义指标。
[0260] 图11A是本申请实施例提供的指标设置界面示意图,如图11A所示,通过指标设置界面可以设置的指标信息包括:指标的英文名称、指标的中文名称、指标备注、指标SQL表达式以及指标字段的类型。
[0261] 在步骤9012’中,获取设置的维度信息。
[0262] 图11B是本申请实施例提供的维度设置界面示意图,如图11B所示,维度设置信息包括维度字段的英文名称、维度字段的中文名称、维度备注、维度SQL表达式、维度字段类型以及是否是时间的第一选择信息、是否可过滤的第二选择信息。
[0263] 在步骤9013’中,判断设置的维度是否为时间维度。
[0264] 其中,当设置的维度不为时间维度时,进入步骤9014’。
[0265] 在步骤9014’中,执行维度SQL表达式。
[0266] 在步骤9015’中,获取维度的枚举值。
[0267] 在步骤902中,对话内容解析。
[0268] 在一些实施例中,利用大语言模型对用户的对话内容进行解析,得到用户要查询的维度、指标以及图表的配置参数。
[0269] 由于现阶段大语言模型无法理解深度逻辑的缺陷,同时数据查询和图表配置参数比较多,通过单条任务解析对话,解析的结果很难满足如此多的参数解析。因此在本申请实施例中通过多个任务提示词,逐步解析对话的方式,来得到最后的查询配置信息。对话解析包括两类任务:解析数据查询配置和解析图表配置。
[0270] 解析数据查询配置,是指通过把对话内容解析得到所需的指标、维度、时间等信息。图12A是本申请实施例提供的解析数据查询配置,并基于数据查询配置生成查询语句的实现流程示意图,下面具体说明。
[0271] 在步骤9021中,获取对话内容。
[0272] 在一些实施例中,对话内容是用户输入的自然语言信息。
[0273] 在步骤9022中,创建解析任务。
[0274] 在一些实施例中,在创建解析任务时,需要从数据库获取通过数据预处理生成的指标、维度。
[0275] 在步骤9023中,获取确定是否为数据查询任务的提示词。
[0276] 在步骤9024中,利用大语言模型基于确定是否为数据查询任务的提示词,判断是否为数据查询任务。
[0277] 其中,当确定不是数据查询任务,进入步骤9025,当确定是数据查询任务,进入步骤9026。
[0278] 在步骤9025中,返回数据查询引导内容。
[0279] 在一些实施例中,该数据查询引导内容为数据查询内容对应的示例性对话内容,以指示用户通过数据查询引导内容,输入正确的对话内容。
[0280] 在步骤9026中,获取时间解析任务提示词。
[0281] 在步骤9027中,利用大语言模型基于时间解析任务提示词对对话内容进行解析,获取返回的时间范围。
[0282] 在步骤9028中,生成时间范围参数。
[0283] 在一些实施例中,根据时间解析任务提示词中要求的数据结构形式生成时间范围参数。
[0284] 在步骤9029中,获取指标解析任务提示词。
[0285] 在步骤90210中,利用大语言模型基于指标解析任务提示词,对对话内容进行解析,获取返回的要查询的指标信息。
[0286] 在步骤90211中,生成指标数据。
[0287] 示例性地,生成的指标数据可以为:indexList = ['pv', 'uv']。
[0288] 在步骤90212中,获取排序解析任务提示词。
[0289] 在步骤90213中,利用大语言模型基于排序解析任务提示词,对对话内容进行解析,获取返回的要查询的排序字段和顺序。
[0290] 在步骤90214中,生成排序数据。
[0291] 示例性地,生成的排序数据格式可以为:orderList=[{key:  'day',order:  'desc'}]。
[0292] 在步骤90215中,获取维度解析任务提示词。
[0293] 在步骤90216中,利用大语言模型基于维度解析任务提示词,对对话内容进行解析,获取返回的维度信息。
[0294] 在步骤90217中,依次匹配维度数据,获取匹配到的维度字段。
[0295] 示例性地,假设在步骤90216中,返回的维度信息为:应用A,深圳,那么匹配到的维度字段可以为:app,city。
[0296] 在步骤90218中,生成维度数据。
[0297] 示例性地,生成的维度数据的格式为: dimList=['app', 'city']。
[0298] 在步骤90219中,根据查询的维度的值生成过滤条件。
[0299] 在步骤90220中,生成过滤条件数据。
[0300] 示例性地,生成的过滤条件数据可以为:app=应用A, city=深圳。
[0301] 在步骤90221中,生成SQL语句。
[0302] 解析图表配置,是指通过把对话内容解析得到生成图表所需的坐标轴单位、距离、位置、图例的颜色等。由于图表的配置项非常多,在本申请实施例中采用对不同配置项设计多个任务的方式进行解析。
[0303] 图12B是本申请实施例提供的解析图标配置示意图,下面结合图12B进行说明。
[0304] 在步骤9021’中,获取对话内容。
[0305] 在步骤9022’中,获取坐标轴解析任务提示词。
[0306] 在步骤9023’中,利用大语言模型基于坐标轴解析任务提示词,对对话内容进行解析,获取返回的坐标轴配置。
[0307] 示例性地,返回的坐标轴配置为:单位:万,范围:[500, 3000]。
[0308] 在步骤9024’中,生成坐标轴参数。
[0309] 示例性的,根据上述返回的坐标轴配置,生成的坐标轴参数为:yAxis: {min:500,max: 3000,axisLabel: val =>val + '万'}。
[0310] 在步骤9025’中,获取图例解析任务提示词。
[0311] 在步骤9026’中,利用大语言模型基于图例解析任务提示词,对对话内容进行解析,获取返回的图例配置。
[0312] 示例性地,返回的图例配置为位置:下。
[0313] 在步骤9027’中,生成图例参数。
[0314] 示例性地,根据上述返回的图例配置,生成的图例参数为legend:{bottom:  'center'}。
[0315] 在步骤903中,生成SQL查询语句。
[0316] 在步骤904中,查询数据。
[0317] 在步骤905中,生成图表,并进行渲染显示。
[0318] 在一些实施例中,基于步骤903中生成的SQL语句,查询数据库,得到查询结果,结合图表的配置参数,通过可视化库(如echarts、D3、antv 等)生成可视化的图表。
[0319] 图13是本申请实施例提供的数据处理方法的实现架构示意图,如图13所示,该架构包括交互层1301、系统层1302和数据层1303,其中:
[0320] 交互层1301,负责与用户的可视化交互,包括与用户对话、渲染图表等功能。
[0321] 系统层1302,负责主要的逻辑,包括把用户对话内容通过大语言模型转为结构化的查询配置,并通过结构转换模块将结构化的查询配置转为SQL查询语句。
[0322] 数据层1303,用于进行数据的预处理,以生成方便人类理解的指标、维度等信息,同时负责数据查询。
[0323] 在本申请实施例中,把SQL查询语句划分为5个方便人类的理解的部分,这样可以使得通过对话构造生成SQL配置,变的更容易,同时避免了现阶段大语言模型的分析不稳定和无法理解多层逻辑的缺陷。
[0324] 数据层通过分析数据库中的表数据信息,预先生成了维度、指标等数据,系统层中得到的数据是结构化的,从而能够方便通过代码生成SQL语句,从而便于计算机的执行。
[0325] 图14是本申请实施例提供的结构转换模块的功能示意图,如图14所示,利用大语言模型1401对用户输入的自然语言进行处理,得到结构化的查询配置,然后利用结构转换模块1402将结构化的查询配置生成SQL语句。
[0326] 示例性地,以下是一条SQL查询语句:
[0327] SELECT day, app, count (1) AS pv, count (distinct user_name) AS uv[0328] FROM log
[0329] WHERE
[0330] day>= today ( ) ‑ 7 AND day<= today ( )
[0331] AND app in ( '应用1' )
[0332] GROUP BY app_, day_
[0333] ORDER BY day_ DESC
[0334] limit 1000;
[0335] 通过对该SQL查询语句进行抽象处理,得到以下5个部分:
[0336] a) 时间维度:SQL 查询中的时间字段及时间范围,是必选项。
[0337] b) 维度:SQL查询中用作聚合的字段,如城市、应用名称、性别等。通常放在GROUP BY部分。
[0338] c) 指标:SQL 查询中用作评估、计算的字段,通常会通过一些函数(如sum函数、avg函数、count函数等)进行聚合计算。示例性地,pv指标可以通过count (1) as pv确定,uv指标可以通过count (distinct user_name) as uv确定。
[0339] d) 过滤条件:SQL 查询中用作过滤筛选数据的部分,通常放在WHERE部分,如where city='深圳'。
[0340] e) 排序:SQL查询的结果会按照指定的排序规则进行排序,通常位于ORDER BY部分,示例性地,可以通过ORDER BY day desc使得结果按时间降序排列。
[0341] 在本申请实施例中,通过大语言模型将输入的自然语言转换为包括以上五个部分的结构化数据表达,然后结构转换模块可以通过图15示出的抽象名称与SQL语句的对应关系图,生成SQL语句。
[0342] 在本申请实施例提供的数据处理方法中,利用大语言模型对对话内容进行解析,得到结构化的查询配置和图表配置,再基于结构化的查询配置得到查询语句,从传统的需要通过SQL语句进行数据查询、分析的形式,转为了通过自然语言进行数据分析,极大的降低了数据分析的门槛,并且自然语言所说即所得的效率远远大于调试SQL并调试图表的方式,从而能够提升数据分析效率;另外,在本申请实施例中提供给用户的操作界面,可以只有一个用于输入对话内容的对话框,通过后台支持更多的属性和维度指标等,从而能够支持更多的特性,扩展性更好。
[0343] 可以理解的是,在本申请实施例中,涉及到自然语言信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0344] 下面继续说明本申请实施例提供的数据处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的数据处理装置455中的软件模块可以包括:
[0345] 第一获取模块4551,用于响应于接收到的数据分析请求,获取训练好的预测模型和所述数据分析请求中携带的自然语言信息;
[0346] 第二获取模块4552,用于获取数据库中各个数据表的维度和指标;
[0347] 第一预测模块4553,用于利用所述训练好的预测模型以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到查询配置信息和图表配置信息;
[0348] 信息转换模块4554,用于对所述查询配置信息进行转换处理,得到查询语句,并基于所述查询语句从所述数据库中确定查询结果;
[0349] 发送模块4555,用于将所述查询结果和所述图表配置信息发送至所述数据分析请求对应的终端,以使得所述终端基于所述查询结果和所述图表配置信息生成可视化图表。
[0350] 在一些实施例中,该装置还包括:
[0351] 第三获取模块,用于获取数据库中待处理数据表,获取所述待处理数据表中的各个字段的字段类型和字段值;
[0352] 预处理模块,用于基于所述待处理数据表中各个字段的字段类型和字段值,对所述待处理数据表进行预处理,得到所述待处理数据表的维度和指标。
[0353] 在一些实施例中,该预处理模块,还用于:
[0354] 当第一字段的字段类型为时间类型时,将所述第一字段确定为时间维度;
[0355] 当所述第一字段的字段类型为字符串类型时,将所述第一字段确定为特征维度;
[0356] 当所述第一字段的字段类型为数值类型,并且所述第一字段的字段值可枚举时,将所述第一字段确定为特征维度;
[0357] 当所述第一字段的字段类型为数值类型,并且所述第一字段的字段值为连续值时,将所述第一字段确定为指标,基于所述第一字段生成第一统计指标;
[0358] 当所述第一字段的字段值为用户标识时,基于所述第一字段生成第二统计指标。
[0359] 在一些实施例中,该预处理模块,还用于:
[0360] 响应于接收到的信息设置操作指令,呈现信息设置界面;
[0361] 当通过所述信息设置界面接收到维度设置指令,呈现维度设置界面;
[0362] 通过所述维度设置界面,获取所述待处理数据表中确定为维度的第一字段、所述第一字段的显示标识和查询表达式;
[0363] 当接收到指标设置指令,呈现指标设置界面;
[0364] 通过所述指标设置界面,获取设置的指标标识和所述指标标识对应的查询表达式,所述查询表达式中包括所述待处理数据表中的第二字段。
[0365] 在一些实施例中,该第一预测模块4553,还用于:
[0366] 获取数据查询任务对应的第一任务提示词,
[0367] 当利用所述训练好的预测模型基于所述第一任务提示词进行预测处理,确定所述自然语言信息为请求进行数据查询时,获取当前解析任务对应的第二任务提示词,所述第二任务提示词包括时间解析任务提示词、维度解析任务提示词、指标解析任务提示词和排序解析任务提示词;
[0368] 利用所述训练好的预测模型基于所述第二任务提示词与所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,得到所述当前解析任务对应的查询配置信息;
[0369] 获取图表可视化任务对应的第三任务提示词,所述第三提示词至少包括坐标轴解析提示词和图例解析提示词;
[0370] 利用所述训练好的预测模型基于所述第三任务提示词,对所述自然语言信息进行预测处理,得到所述图表配置信息。
[0371] 在一些实施例中,该第一预测模块4553,还用于:
[0372] 当所述第二任务提示词为时间解析任务提示词时,利用所述训练好的预测模型基于所述时间解析任务提示词,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括时间信息;
[0373] 当所述自然语言信息中包括时间信息时,从所述时间信息中确定第一起始时间和第一结束时间;
[0374] 将所述第一起始时间和所述第一结束时间填充至所述时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息;
[0375] 当所述自然语言信息中不包括时间信息时,基于当前时间和预设时长确定第二起始时间和第二结束时间;
[0376] 将所述第二起始时间和所述第二结束时间填充至所述时间解析任务提示词中设置的时间配置信息中,得到查询时间配置信息。
[0377] 在一些实施例中,该第一预测模块4553,还用于:
[0378] 当所述第二任务提示词为指标解析任务提示词时,利用所述训练好的预测模型基于所述指标解析任务提示词以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括数据表中的指标;
[0379] 当所述自然语言信息中包括数据表中的指标时,将所述自然语言信息中包括的指标,按照所述指标解析任务提示词中包括的指标输出格式,生成查询指标配置信息。
[0380] 在一些实施例中,该第一预测模块4553,还用于:
[0381] 当所述第二任务提示词为维度解析任务提示词时,利用所述训练好的预测模型基于所述维度解析任务提示词以及所述各个数据表的维度和指标,对所述自然语言信息进行预测处理,确定所述自然语言信息中包括的维度;
[0382] 将所述自然语言信息中包括的维度,按照所述维度解析任务提示词中包括的维度输出格式,生成查询维度配置信息。
[0383] 在一些实施例中,该第一预测模块4553,还用于:
[0384] 当所述第二任务提示词为排序解析任务提示词时,利用所述训练好的预测模型基于所述排序解析任务提示词,对所述自然语言信息进行预测处理,确定所述自然语言信息中是否包括排序信息;
[0385] 当所述自然语言信息中包括排序信息时,将所述排序信息填充至所述排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息;
[0386] 当所述自然语言信息中不包括排序信息时,获取默认排序信息;
[0387] 将所述默认排序信息填充至所述排序解析任务提示词中设置的排序配置信息中,得到查询排序配置信息。
[0388] 在一些实施例中,该信息转换模块4554,还用于:
[0389] 获取查询配置与查询语句之间的映射关系;
[0390] 基于所述映射关系,生成查询配置信息对应的查询语句。
[0391] 本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的数据处理方法。
[0392] 本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的数据处理方法,例如,如图4A示出的数据处理方法。
[0393] 在一些实施例中,计算机可读存储介质可以是RAM、ROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0394] 在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0395] 作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper Text Markup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0396] 作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
[0397] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。