交互式数据系统自定义编排方法、系统及编译、运行方法与流程

文档序号:12034351阅读:380来源:国知局
交互式数据系统自定义编排方法、系统及编译、运行方法与流程

本发明涉及交互式数据可视化应用领域,特别涉及一种交互式数据系统编排方法、系统及编译、运行方法。



背景技术:

数据可视化平台应具备的一项重要特性是能为用户提供强大的交互式数据分析能力,例如数据的多维分析操作:钻取、上卷、切片、切块以及旋转。通常的数据可视化编排工具也能实现上述能力,但存在如下的局限性:编排时只有固定的过滤条件,web页面运行时不能实时更改条件,从造成只能呈现单一的数据;不能实现丰富多维数据展现的能力。



技术实现要素:

本发明的目的在于克服现有技术中所存在的上述不足,提供一种新的基于事件-动作映射关系配置交互式数据分析页面的系统。

为了实现上述发明目的,本发明提供了以下技术方案:

一种交互式数据系统编排系统,包括,

组件列表模块,用于获取、展示、选择目标系统中所有组件;

组件配置模块,用于为目标系统中组件约定触发事件和相应事件触发的动作。

用户对页面元素的操作触发该元素的事件,该事件根据预定义的映射关系执行相应的元素动作,支持灵活配置页面,满足多种业务场景。

进一步的,还包括动作配置模块,所述动作配置模块用于为选择的动作配置处理对象、执行函数、输入参数、输出参数中的一项或多项;

所述执行函数用于执行指定操作。

进一步的,所述执行函数用于执行刷新数据、设置组件值、设置组件显示、设置组件隐藏、设置组件不可用、设置组件可用、设置阈值线、调用接口获取参数、着色、同步刷新、排序操作、校验、同步刷新、增加列、宽度自适应、高度自适应、切换数据模型、动态数据模型绑定、设置时间粒度、查询时间范围、设置跨度、设置初始值中的一种或多种。

进一步的,所述事件包括左键单击、左键双击、鼠标进入控件、鼠标划过控件、鼠标移出控件、控件初始化、控件渲染、空间渲染完成、数据开始加载、数据加载完成、图例单击、内容变化、选中、行单击、单元格单击、获得焦点、失去焦点、取消选中、树节点折叠、树节点展开、页签展开、页签隐藏中的一种或多种。

进一步的,所述动作的类型为引起联动、跳转操作、弹出窗口、关闭窗口、服务调用中的一种或多种。

本发明同时提供一种应用如上所述的系统进行系统编排的方法,包括如下步骤:

获取、展示目标系统所有组件的步骤;

选择组件的步骤;

为组件约定触发事件的步骤;

为组件约定触发的动作的步骤。

进一步的,还包括为动作配置处理对象、执行函数、输入参数、输出参数中的一项或多项的步骤。

所述动作的类型为引起联动、跳转操作、弹出窗口、关闭窗口、服务调用中的一种或多种。

本发明同时提供一种将按照如上所述方法进行编排后的系统进行编译的方法,包括如下步骤:

(1)遍历目标系统中各个组件的事件配置信息;

(2)判断是否遍历完成,如果已完成,结束遍历,否则进入步骤(3);

(3)根据当前组件的事件配置信息生成当前组件对应的事件函数;

(4)遍历当前组件配置的所有事件对应的动作,并判断对当前事件对应的所有动作是否遍历完成,如果已完成回到步骤(1),否则进入步骤(5);

(5)将对应事件函数写入对应页面并生成对应事件的动作处理函数;

(6)针对相应动作,配置处理参数,如待配置处理参数为静态值,将该静态值写入函数代码中;如果待配置处理参数为动态值,生成获取该动态值的参数获取函数;

(7)将动作处理函数与事件函数关联,并返回步骤(4)。

进一步的,目标系统中未配置事件的组件,编译时直接跳过。

