首页> 中国专利> 网页生成方法、网页生成装置、电子设备以及存储介质

网页生成方法、网页生成装置、电子设备以及存储介质

摘要

本公开提供了一种网页生成方法,涉及金融领域。所述网页生成方法包括:获取网页的配置文件、以及预设的组件间映射表,其中,所述配置文件包括所述网页的M个组件之间的依赖关系,所述组件间映射表包括与所述依赖关系对应的第一数据转换协议。基于所述依赖关系获取对应的所述第一数据转换协议。更新所述M个组件中第一组件的状态数据。以及基于更新后的所述第一组件的状态数据,通过所述第一数据转换协议更新所述M个组件中第二组件的状态数据以生成网页,其中,所述第二组件包括与所述第一组件具有所述依赖关系的组件。本公开还提供了一种网页生成装置、电子设备和存储介质。

著录项

  • 公开/公告号CN113094561A

    专利类型发明专利

  • 公开/公告日2021-07-09

    原文格式PDF

  • 申请/专利权人 中国工商银行股份有限公司;

    申请/专利号CN202110503518.7

  • 发明设计人 黄小然;罗涛;李思;

    申请日2021-05-08

  • 分类号G06F16/9032(20190101);G06F16/958(20190101);G06F3/0484(20130101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人张体南

  • 地址 100140 北京市西城区复兴门内大街55号

  • 入库时间 2023-06-19 11:45:49

说明书

技术领域

本公开可用于金融领域,更具体地,涉及一种网页生成方法、网页生成装置、电子设备以及存储介质。

背景技术

随着计算机技术的快速发展,人们的日常生活与互联网紧密结合,对于如网页生成、网站建设等方面的需求越来越大。相关技术中,例如不同用户采用低代码开发平台进行设计开发网页,其中,低代码开发平台可以令编程基础较低的用户进行页面的多个组件的可视化拖拽设计与布局,无需编码即可在线完成设计和发布,例如还可以让多个用户参与到一个网页的设计过程中来,共同完成设计和发布。

比如用户设计的一个网页包括搜索框组件和展示列表组件。用户可以通过配置文件或可视化操作更改搜索框组件和展示列表组件的位置、大小等参数。在网页完成发布后,若在搜索框组件中输入搜索词,则可以在展示列表组件展示搜索返回的数据。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:

在涉及到多个组件之间传递数据以完成特定功能时,不能自动进行多个组件之间的协调和同步,无法对生成网页的需求进行自动解析。以搜索框组件和展示列表组件为例,针对利用搜索框组件进行搜索而返回的数据,为避免数据展示时丢失或者错乱,需要用户手动进行二次编辑后传入展示列表组件,以成功展示,从而导致了网页生成的效率较低。

发明内容

有鉴于此,本公开实施例提供了一种通过固化组件之间的应用逻辑,从而能够自动进行多个组件之间的协调和同步的网页生成方法、网页生成装置、电子设备以及存储介质。

本公开实施例的一个方面提供了一种网页生成方法。所述网页生成方法包括:获取网页的配置文件、以及预设的组件间映射表,其中,所述配置文件包括所述网页的M个组件之间的依赖关系,每个所述依赖关系包括两个组件之间的数据传递关系,所述组件间映射表包括与所述依赖关系对应的第一数据转换协议,M为大于或等于2的整数。基于所述依赖关系获取对应的所述第一数据转换协议,其中,所述第一数据转换协议用于将具有所述依赖关系的两个组件之间的传递数据进行转换。更新所述M个组件中第一组件的状态数据。以及基于更新后的所述第一组件的状态数据,通过所述第一数据转换协议更新所述M个组件中第二组件的状态数据以生成网页,其中,所述第二组件包括与所述第一组件具有所述依赖关系的组件。

根据本公开的实施例,所述更新所述M个组件中第一组件的状态数据包括:基于所述配置文件中初始的所述第一组件的状态数据获得数据查询请求。获取与所述数据查询请求对应的查询数据。基于所述查询数据更新所述第一组件的状态数据。

根据本公开的实施例,所述基于所述配置文件中初始的所述第一组件的状态数据获得数据查询请求包括:获取预设的数据查询映射表,其中,所述数据查询映射表包括与所述M个组件一一对应的M个第二数据转换协议。基于所述第一组件获取对应的所述第二数据转换协议。基于所述第二数据转换协议将初始的所述第一组件的状态数据进行转换来获得所述数据查询请求。

根据本公开的实施例,还包括预先确定所述第一数据转换协议和/或所述第二数据转换协议,具体包括:基于所述M个组件中每个组件的配置数据预先确定对应的输入数据结构。基于所述M个组件中每个组件的状态数据预先确定对应的输出数据结构,其中,所述M个组件中一个组件的配置数据的改变使得该组件的状态数据改变。基于所述输入数据结构和所述输出数据结构中的至少一种来确定所述第一数据转换协议和/或所述第二数据转换协议。

根据本公开的实施例,还包括预设所述组件间映射表,具体包括:获得所述M个组件间的第一映射关系,其中,所述第一映射关系包括至少两个组件间数据传递的流向,所述依赖关系包括所述第一映射关系。基于所述第一映射关系确定对应的所述第一数据转换协议,其中,所述第一数据转换协议用于基于所述输入数据结构和所述输出数据结构将所述至少两个组件间的传递数据进行转换。将所述第一映射关系和对应的所述第一数据转换协议相关联地存储以设置所述组件间映射表。

根据本公开的实施例,还包括预设所述数据查询映射表,具体包括:获得所述M个组件中每个组件与所述数据查询请求的第二映射关系,其中,所述依赖关系包括所述第二映射关系。基于所述第二映射关系确定对应的所述第二数据转换协议,其中,所述第二数据转换协议用于基于每个组件的所述输出数据结构将该组件的状态数据转换为所述数据查询请求。将所述第二映射关系和对应的所述第二数据转换协议相关联地存储以设置所述数据查询映射表。

根据本公开的实施例,所述获取与所述数据查询请求对应的查询数据包括:获得接口列表,其中,所述接口列表包括至少一个第一查询接口,以及每个所述第一查询接口的筛选条件。基于所述依赖关系中的标识信息,获取所述第一组件对应的所述第一查询接口的筛选条件,其中,所述标识信息包括所述第一组件对应的所述第一查询接口的标识。基于所述筛选条件,将所述数据查询请求中的查询信息作为所述第一查询接口的输入,其中,所述查询信息与初始的所述第一组件的状态数据对应。获取所述第一查询接口返回的所述查询数据。

根据本公开的实施例,所述更新所述M个组件中第一组件的状态数据包括:接收针对所述第一组件的执行动作,响应所述执行动作更新所述第一组件的状态数据。

根据本公开的实施例,还包括预先设置所述配置文件的内容。所述配置文件还包括:页面信息、组件配置信息和页面布局信息中的至少一种。

本公开实施例的另一方面提供了一种网页生成装置。所述网页生成装置包括第一获取模块、第二获取模块、第一更新模块和第二更新模块。所述第一获取模块用于获取网页的配置文件、以及预设的组件间映射表,其中,所述配置文件包括所述网页的M个组件之间的依赖关系,每个所述依赖关系包括两个组件之间的数据传递关系,所述组件间映射表包括与所述依赖关系对应的第一数据转换协议,M为大于或等于2的整数。所述第二获取模块用于基于所述依赖关系获取对应的所述第一数据转换协议,其中,所述第一数据转换协议用于将具有所述依赖关系的两个组件之间的传递数据进行转换。所述第一更新模块用于更新所述M个组件中第一组件的状态数据。所述第二更新模块用于基于更新后的所述第一组件的状态数据,通过所述第一数据转换协议更新所述M个组件中第二组件的状态数据以生成网页,其中,所述第二组件包括与所述第一组件具有所述依赖关系的组件。

本公开实施例的另一方面提供了一种电子设备。所述电子设备包括一个或多个存储器、以及一个或多个处理器。所述存储器存储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的方法。

本公开实施例的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开实施例的又一方面提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上所述的方法。

上述一个或多个实施例具有如下优点或有益效果:可以至少部分地解决用户手动进行二次编辑以协调各个组件之间的传递数据的问题,通过从预设的组件间映射表中获取与依赖关系对应的第一数据转换协议,能够利用第一数据转换协议将两个组件间的传递数据进行转换,例如搜索框组件和展示列表组件具有依赖关系,针对利用搜索框组件进行搜索而返回的数据,通过第一数据转换协议可以自动将返回的数据进行转换后传入展示列表组件,无需用户手动编辑,从而能够有效解析用户需求,提高网页生成效率。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的可以应用网页生成方法的示例性系统架构;

图2示意性示出了根据本公开的实施例的网页生成方法的流程图;

图3示意性示出了根据本公开的实施例的网页的四个组件之间的依赖关系示意图;

图4示意性示出了根据本公开的实施例的配置文件的摘要内容示意图;

图5示意性示出了本公开的实施例的组件库的设计示意图;

图6示意性示出了根据本公开的实施例的预先确定第一数据转换协议和/或第二数据转换协议的流程图;

图7示意性示出了根据本公开的实施例的预设组件间映射表的流程图;

图8示意性示出了根据本公开的实施例的预设数据查询映射表的流程图;

图9示意性示出了根据本公开的另一实施例的网页生成方法的流程图;

图10示意性示出了根据本公开的实施例的获得数据查询请求的流程图;

图11示意性示出了根据本公开的实施例的获取与数据查询请求对应的查询数据的流程图;

图12示意性示出了根据本公开的又一实施例的网页生成方法的流程图;

图13示意性示出了根据本公开的实施例的网页生成装置的框图;

图14示意性示出了根据本公开的另一实施例的网页生成装置的框图;

图15示意性示出了根据本公开的实施例的网页生成装置的操作流程图;

图16示意性示出了根据本公开的另一实施例的网页生成装置的操作流程图;以及

图17示意性示出了根据本公开实施例的适于实现网页生成方法和装置的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

用户可以首先配置网页的配置文件,然后利用工具去读取配置文件后加载相关组件以自动生成网页,还可以例如通过可视化的方式拖拽设计网页的组件进行网页生成。而网页的组件实质上是利用代码对数据和方法的简单封装,因此组件之间的数据交互是通过编程层面的应用逻辑实现的。由于相关技术中网页生成会涉及到多方组件,若组件之间没有统一的应用逻辑,则数据不能成功传递,从而不能对生成网页的需求进行自动解析,即无法自动实现组件之间的协作。例如通过搜索框组件进行搜索而返回的数据,可能无法被展示组件接收(例如展示组件对于搜索数据的数据结构不兼容或不能识别),从而导致搜索数据不能成功传递。

本公开的实施例提供了一种网页生成方法。该网页生成方法包括:获取网页的配置文件、以及预设的组件间映射表,其中,配置文件包括网页的M个组件之间的依赖关系,每个依赖关系包括两个组件之间的数据传递关系,组件间映射表包括与依赖关系对应的第一数据转换协议,M为大于或等于2的整数。基于依赖关系获取对应的第一数据转换协议,其中,第一数据转换协议用于将具有依赖关系的两个组件之间的传递数据进行转换。更新M个组件中第一组件的状态数据。以及基于更新后的第一组件的状态数据,通过第一数据转换协议更新M个组件中第二组件的状态数据以生成网页,其中,第二组件包括与第一组件具有依赖关系的组件。

利用本公开实施例的网页生成方法,通过从预设的组件间映射表中获取与依赖关系对应的第一数据转换协议,能够利用第一数据转换协议将两个组件间的传递数据进行转换。例如针对利用搜索框组件进行搜索而返回的数据,通过第一数据转换协议可以自动将返回的数据进行转换后传入展示列表组件,无需用户手动转换或者手动定义转换逻辑,从而能够有效解析用户需求,提高网页生成效率。

需要说明的是,本公开实施例的网页生成方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本公开实施例的网页生成方法和装置的应用领域不做限定。

图1示意性示出了根据本公开实施例的可以应用网页生成方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。例如用户可以使用终端设备101、102、103对网页的配置文件进行更改,或者进行可视化操作的拖拽设计。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103对网页生成过程中进行的执行动作进行响应并提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

根据本公开的实施例,服务器105还可以存储或调用预设的组件间映射表,以及对用户通过终端设备101、102、103更改的配置文件进行解析。另外,服务器105可以根据配置文件中的相关信息发出数据请求,并获取到查询数据后注入相关组件中,然后根据依赖关系遍历完成网页的组件更新。

需要说明的是,本公开实施例所提供的网页生成方法一般可以由服务器105执行。相应地,本公开实施例所提供的网页生成装置一般可以设置于服务器105中。本公开实施例所提供的网页生成方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的网页生成装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出了根据本公开的实施例的网页生成方法的流程图。图3示意性示出了根据本公开的实施例的网页的四个组件之间的依赖关系示意图。

如图2所示,本公开实施例的网页生成方法可以包括操作S210~操作S240。

在操作S210,获取网页的配置文件、以及预设的组件间映射表,其中,配置文件包括网页的M个组件之间的依赖关系,每个依赖关系包括两个组件之间的数据传递关系,组件间映射表包括与依赖关系对应的第一数据转换协议,M为大于或等于2的整数。

根据本公开的实施例,如图3所示,依赖关系例如可以包括A组件传递数据到B组件的数据传递关系,还可以包括B组件在接收到数据后相应进行的关联动作。另外,依赖关系还可以包括C组件与D组件具有的父组件与子组件之间的关系。具体地,例如将某段代码封装成C组件,而C组件又在D组件中引入。那么D组件可视为父组件,C组件可视为子组件。

在操作S220,基于依赖关系获取对应的第一数据转换协议,其中,第一数据转换协议用于将具有依赖关系的两个组件之间的传递数据进行转换。

根据本公开的实施例,第一数据转换协议例如可以是将具有依赖关系的两个组件之间的应用逻辑进行统一规范。例如A组件输出的传递数据是根据第一数据结构编程的,而B组件的输入数据结构是遵循第二数据结构的。其中,可以根据第一数据转换协议将A组件的传递数据进行转换,以使得该传递数据成功注入到B组件中。

在操作S230,更新M个组件中第一组件的状态数据。

在操作S240,基于更新后的第一组件的状态数据,通过第一数据转换协议更新M个组件中第二组件的状态数据以生成网页,其中,第二组件包括与第一组件具有依赖关系的组件。

根据本公开的实施例,首先可以在配置文件中预先配置各个组件之间的依赖关系。然后根据依赖关系获得对应的第一数据转换协议。接着,例如更新A组件的状态数据后,通过对应的第一数据转换协议,更新B组件、D组件的状态数据。其中,由于C组件与D组件之间具有依赖关系,因此,在更新D组件的状态数据过程中,相应的通过对应的第一数据转换协议自动更新C组件的状态数据。

根据本公开的实施例,例如在设计网页时,涉及到第一组件(如A组件)与第二组件(如B组件和D组件)具有数据传递关系。相关技术中,在加载四个组件后需要进行二次编程以实现各个组件之间的协作。利用本公开的实施例的网页生成方法,通过从预设的组件间映射表中获取与依赖关系对应的第一数据转换协议,能够利用第一数据转换协议将两个组件间的传递数据进行转换,例如可以将A组件的状态数据自动转换后,能够传递到B组件,然后使得B组件执行响应的关联动作。从而避免了用户手动进行数据转换操作,提高网页生成效率。

图4示意性示出了根据本公开的实施例的配置文件的摘要内容示意图。

根据本公开的实施例,在执行操作S210之前,还包括预先设置配置文件的内容,配置文件还包括:页面信息、组件配置信息和页面布局信息中的至少一种。

如图4所示,配置文件(Page config)的摘要内容包括M个组件之间的依赖关系(Linkage),具体可以包括Publisher(被依赖,自变量)、Subscriber(依赖,因变量)、Action(关联动作)等字段信息。参照图2,例如A组件的状态数据作为自变量传递至B组件,B组件的状态数据作为因变量随之发生改变,并按照Action内的信息执行关联动作。

再参照图4,页面信息(Config)可以包括Page id、Name、Time、Description、Vesion等字段信息。组件配置列表(Components list,组件配置信息)可以包括Name(组件名)、Type(组件类型)、x(组件位置信息),y(组件位置信息)、Width,Height(组件大小)等字段信息。页面布局信息(Layout)可以包括Uuid(组件唯一标识)、Name(组件名)、Type(组件类型)、Children(子组件列表)等字段信息,其中,Children可以包括子组件的Uuid、Name、Type等字段信息(例如D组件的子组件为C组件)。

根据本公开的实施例,配置文件的内容可以是按照自定义的Schema的DSL(Domain-specific language)协议进行预先设置,具体而言,参照图4,各个字段信息所代表的含义通过自定义的DSL协议统一进行规范,从而能够使用自定义的DSL协议描述网页中各个组件的UI、交互、操作和数据流。其中,Schema数据例如是渲染时要用到的一份规范化的json数据,它用于更新组件时进行数据可视化配置窗口的渲染,配置文件中可以包括Schema数据。

利用本公开实施例的网页生成方法,通过按照自定义的Schema的DSL协议进行预先设置配置文件,可以满足不同用户对于各个网页的生成要求。并在获取到配置文件后按照相同规范进行解析,从而实现高效、智能的生成网页。

根据本公开的实施例,在操作S210中获取到网页的配置文件,并通过解析配置文件获得M个组件之间的依赖关系后,参照图1,服务器105可以从预先设计的组件库内,按照依赖关系加载相应的组件。其中,组件库包括用于构建网页的多个组件,在预先设计组件库时可以按照一定的标准设定组件,具体可以参照图5。

图5示意性示出了本公开的实施例的组件库的设计示意图。

根据本公开的实施例,参照图5,可以规范组件标准,即组件库中的组件满足预先设定的标准,并记录组件之间的映射关系。

一方面,确定组件的输入输出标准,即可以用函数化的思维考虑组件,将组件视为函数,则组件的配置数据可以视为函数的输入,组件的状态数据可以视为函数的输出。

另一方面,固定组件之间的映射关系。首先,可以包括组件间映射关系(例如第一映射关系),在只关心两个组件间关系的前提下,可视为笛卡尔积的有限状态机。参照图2,A组件的第一映射关系可以包括A→B、A→D(仅为示例),D组件的第一映射关系可以包括D→C,具体地,上述箭头的方向表明了数据传递的流向。若B组件仅负责接收A组件的状态数据,那么B组件没有相应的映射关系,换言之,若B组件的状态数据会传递到A组件,则B组件的第一映射关系可以包括B→A。然后,可以包括数据查询映射关系(例如第二映射关系),即为每个组件到数据查询请求的映射,可视为组件输出的有限状态机。其中,参照图2,若D组件通过调用C组件的功能进行查询数据,那么数据查询映射可以包括A→数据查询请求,B→数据查询请求,C→数据查询请求(仅为示例)。

根据本公开的实施例,再参照图5,可以明确组件库的组件内容。例如按照组件功能划分为多类组件,譬如交互组件、展示组件等。其中,交互组件例如可以包括容器组件、响应组件等,展示组件可以包括表格组件、图形组件等。

根据本公开的实施例,继续参照图5,可以提高组件库的工程化能力。例如组件库可以具有组件独立打包、组件版本可控制、测试完备等功能。

图6示意性示出了根据本公开的实施例的预先确定第一数据转换协议和/或第二数据转换协议的流程图。

如图6所示,预先确定第一数据转换协议和/或第二数据转换协议可以包括操作S610~操作S630。

在操作S610,基于M个组件中每个组件的配置数据预先确定对应的输入数据结构。

在操作S620,基于M个组件中每个组件的状态数据预先确定对应的输出数据结构,其中,M个组件中一个组件的配置数据的改变使得该组件的状态数据改变。

根据本公开的实施例,参照图5,在用函数化的思维考虑组件时,将组件的配置数据视为函数的输入,因此可以基于每个组件的配置数据预先确定对应的输入数据结构。将组件的状态数据视为函数的输出,因此可以基于每个组件的状态数据预先确定对应的输出数据结构。

例如A组件为天气类组件,B组件为UI类组件。A组件的配置数据可以包括组件的固有属性,例如某些字段的字符串类型string、调用对象object、公共类class等。A组件的状态数据可以包括省级城市、市级城市、当前日期、天气情况等参数。例如A组件的表征当前日期的天气情况为晴时,其天气属性weather=1(仅为示例),其中weather的值为数值形式。而B组件可以接收字符串形式作为输入数据,例如接收weather=sunny,并展示符合晴天主题的图片。

在操作S630,基于输入数据结构和输出数据结构中的至少一种来确定第一数据转换协议和/或第二数据转换协议。

图7示意性示出了根据本公开的实施例的预设组件间映射表的流程图。

如图7所示,预设组件间映射表可以包括操作S710~操作S730。

在操作S710,获得M个组件间的第一映射关系,其中,第一映射关系包括至少两个组件间数据传递的流向,依赖关系包括第一映射关系。

在操作S720,基于第一映射关系确定对应的第一数据转换协议,其中,第一数据转换协议用于基于输入数据结构和输出数据结构将至少两个组件间的传递数据进行转换。

在操作S730,将第一映射关系和对应的第一数据转换协议相关联地存储以设置组件间映射表。

根据本公开的实施例,参照图2和图5,首先,可以从组件库中获取M个组件间的第一映射关系。然后,以A组件和B组件为例,根据A→B的映射关系,并从组件库确定A组件的输出数据结构,以及B组件的输入数据结构。接着,确定A组件与B组件之间的第一数据转换协议,换言之,第一数据转换协议可以将A组件的状态数据转换为B组件可以接收的数据。最后,将A→B,以及对应的第一数据转换协议相关联地存储以设置组件间映射表。

利用本公开实施例的网页生成方法,通过预设组件间映射表,可以在生成网页时从组件间映射表中获取与依赖关系对应的两个组件间的数据转换协议,从而能够利用第一数据转换协议将两个组件间的传递数据进行转换,例如无需用户手动对A组件和B组件之间的数据进行转换,实现智能解析,提高网页生成效率。

图8示意性示出了根据本公开的实施例的预设数据查询映射表的流程图。

如图8所示,预设数据查询映射表可以包括操作S810~操作S830。

在操作S810,获得M个组件中每个组件与数据查询请求的第二映射关系,其中,依赖关系包括第二映射关系。

在操作S820,基于第二映射关系确定对应的第二数据转换协议,其中,第二数据转换协议用于基于每个组件的输出数据结构将该组件的状态数据转换为数据查询请求。

在操作S830,将第二映射关系和对应的第二数据转换协议相关联地存储以设置数据查询映射表。

根据本公开的实施例,参照图2和图5,首先,可以从组件库中获取每个组件与数据查询请求的第二映射关系,例如A组件→数据查询请求。然后,根据A组件的输出数据结构与数据查询请求的数据结构,确定对应的第二数据转换协议。最后,将A组件→数据查询请求,以及对应的第二数据转换协议存储在数据查询映射表中。

利用本公开实施例的网页生成方法,通过预设数据查询映射表,可以在组件调用外部数据时,通过第二数据转换协议获取数据查询请求,无需手动转换,提高组件更新效率。

图9示意性示出了根据本公开的另一实施例的网页生成方法的流程图。

如图9所示,本公开实施例的网页生成方法除包括操作S210、操作S220、操作S240之外,还可以包括操作S910~操作S930。其中,操作S210、操作S220、操作S240在此不做赘述。

在操作S910,基于配置文件中初始的第一组件的状态数据获得数据查询请求。

在操作S920,获取与数据查询请求对应的查询数据。

在操作S930,基于查询数据更新第一组件的状态数据。

根据本公开的实施例,以A组件为天气类组件为例,首先,加载A组件后,其初始化状态可能为空值,即没有显示天气情况。然后,根据城市、日期等信息获得数据查询请求。接着,获取与城市、日期等对应的天气数据(即查询数据)。最后,将天气数据注入到A组件中,以更新其状态数据。

利用本公开实施例的网页生成方法,可以在预先设定配置文件内容的阶段一次性完成网页的设计工作,然后可以通过智能解析配置文件,向外部请求数据以自动更新网页的各个组件。

图10示意性示出了根据本公开的实施例的操作S910中获得数据查询请求的流程图。

如图10所示,在操作S910中基于配置文件中初始的第一组件的状态数据获得数据查询请求可以包括操作S1010~操作S1030。

在操作S1010,获取预设的数据查询映射表,其中,数据查询映射表包括与M个组件一一对应的M个第二数据转换协议。

在操作S1020,基于第一组件获取对应的第二数据转换协议。

在操作S1030,基于第二数据转换协议将初始的第一组件的状态数据进行转换来获得数据查询请求。

图11示意性示出了根据本公开的实施例的操作S920中获取与数据查询请求对应的查询数据的流程图。

如图11所示,在操作S920中获取与数据查询请求对应的查询数据可以包括操作S1110~操作S1140。

在操作S1110,获得接口列表,其中,接口列表包括至少一个第一查询接口,以及每个第一查询接口的筛选条件。

根据本公开的实施例,可以预先自定义数据查询协议,该协议中可以定义一个接口全量列表查询API,使得其为模型抽象接口,映射一类逻辑模型。即网页的任一组件在请求查询数据时可以先调用该API请求全量的接口列表,该接口列表中可以包括所有为网页生成而服务的接口。

本公开的一个实施例中的接口全量列表查询API信息如下(仅为示例):

其中,字段searchKey的值可以为预先设定的搜索词,字段interfaceId的值可以为各个接口的ID,字段interfaceName的值可以为各个接口的名称。data中还可以包括各个接口的其他信息。

在操作S1120,基于依赖关系中的标识信息,获取第一组件对应的第一查询接口的筛选条件,其中,标识信息包括第一组件对应的第一查询接口的标识。

根据本公开的实施例,例如自定义数据查询协议中可以定义一个单一接口的数据结构查询API,可以根据接口ID(如第一查询接口的标识)获得第一查询接口的筛选条件。即在通过接口全量列表查询API获得接口列表后,可以进一步调用单一接口的数据结构查询API获得第一查询接口的筛选条件。

本公开的一个实施例中的单一接口的数据结构查询API信息如下(仅为示例):

根据本公开的实施例,例如自定义数据查询协议中可以定义一个接口字段查询API,可根据接口id,字段id、code等进一步查询字段信息。

本公开的一个实施例中的接口字段查询API信息如下(仅为示例):

其中,字段key、name、type和children例如表明调用第一查询接口时输入的相关信息。

在操作S1130,基于筛选条件,将数据查询请求中的查询信息作为第一查询接口的输入,其中,查询信息与初始的第一组件的状态数据对应。

根据本公开的实施例,例如通过第二数据转换协议,将初始的第一组件的状态数据进行转换得到查询信息。该查询信息例如可以包括字段key、name、type和children等部分信息,然后作为第一查询接口的输入。

在操作S1140,获取第一查询接口返回的查询数据。

根据本公开的实施例,通过自定义查询协议,定义接口全量列表查询API、单一接口的数据结构查询API、接口字段查询API,层层递进查询,满足不同组件请求查询数据的方式。需要说明的是,可以在依赖关系中配置组件直接调用上述API的任一个,例如在配置文件中已有字段id的情况下,可以直接调用接口字段查询API。

根据本公开的实施例,第二数据查询协议可以将组件的状态数据转换为数据查询请求,其中,不同的查询接口可以对应不同的数据查询请求。因此,每个组件对应的第二数据查询协议可以用于,根据依赖关系中每个组件对应的第一查询接口,将该组件的状态数据转换为对应于该第一查询接口的数据查询请求。

图12示意性示出了根据本公开的又一实施例的网页生成方法的流程图。

如图12所示,本公开实施例的网页生成方法除包括操作S210、操作S220、操作S240之外,还可以包括操作S1210~操作S1220。其中,操作S210、操作S220、操作S240在此不做赘述。

在操作S1210,接收针对第一组件的执行动作。

在操作S1220,响应执行动作更新第一组件的状态数据。

根据本公开的实施例,例如通过解析配置文件加载网页的M个组件后,可以通过用户针对第一组件的执行动作,对组件进行相应的更新。具体地,参照图2,例如用户可以更改C组件与D组件之间的依赖关系,将C组件作为B组件的子组件。另外,用户可以通过可视化拖拽设计确定各个组件的大小、位置、展示内容等。

利用本公开实施例的网页生成方法,能够根据用户的执行动作,智能解析用户需求,从而高效率的进行各个组件的更新。

图13示意性示出了根据本公开的实施例的网页生成装置1300的框图。

如图13所示,网页生成装置1300可以包括第一获取模块1310、第二获取模块1320、第一更新模块1330和第二更新模块1340。

第一获取模块1310例如可以执行操作S210,用于获取网页的配置文件、以及预设的组件间映射表,其中,配置文件包括网页的M个组件之间的依赖关系,每个依赖关系包括两个组件之间的数据传递关系,组件间映射表包括与依赖关系对应的第一数据转换协议,M为大于或等于2的整数。

第二获取模块1320例如可以执行操作S220,用于基于依赖关系获取对应的第一数据转换协议,其中,第一数据转换协议用于将具有依赖关系的两个组件之间的传递数据进行转换。

第一更新模块1330例如可以执行操作S230,用于更新M个组件中第一组件的状态数据。

第二更新模块1340例如可以执行操作S240,用于基于更新后的第一组件的状态数据,通过第一数据转换协议更新M个组件中第二组件的状态数据以生成网页,其中,第二组件包括与第一组件具有依赖关系的组件。

根据本公开的实施例,网页生成装置1300还可以包括转换协议模块。转换协议模块例如可以执行操作S610~操作S630,用于预先确定第一数据转换协议和/或第二数据转换协议,具体包括:基于M个组件中每个组件的配置数据预先确定对应的输入数据结构。基于M个组件中每个组件的状态数据预先确定对应的输出数据结构,其中,M个组件中一个组件的配置数据的改变使得该组件的状态数据改变。基于输入数据结构和输出数据结构中的至少一种来确定第一数据转换协、议和/或第二数据转换协议。

根据本公开的实施例,网页生成装置1300还可以包括组件间映射表模块。组件间映射表模块例如可以执行操作S710~操作S730。用于预设组件间映射表,具体包括:获得M个组件间的第一映射关系,其中,第一映射关系包括至少两个组件间数据传递的流向,依赖关系包括第一映射关系。基于第一映射关系确定对应的第一数据转换协议,其中,第一数据转换协议用于基于输入数据结构和输出数据结构将至少两个组件间的传递数据进行转换。将第一映射关系和对应的第一数据转换协议相关联地存储以设置组件间映射表。

根据本公开的实施例,网页生成装置1300还可以包括数据转换映射表模块。数据转换映射表模块例如可以执行操作S810~操作S830。用于预设数据查询映射表,具体包括:获得M个组件中每个组件与数据查询请求的第二映射关系,其中,依赖关系包括第二映射关系。基于第二映射关系确定对应的第二数据转换协议,其中,第二数据转换协议用于基于每个组件的输出数据结构将该组件的状态数据转换为数据查询请求。将第二映射关系和对应的第二数据转换协议相关联地存储以设置数据查询映射表。

根据本公开的实施例,第一更新模块1330例如还可以执行操作S910~操作S930。用于基于配置文件中初始的第一组件的状态数据获得数据查询请求。获取与数据查询请求对应的查询数据。基于查询数据更新第一组件的状态数据。

根据本公开的实施例,第一更新模块1330例如还可以执行操作S1010~操作S1030。用于获取预设的数据查询映射表,其中,数据查询映射表包括与M个组件一一对应的M个第二数据转换协议。基于第一组件获取对应的第二数据转换协议。基于第二数据转换协议将初始的第一组件的状态数据进行转换来获得数据查询请求。

根据本公开的实施例,第一更新模块1330例如还可以执行操作S1110~操作S1140。用于获得接口列表,其中,接口列表包括至少一个第一查询接口,以及每个第一查询接口的筛选条件。基于依赖关系中的标识信息,获取第一组件对应的第一查询接口的筛选条件,其中,标识信息包括第一组件对应的第一查询接口的标识。基于筛选条件,将数据查询请求中的查询信息作为第一查询接口的输入,其中,查询信息与初始的第一组件的状态数据对应。获取第一查询接口返回的查询数据。

根据本公开的实施例,第一更新模块1330例如还可以执行操作S1210~操作S1220。用于接收针对第一组件的执行动作。响应执行动作更新第一组件的状态数据。

根据本公开的实施例,网页生成装置1300还可以包括配置文件模块,用于预先设置配置文件的内容。配置文件还包括:页面信息、组件配置信息和页面布局信息中的至少一种。

图14示意性示出了根据本公开的另一实施例的网页生成装置1400的框图。图15示意性示出了根据本公开的实施例的网页生成装置1400的操作流程图。

如图14所示,网页生成装置1400例如可以包括Runtime模块(运行时模块)1410、渲染模块1420、适配模块1430、适配器模块1440、组件库模块1450和Schema(DSL)模块1460。下面结合图15详细说明各个模块的作用。

如图15所示,网页生成装置1400的操作流程图可以包括操作S1501~操作S1510。

在操作S1501,Runtime模块1410向Schema(DSL)模块1460请求获取配置文件(例如包括与各个组件相关的Schema数据)。

在操作S1502,Runtime模块1410获得Schema(DSL)模块1460返回的配置文件。

根据本公开的实施例,Runtime模块1410可以包括运行时系统,该运行时系统可以为一种把半编译的运行码(半编译半解释性语言)在用户使用的终端设备上运行的环境。Schema(DSL)模块1460可以根据提前配置的通用Schema数据,以及DSL协议,基于用户的执行动作,对应生成某个网页的配置文件,然后存储到数据库中。其中,Schema(DSL)模块1460在接收到Runtime模块1410的请求后,可以从数据库获取该网页的配置文件。

在本公开一些实施例中,例如可以不再设置Schema(DSL)模块1460。Runtime模块1410可以直接从数据库获取某个网页的配置文件,该配置文件包括生成该网页的设计需求,例如各个组件相关的Schema数据。其中,用户可以根据通用Schema数据,以及DSL协议自行设置配置文件后存储在数据库中。

在操作S1503,Runtime模块1410解析配置文件获得组件树结构,并加载组件间映射表、数据查询映射表,其中,组件树结构中包括各个组件间的依赖关系。

在操作S1504,Runtime模块1410基于组件树结构向组件库模块1450请求加载生成网页的各个组件。

在操作S1505,Runtime模块1410获取到组件库模块1450返回的各个组件,并进行加载。组件库模块1450可以包括组件库,该组件库中包括各个组件,参照图5和图14,在此不做赘述。

在操作S1506,Runtime模块1410可以调用适配模块1430,基于组件间的依赖关系,按照组件间映射表从适配器模块1440请求加载组件间适配器。按照数据查询映射表从适配器模块1440请求加载数据查询适配器。

根据本公开的实施例,适配器模块1440可以包括组件间适配器,参照图2,如A→BAdapter、A→D Adapter、D→C Adapter。其中,箭头“→”表明第一映射关系,具体可以参照操作S220。适配器模块1440还可以包括数据查询适配器。其中,例如A→B Adapter可以通过对应的第一数据转换协议,将A组件的状态数据转换为B组件可以接收的数据。相应的,A组件对应的数据查询适配器可以通过对应的第二数据转换协议,将A组件的状态数据转换为数据查询请求。

根据本公开的实施例,适配器对单一组件笛卡尔积覆盖率100%。根据定义的组件输入、输出数据结构,完成单一组件间笛卡尔积的组件间适配器定义。在本公开的一些实施例中,还可以包括多组件组合的适配器。另外,适配器对单一组件的查询转换覆盖度100%,根据组件定义的输出数据结构,实现组件输出到数据查询请求的数据查询适配器。并且适配器模块1440还可以具备适配器支持独立打包、适配器版本可控制、适配器工厂与组件库联合单元测试完备等功能。

在操作S1507,Runtime模块1410获取适配器并加载。

在操作S1508,Runtime模块1410调用渲染模块1420启动页面渲染,并根据Schema数据向数据库发出数据查询请求。

在操作S1509,Runtime模块1410获取查询数据,完成数据转换,并注入到相应组件。并调用渲染模块1420根据组件间依赖关系,遍历完成所有组件更新,完成网页生成。

在操作S1510,Runtime模块1410接收执行动作,并响应执行动作,完成组件更新。具体可以参照操作S1210~操作S1220,在此不做赘述。

图16示意性示出了根据本公开的另一实施例的网页生成装置1400的操作流程图。

如图16所示,本公开实施例的网页生成装置1400的操作流程可以包括操作S1610~操作S1650。

在操作S1610,对配置文件中Schema数据进行解析。

在操作S1620,获得组件树结构,并获得各个组件之间的依赖关系。

在操作S1630,根据依赖关系请求从适配器模块加载组件间适配器和数据查询适配器。

在操作S1640,加载组件间适配器和数据查询适配器,注入到运行时环境和组件的HOC中,供组件使用。其中,HOC可以是一个函数,HOC接收一个组件作为参数后,然后返回一个新组件。HOC主要用于组件间逻辑复用,例如写了几个组件,逻辑几乎相同,可以用HOC对组件进行封装。

在操作S1650,其中,一个组件的Inputdata(例如包括配置数据)可以是另一个组件的Outputdata(例如包括状态数据)经过组件间适配器转换得到。然后,根据Actions内的信息进行渲染更新组件。其中,Actions可以是组件的关联动作信息,可以参照图4。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,网页生成装置1300和网页生成装置1400的模块中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,网页生成装置1300和网页生成装置1400中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,网页生成装置1300和网页生成装置1400中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图17示意性示出了根据本公开实施例的适于实现网页生成方法和装置的计算机系统的方框图。图17示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图17所示,根据本公开实施例的计算机系统1700包括处理器1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。处理器1701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1701还可以包括用于缓存用途的板载存储器。处理器1701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1703中,存储有系统1700操作所需的各种程序和数据。处理器1701、ROM1702以及RAM 1703通过总线1704彼此相连。处理器1701通过执行ROM 1702和/或RAM 1703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1702和RAM 1703以外的一个或多个存储器中。处理器1701也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统1700还可以包括输入/输出(I/O)接口1705,输入/输出(I/O)接口1705也连接至总线1704。系统1700还可以包括连接至I/O接口1705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被处理器1701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的网页生成方法。

在该计算机程序被处理器1701执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1709被下载和安装,和/或从可拆卸介质1711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号