一种可视化业务数据操作系统及方法与流程

文档序号:20838843发布日期:2020-05-22 17:13阅读:223来源:国知局
一种可视化业务数据操作系统及方法与流程

本发明涉及互联网和数据库领域,尤其涉及一种可视化业务数据操作系统及方法。



背景技术:

随着移动互联网的普及和大数据时代的发展,大量的数据信息需要处理,由于业务数据都是存储在数据库中,且存储框架层出不穷,多种多样,比如传统的关系型数据库:oracle、mysql;新兴的nosql:hbase、cassandra、redis;全文检索框架:elasticsearch、solr等。而且,由于数据库查询需要使用标准的查询语句,非专业人员使用必须熟练掌握灵活度极高且语法复杂的查询语句,而且不同数据库服务的查询语言也不近相同。因此,对企业业务数据进行添加、修改、删除和查询分析操作时,势必导致获取数据效率很低,且极易出错。

另外,查询返回的数据集的结构也各不相同,需要用户对这些数据进行反解析并按照特定格式重新组建成结构化的数据集,存储到文件中,这些工作枯燥且繁重,不仅处理起来效率低下,更重要的是需要操作中及其细心和耐心,稍有疏忽就会出错,给数据处理带来极大不便。

例如,以数据查询操作为例,数据分析师主要对业务数据进行过滤、聚合操作。由于业务的内容不是固定的,数据结构各不相同。每次要分析的问题角度也不尽相同。这就导致分析师每次需要查询的内容也不同。由于各个数据库的查询语法各不相同,且查询语法学习难度大,大多数都是通过命令行界面进行查询,使用起来很不方便,对于不熟悉的人员来说更是无从下手,返回结果形式单一。现有技术在实现具体的数据查询和分析操作时,首先需要根据业务需求提出具体的数据需求。由于业务的复杂度不同,分析师往往要寻求开发人员的帮助。跟开发人员说明需要的数据内容,开发人员理解后,编写对应的查询语句,再交由数据分析师进行查询、分析。这样加大了数据分析师和开发人员的工作成本,也加大了沟通和时间的成本。

为了解决上述技术问题,需要提出新的技术方案。



技术实现要素:

根据本发明的可视化业务数据操作系统,包括:

客户端,用于提供gui,接收用户在gui执行的用户操作指令,将用户操作指令转换为数据操作指令,将数据操作指令发送至服务器端,接收来自服务器端的数据操作结果,在gui上展示数据操作结果,和/或在本地存储数据操作结果;

服务器端,用于接收数据操作指令,生成数据操作指令对应的字段结构和/或生成数据操作指令对应的字段结构的可用操作方案,执行数据操作指令,获取数据操作结果,将数据操作结果发送至客户端。

根据本发明的可视化业务数据操作系统,其用户操作指令包括下列中的至少一项:

由用户输入或通过列表选择的数据源、连接账户和密码;

由用户输入或通过列表选择的数据操作的类型、所涉及的数据库和表、字段信息、数据操作的条件,

其中,数据操作的条件包括限定条件、查询条件、聚合条件。

根据本发明的可视化业务数据操作系统,其服务器端还用于:

在执行数据操作指令之前,拼接数据操作指令中的有效数据,生成数据操作标准语句。

根据本发明的可视化业务数据操作系统,其数据操作标准语句是elasticsearch的querydsl格式的数据操作语句,数据库和表是elasticsearch的索引和类型,服务器端提供elasticsearch服务,使用elasticsearch的api调用数据操作指令,将数据操作指令发送至服务器端。

根据本发明的可视化业务数据操作系统,其列表选择支持正则表达式匹配。

根据本发明的可视化业务数据操作系统,其客户端还用于,验证querydsl格式的数据操作语句的语法是否正确。

根据本发明的可视化业务数据操作方法,包括:

使用客户端来执行以下步骤:

提供gui;

接收用户在gui执行的用户操作指令;

将用户操作指令转换为数据操作指令;