本发明同时提供应用如上所述的系统编排出的目标系统的方法,包括如下步骤:

实时监测当前页面组件是否有预配置事件发生;

相应组件捕获事件并收集事件参数;

执行事件函数;

判断该事件函数对应的动作处理函数数量,并依次执行对应的动作处理函数;

将输出结果展示。

与现有技术相比,本发明的有益效果:本发明通过提供一种交互式数据系统编排方法、系统及编译、运行方法可达到如下效果:

1、交互式探索分析:通过事件编排系统及方法编排出丰富的交互组件,通过让用户自己以组件为基本单位,对各组件的触发事件和触发动作的自定义组合,让用户实现强大的多维分析;同时,组件触发动作之间可以实现联动,从而使得目标系统的图表之间、页面之间的实现多样化事件联动、参数传递。

2、对于编排人员来说,使用本发明提供的编排方法、系统,其编排人员不需要对事件、动作函数具有深入的了解,仅需通过事件、动作的名称即可完成组件和触发事件、触发的动作的关联设置,从而使得编排人员可以更加灵活的安排相应的清楚自身业务需求的非技术人员也可完成编排操作;进一步的,使用经过本发明提供的编排方法、系统编排后的目标系统,由于用户是根据自身需要设定的组件触发事件、触发动作,因此用户一方面对操作方式更加了解、熟悉;另一方面,本发明提供触发事件也可使得用户可通过简单拖拽、配置完成数据分析呈现过程;具体的,当目标系统为web系统时,用户只需要一个浏览器,就能独立地编排出自定义的,具有交互式数据展现能力的web应用系统。

3、对于企业:交互式数据展现的技术,集成于数据可视化平台的用户页面设计阶段和运行阶段的技术方案。利用事件编排的便利性,能让业务编排人员直接在系统平台上进行编排操作,而不需要把自身需求再提交到it部门,大大减轻了it部门的工作负担,提高了开发效率、节省开发资源、加快开发周期。

4、快速响应局点需求:应用本发明提供的方法和系统,面对业务需求改变时,可以方便的以组件为单位改变整个系统的操作,一线业务开发人员收集到局部小需求后,使用数据可视化平台的用户页面设计器编排完成web应用的快速定制开发、发布及安装;能够快速响应局点需求。

附图说明:

图1给出了目标系统为数据可视化平台时,其任一页面中组件分布与编排内容示意图。

图2是具体实施例中为组件约定事件示意图。

图3为具体实施例中动作配置模块示意图。

图4为具体实施例中组件编排结构储存结构示意图。

图5为具体实施例中,对编排好的系统进行编译流程示意图。

图6为具体实施例中,对编排好的系统运行流程示意图。

图7a为具体实施例中数据刷新动作的处理流程图。

图7b为具体实施例中设置组件隐藏/显示动作的处理流程图。

图7c为具体实施例中页面跳转动作的处理流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。

本实施例提供一种交互式数据可视化编排系统,包括,

组件列表模块,用于获取、展示、选择目标系统中所有组件;如组件可能是目标系统中的按钮、图标、图像、表格、控件、页面;而目标系统如可以是数据可视化平台的具体app,该app可能是手机app或者web系统;本实施例中的目标系统也可以是app中一个或多个界面、页面。

组件配置模块,用于为目标系统中组件约定触发事件和相应事件触发的动作。

图1给出了目标系统为数据可视化平台时,其任一页面中组件分布与编排内容示意图,图中的app程序包即为经过本实施例提供的编排系统编排配置过的目标系统。

本实施例中,用户通过组件配置模块目标系统中以组件为基本单位设置触发事件,同时预设多种可与该事件进行映射的动作,并根据用户选择将相应动作和相应事件进行关联,以满足用户不同业务场景需求。

具体的,本系统按照如下所示的方法进行具体的编排:

s110:获取、展示目标系统所有组件。

s120:选择所要进行编排的组件。

s130:如图1所示,打开待选择事件列表,为当前组件约定触发事件,应注意的是,可以为当前组件约定一个触发事件,也可以约定多个触发事件,所述事件包括左键单击、左键双击、鼠标进入控件、鼠标划过控件、鼠标移出控件、控件初始化、控件渲染、空间渲染完成、数据开始加载、数据加载完成、图例单击、内容变化、选中、行单击、单元格单击、获得焦点、失去焦点、取消选中、树节点折叠、树节点展开、页签展开、页签隐藏中的一种或多种。具体的,各个事件的具体描述如表一所示:

表一

应注意的是,由于组件的属性不同,不同的组件会对应不同的可选事件,如行单击、双击事件仅仅适应表格类组件,而树节点折叠、树节点展开仅仅适用于树类组件;具体应用中,可以为每个组件设置组件属性标识,进而根据该组件属性对其可选事件进行限定;而一些实施例中,用户可新组建组件,其当然也可以通过设置组件属性来限定、修改该新建组件的可选事件范围;另外一些实施例中,用户也可以通过自定义功能,将一些本不属于相应组件属性下可选的事件强制加入到该组件属性可选范围内。而在新建组件时,用户也可以自定义新组件属性,进而新设与该新组件属性匹配的事件列表,此处的事件既可以从原有事件列表中选择,也可以为用户自定义。

s140:为当前选择的触发事件约定其触发的动作。所述动作的类型可以是引起联动、跳转、弹出窗口、关闭窗口、服务调用中的一种或多种。

本实施例提供的编排系统还包括动作配置模块,所述动作配置模块用于为选择的动作配置处理对象、执行函数、输入参数、输出参数中的一项或多项;图3给出了限定的动作配置模块的页面。

其中,处理对象可以是当前页面内的其他组件、一个服务接口、内外部url页面、一个新增窗口等;

输入输出参数的来源包括但不限于:页面参数、事件参数、各组件的属性参数值,这些参数值,可以赋给任意一个组件的数据模型参数值,以便作为条件过滤。也可以作为参数传递给外部url或者接口调用;

所述执行函数用于执行指定操作,如,所述执行函数可以用于执行刷新数据、设置组件值、设置组件显示、设置组件隐藏、设置组件不可用、设置组件可用、设置阈值线、调用接口获取参数、着色、同步刷新、排序操作、校验、同步刷新、增加列、宽度自适应、高度自适应、切换数据模型、动态数据模型绑定、设置时间粒度、查询时间范围、设置跨度、设置初始值中的一种或多种。上述执行函数均预先定义了处理流程、响应及输入输出;这种设置方式具有非常强的扩展性,使得用户可根据不同对象的特性,预定义不同的动作执行函数;具体的,如,表格组件的刷新数据动作,预定义了收集配置的条件参数、构造查询对象、发起数据查询请求、接收查询结果、最后将查询结果显示在表格中。另外,组件的显示/隐藏动作,预定义了组件被显示/隐藏的处理。一些实施例中,所述动作还可以引起联动操作、跳转操作、弹出窗口操作、关闭窗口槽、服务调用操作中的一种或多种。具体的,上述各个操作的具体描述如表二所示:

表二

应注意的是,用户自定义动作可通过自定义功能加入到动作类型列表,并供用户选择。

s150:保存对组件的编排配置,系统在保存编排好的页面时,一并保存事件编排的配置信息。这些事件配置信息连同其他配置信息一起保存到相应的页面文件中,每个组件有自己的事件配置信息。信息记录了每个组件配置的事件列表,每个事件的事件动作、每个动作涉及的动作对象、动作处理函数、执行条件、处理参数等。数据存储结构图4所示。