将数据操作指令发送至服务器端;

接收来自服务器端的数据操作结果;

在gui上展示数据操作结果,和/或在本地存储数据操作结果,

使用服务器端来执行以下步骤:

接收数据操作指令,生成数据操作指令对应的字段结构和/或生成数据操作指令对应的字段结构的可用操作方案,执行数据操作指令;

获取数据操作结果;

将数据操作结果发送至客户端。

根据本发明的可视化业务数据操作方法,其用户操作指令包括下列中的至少一项:

由用户输入或通过列表选择的数据源、连接账户和密码;

由用户输入或通过列表选择的数据操作的类型、所涉及的数据库和表、字段信息、数据操作的条件,

其中,数据操作的条件包括限定条件、查询条件、聚合条件。

根据本发明的可视化业务数据操作方法,还包括:

在执行数据操作指令之前,使用服务器端来执行以下步骤:

拼接数据操作指令中的有效数据,生成数据操作标准语句。

根据本发明的可视化业务数据操作方法,其数据操作标准语句是elasticsearch的querydsl格式的数据操作语句,数据库和表是elasticsearch的索引和类型,服务器端提供elasticsearch服务,使用elasticsearch的api调用数据操作指令,将数据操作指令发送至服务器端。

根据本发明的可视化业务数据操作方法,其列表选择支持正则表达式匹配。

根据本发明的可视化业务数据操作方法,还包括:

使用客户端来执行以下步骤:

验证querydsl格式的数据操作语句的语法是否正确。

根据本发明的上述技术方案,能够通过图形化的方式,准确、灵活、简单方便地完成业务数据操作。

附图说明

并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与相关的文字描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。

图1示例性地示出了根据本发明的可视化业务数据操作系统的示意图。

图2示例性地示出了根据本发明的可视化业务数据操作方法的示意流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1示例性地示出了根据本发明的可视化业务数据操作系统100的示意图。

如图1所示,根据本发明的可视化业务数据操作系统100,包括:

客户端101,用于提供gui,接收用户102在gui执行的用户操作指令,将用户操作指令转换为数据操作指令,将数据操作指令发送至服务器端,接收来自服务器端的数据操作结果,在gui上展示数据操作结果,和/或在本地存储数据操作结果;

服务器端103,用于接收数据操作指令,生成数据操作指令对应的字段结构和/或生成数据操作指令对应的字段结构的可用操作方案,执行数据操作指令,获取数据操作结果,将数据操作结果发送至客户端101。

可选地,用户操作指令包括下列中的至少一项:

由用户102输入或通过列表选择的数据源、连接账户和密码;

由用户102输入或通过列表选择的数据操作的类型、所涉及的数据库和表、字段信息、数据操作的条件,

其中,数据操作的条件包括限定条件、查询条件、聚合条件。

可选地,服务器端103还用于:

在执行数据操作指令之前,拼接数据操作指令中的有效数据,生成数据操作标准语句。

可选地,数据操作标准语句是elasticsearch的querydsl格式的数据操作语句,数据库和表是elasticsearch的索引和类型,服务器端103提供elasticsearch服务,使用elasticsearch的api调用数据操作指令,将数据操作指令发送至服务器端103。

可选地,列表选择支持正则表达式匹配。

可选地,客户端101还用于,验证querydsl格式的数据操作语句的语法是否正确。

例如,用户可以使用以下方式来输入具体的用户操作指令:

用户可以在界面上选择数据存储框架(例如,elasticsearch),配置好连接数据源所需要的地址、端口、身份认证信息。

配置成功后,可通过以下方法再界面上显示数据源中所存储的全部数据,清晰的展示出数据的种类、结构等信息,以供用户执行诸如从列表中选择等后续的交互操作:

可以通过对数据源的扫描,在界面上展示出数据的字段结构。可以预先确定各个类型的字段所适用的操作。可以对用户选择的字段进行实时监听,展示出用户可以选择的方案。用户只要选择对应的操作,即可完成对所选数据的分析设置。可以通过用户的配置生成用户指定的数据存储框架所需要的查询语句(例如,上述querydsl格式的数据操作语句)。可以保存每个数据配置的详细信息,该详细信息包括数据的来源(例如,上述数据源、数据库和表)、所要查询的字段(即,上述字段信息)、对每个字段执行的具体操作(例如,上述数据操作的类型——增、删、查、改,数据操作的条件)等。

为了使本领域技术人员更清楚地理解根据本发明的上述技术方案,下面将以生成上文所述的elasticsearch的querydsl格式的数据操作语句为例进行说明。

1、客户端101接收用户102输入或选择的、待查询的索引和类型,索引和类型相当于标准dsl查询中的url部分。索引和类型可以是一个,也可以是多个。可以通过通配符匹配对应多个索引和类型(即,上述支持正则表达式匹配)。

2、客户端101接收用户102输入或选择的、待查询的字段,这些字段相当于标准dsl查询body中_source的部分。即,用户102可以基于上一步已经选择的索引信息,选择该索引中的字段信息。例如,用户102可以通过多选的方式直接选择列表控件中显示的多个字段。如果用户不进行选择,则默认查询全部字段。

3、客户端101接收用户102输入或选择的、具体查询条件,这些查询条件相当于标准dsl查询body中query的部分。例如,可以采用bool复合查询子句,可以支持must、must_not、should、filter等。例如,用户102可以通过界面对任意字段添加限定条件,限定条件的类型包括term、wildcard、perfix、fuzzy、range、missing等。

4、客户端101接收用户102输入或选择的、具体(例如,适用于类型为查询的数据操作的)聚合条件,这些聚合条件相当于标准dsl查询body中aggs的部分。例如,用户102可以通过界面直接选择聚合条件的类型,并设置具体的聚合条件,聚合条件可以重复嵌套。

此时,客户端101可以包括用于生成标准dsl语句的语句生成装置,该语句生成装置包括以下模块:

索引类型选择模块:用于生成dsl查询的url部分。即,用于在用户102使用界面设置了elasticsearch地址,获得索引列表和别名信息之后。用户102通过选择索引,将多个索引类型用逗号分开,或者采用通配符方式查询多个索引。例如:/索引1、索引2/类型1、类型2/_search。

字段选择模块:用于基于索引类型选择模块所确定的表(即,类型),确定要查询的字段,拼接在body中的_source部分。即,用于确定从图形界面选择的索引中包含的字段,多个字段可以用逗号隔开。例如:_source:[字段1,字段2]。

查询条件定义模块:用于确定查询的条件定义,可以将所确定的具体查询条件拼接在body中的query部分。即,用于基于用户102从图形界面上所选择的字段、所选择的具体限定条件、所设置的限定条件的边界,来确定具体查询条件。例如,查询条件的格式如下文所示:

聚合查询定义模块:用于确定聚合查询的定义(即,上述聚合条件),聚合条件可以拼接在body中的aggs部分。即,用于基于用户102通过图形界面所选择的聚合类型、聚合字段和其他相关设置,来确定具体的聚合条件。例如,聚合条件的格式如下文所示:

dsl拼接模块:用于将上述模块所确定的内容拼接起来,形成一个完整的dsl查询语句。例如,dsl查询语句的一个示例如下文所示:

get/索引1,索引2/类型1,类型2/_search

语法校验模块:用于验证dsl拼接模块所生成的dsl语句的语法是否正确。

例如,当一个网站被攻击时,会导致服务器(即,上述服务器端103)压力增大,请求响应时间增长,请求超时量增大,会产生大量的5xx状态。单位时间内访问网站的用户数量下降。在这种情况下,就能够通过根据本发明的上述技术方案来对服务器端103上所存储的原始日志数据进行分析。例如,此时用户102可以通过gui来确定以下具体设置参数(即,操作指令所涉及的具体参数)。

remote_addr字段:用于存储待查询和分析的用户客户端的ip地址。