具体的,当目标系统中一个工程(可认为是一个页面集合)所有的页面完成编排后,可对工程进行编译然后打包发布,工程编译时生成一个可独立运行的app安装包,该安装包可在部署到web应用服务器(比如:tomcat、jboss)的可视化运行器中运行。而具体应用时,工程发布的过程会包含[编译]、[打包]两个过程,上文所述的事件编排配置信息在编译阶段翻译成运行时能识别的事件、输入输出参数、响应组件等元素。一些实施例中,编译前存储的配置信息是以文本格式存储的,编译后信息转换成了可执行的html代码和javascript代码,这两部分代码最终完成交互式数据展现能力。

而在具体的编译过程中,编译器逐个编译工程(目标系统)内的每个页面,并循环页面中的每个组件。为有事件的组件生成事件函数、动作处理函数;并生成事件函数调用动作处理函数的逻辑关系。详细的,其按照如下步骤进行编译:

s210:遍历目标系统中各个组件的事件配置信息;

s220:判断是否遍历完成,如果已完成,结束遍历,否则进入步骤s230;

s230:根据当前组件的事件配置信息生成当前组件对应的事件函数;

s240:遍历当前组件配置的所有事件对应的动作,并判断对当前事件对应的所有动作是否遍历完成,如果已完成回到步骤s210,否则进入步骤s250;

s250:将对应事件函数写入对应页面并生成对应事件的动作处理函数;

s260:针对相应动作,配置处理参数,如待配置处理参数为静态值,将该静态值写入函数代码中;如果待配置处理参数为动态值,生成获取该动态值的参数获取函数;应注意的是,本实施例中,动态值参数,指的是设计态配置时是一个执行表达式,在运行时执行表达式后才能明确具体值的参数;例如:某文本框的当前值、下拉列表框选值、表格当前行某列的值、树勾选节点的值等等。

s270:将动作处理函数与事件函数关联,并返回步骤s240。

应注意的是,组件若配置了多个事件,则为它生成多个事件函数。若未配置事件,编译时不会生成事件函数。

而针对如上方法或系统进行编排过的目标系统,其按照如图6所述的步骤进行运行操作,具体如下:

加载页面在每个组件渲染完成前,先读取当前组件事件配置信息,如果组件有事件配置信息,则使用平台封装的指令完成组件的事件注册操作,注册事件包含事件函数和动作处理函数;进一步的,

s310:实时监测当前页面组件是否有预配置事件发生;

s320:相应组件捕获事件并收集事件参数;

s330:执行事件函数;

s340:判断该事件函数对应的动作处理函数数量,并依次执行对应的动作处理函数;

s350:将输出结果展示。

应注意的是,不同的联动动作,动作处理函数实现不同。下面描述几种典型的动作处理函数的处理逻辑,本实施例中,以数据刷新、设置组件隐藏/显示和页面跳转为例介绍不同连动动作的不同处理流程。

数据刷新动作如图7a所示,包括,

s10:组件捕获数据刷新预设事件;

s11:收集查询条件参数及参数值;

s12:构造数据请求对象;

s13:向后台发出查询请求;

s14:后台根据数据来源不同,进行相应的参数转换或请求转换;

s15:后台调用数据查询接口;

s16:后台接收数据来源返回的查询结果;

s17:根据页面布局进行数据转换,并将转换后的查询结果返回页面;

s18:根据组件配置查找联动组件,本实施例中,如该联动组件是表格;

s19:刷新表格数据并进行渲染。

设置组件隐藏/显示如图7b所示,包括,

s21:组件捕获组件隐藏/显示预设事件;

s22:调用显示/隐藏动作执行函数;

s23:接收时间参数,确定本次动作是显示还是隐藏;

s24:查找联动组件,本实施例中,联动组件即为被显示或隐藏的组件;

s25:设置该组件的显示/隐藏。

设置页面跳转如图7c所示,包括,

s31:组件捕获执行跳转事件;

s32:查找目标url;

s33:收集跳转参数及参数值;

s34:查找配置跳转打开方式,根据请求方式打开目标页面;

s35:获取跳转参数;

s36:刷新页面。

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