例如,用户102可以通过设置对诸如elasticsearch的系统从日志中获取到的单位时间内的不同ip地址进行统计的方式,来获得uip数。

status字段:用于存储待查询和分析的用户请求的状态码。

例如,用户102可以通过选择该status字段、并且选择在指定时间段内按照具体时刻进行分割统计的方式,分时段统计状态码为5xx的数量和占比。

request_time字段:用于存储待查询和分析的客户请求的总用时。

例如,用户102可以设置待查询和分析的客户请求的时间段,在该时间段内选择按照具体时刻进行分割统计的方式,分时段统计客户请求的总用时的平均值。

客户端在接收到用户102针对上述三个字段的具体设置之后,会自动拼接生成dsl查询语句,用户102可以通过查询返回的结果直观地查看网站被攻击的程度,以及服务的变化。

可选地,用户102还可以通过gui对查询结果进行阈值设置、威胁等级设置、时间段设置,以获取网站在各个时段的不同威胁等级的具体信息,从而可以进一步有针对性地查找高威胁等级的时段中存在的威胁事件的具体攻击信息。

图2示例性地示出了根据本发明的可视化业务数据操作方法的示意流程图。

如图2(a)和图2(b)的实线框所示,根据本发明的可视化业务数据操作方法,包括:

使用客户端来执行以下步骤:

步骤s202c:提供gui;

步骤s204c:接收用户在gui执行的用户操作指令;

步骤s206c:将用户操作指令转换为数据操作指令;

步骤s208c:将数据操作指令发送至服务器端;

步骤s210c:接收来自服务器端的数据操作结果;

步骤s212c:在gui上展示数据操作结果,和/或在本地存储数据操作结果,

使用服务器端来执行以下步骤:

步骤s202s:接收数据操作指令,生成数据操作指令对应的字段结构和/或生成数据操作指令对应的字段结构的可用操作方案,执行数据操作指令;

步骤s204s:获取数据操作结果;

步骤s206s:将数据操作结果发送至客户端。

可选地,用户操作指令包括下列中的至少一项:

由用户输入或通过列表选择的数据源、连接账户和密码;

由用户输入或通过列表选择的数据操作的类型、所涉及的数据库和表、字段信息、数据操作的条件,

其中,数据操作的条件包括限定条件、查询条件、聚合条件。

可选地,根据本发明的可视化业务数据操作方法,还包括:

在执行数据操作指令之前,使用服务器端来执行以下步骤:

拼接数据操作指令中的有效数据,生成数据操作标准语句。

可选地,数据操作标准语句是elasticsearch的querydsl格式的数据操作语句,数据库和表是elasticsearch的索引和类型,服务器端提供elasticsearch服务,使用elasticsearch的api调用数据操作指令,将数据操作指令发送至服务器端。

可选地,列表选择支持正则表达式匹配。

可选地,如图2(a)的虚线框所示,根据本发明的可视化业务数据操作方法,还包括:

使用客户端来执行以下步骤:

步骤s214c:验证querydsl格式的数据操作语句的语法是否正确。

根据本发明的上述技术方案,具有以下优点:

1、通过图形化的方式,准确、灵活、简单方便地生成复杂的查询语句。由于采用了可视化图形界面配置,支持对查询语句中的具体参数进行设置,所以能够对查询语句进行灵活控制,能够极大的降低数据分析师和开发人员的工作成本。可以在不通过开发人员的帮助下,由数据分析师自己通过界面上的配置,自动产生对应的查询语句,直接进行数据查询。

2、可视化图形界面可以直观地展示出查询的条件,不需要学习和掌握复杂的查询语句。

3、查询的结果可以直接生成txt、xlsx等格式文件。

4、可以为需要定期执行的查询添加定期执行的查询条件,定时生成文件,并可以通过邮件自动发送,极大地提升了数据分析师的工作效率。

5、支持对查询语句的语法校验,保证查询语句的准确性。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1