掌桥专利:专业的专利平台
掌桥专利
首页

一种基于云组件的产业全链路编排方法

文献发布时间:2023-06-19 19:30:30


一种基于云组件的产业全链路编排方法

技术领域

本发明涉及互联网软件研发方法技术领域,具体为一种基于云组件的产业全链路编排方法。

背景技术

随着产业的发展出现越来越多的行业,各个行业利用互联网在不同交易平台上进行交易,由于行业的不同,导致不同交易平台上的交易模式也不同,从而导致互联网软件在技术研发阶段代码能力的复用性和灵活性不够理想,并且难以在一种基础能力上扩展至全链路编排。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种基于云组件的产业全链路编排方法,解决了不同交易平台上的交易模式也不同,从而导致互联网软件在技术研发阶段代码能力的复用性和灵活性不够理想,并且难以在一种基础能力上扩展至全链路编排的问题。

(二)技术方案

为实现上述目的,本发明提供如下技术方案:一种基于云组件的产业全链路编排方法,包括以下步骤:

步骤一、云组件开发,对云组件进行结构化定义标注;

步骤二、在每个结构位置上去做埋点;主要围绕组件的生命周期进行埋点,保证当组件在加载渲染的时候按照正确的顺序读取并执行业务结构描述信息内的内容;

步骤三、组件发布,将云组件发布到云仓库中进行统一管理使用;网上主流的NPM本地仓库管理工具可以管理独立的代码,这里可以选择不同的开源社区管理方案来进行管理;

所述云组件是一套可基于云服务器进行独立托管管理的业务组件库,业务组件库可独立部署在云端,每个业务组件都有独立的网络标识,网络标识(托管的服务器IP+仓库标识+业务组件ID)共同组成;

所述结构化定义标注是包括了结构位置,事件,埋点三部分;结合在一起就是在某结构位置,触发某个事件,每一个事件激活埋点,埋点做一些具体的事情并做出相应反馈;每个业务组件都有结构化定义标注,这些标注是提前编写在程序中的;

在客户端使用时会自动根据识别到的组件的唯一网络识别号(ID),自动像所在服务器仓库拉取云组件本身内容以及和各服务器API之间的关系,渲染在客户端,呈现出本身的UI+逻辑数据;

云组件的好处是不在客户端保存,大大减少客户端首次加载的包大小,通过ID标识获取客户端内部所有组件进行下载缓存,并根据组件本身存储。

优选的,所述云组件的标准化结构区域包括初始化数据、交互事件区域、hooks事件区域、冗余数据区域以及通信链。

优选的,所述云组件存在生命周期,所述生命周期包括beforeCreate(创建前)、created(创建后)、beforeMount(挂载开始前)、Mounted(挂载完成)、beforeUpdate(数据更新前)、updated(数据更新后)、beforeDestroy(销毁前)和destroyed(销毁后),所述beforeCreate(创建前)对应结构埋点为通信链,所述created(创建后)对应结构埋点为冗余数据,所述Mounted(挂载完成)对应结构埋点为初始化。

优选的,所述组件开发模式包括本地组件开发以及云组件开发;本地组件和云组件,是两种管理模式,本地组件开发完成后发布在服务器本身的机器上,给自己使用,受本地机房网络和内存限制,云组件是发布到云服务的机器上进行管理。

优选的,所述本地组件遇到相同应用时选择的方式为复制代码到修改代码,所述云组件以组件驱动的方式进行开发;客户端在渲染界面的时候,加载到对应的1个或多个组件,组件自身会独立运作,去根据各自结构位置上的埋点进行自动运行,不受外界或其他组件影响,完成各自的业务使命,所有组件结束渲染后为客户端呈现一个完整的业务能力。

优选的,所述云组件结构拥有一套或者两套以上对应的业务结构描述信息,所述业务结构描述信息为一组标准化数据结构,用来对应以上结构所要做的事情,其保存在数据库或本地,是标准化的JSON数据结构,所述云组件在读取到对应的业务描述信息后,每个区域会按照自己定义的关键字key去读取数据当中的配置信息,继而得到一个完整的可直接使用的组件。

(三)有益效果

本发明提供了一种基于云组件的产业全链路编排方法,具备以下有益效果:

本发明通过开发阶段对一个具有单一功能单元代码的片段进行定义,在开发阶段实现组件的内聚化,标准的结构化管理,在组件结构标准定义划分完以后,我们需要在每个结构位置上去做埋点,主要围绕组件的生命周期进行埋点,保证当组件在加载渲染的时候按照正确的顺序读取并执行业务结构描述信息内的内容,然后将组件发布到云仓库内进行统一管理使用,可以大幅度提升研发效率和技术能力的复用性及灵活性,同时可以有效提升组件的扩展性,增强个性化能力,增强二次开发能力,灵活拓展业务特性,对应用做离散处理实现组合编排能力。

附图说明

图1为本发明方法流程图;

图2为本发明运行机制图;

图3为本发明生命周期钩子对应关系示意图;

图4为本发明本地组件开发模式图;

图5为本发明云组件开发模式图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-5所示,本发明提供一种技术方案:一种基于云组件的产业全链路编排方法,包括以下步骤:

步骤一、云组件开发,对云组件进行结构化定义标注;

步骤二、在每个结构位置上去做埋点,主要围绕组件的生命周期进行埋点,保证当组件在加载渲染的时候按照正确的顺序读取并执行业务结构描述信息内的内容;

步骤三、组件发布,将云组件发布到云仓库中进行统一管理使用,网上主流的NPM本地仓库管理工具可以管理独立的代码,这里可以选择不同的开源社区管理方案来进行管理。

所述云组件是一套可基于云服务器进行独立托管管理的业务组件库,业务组件库可独立部署在云端,每个业务组件都有独立的网络标识,网络标识(托管的服务器IP+仓库标识+业务组件ID)共同组成;

所述结构化定义标注是包括了结构位置,事件,埋点三部分;结合在一起就是在某结构位置,触发某个事件,每一个事件激活埋点,埋点做一些具体的事情并做出相应反馈;

例如:用户点击遥控器开启空调制冷,在空调内就是:在空调启动时的位置,触发一个空调制冷事件,激活空调测温埋点,并根据测温的反馈,来触发一个按照不同的温度区间自动更改空调风量/温度的信号发送给空调制冷模块。

每个业务组件都有结构化定义标注,这些标注是提前编写在程序中的;

事件分为主动事件和被动事件;

主动事件:组件渲染在客户端后,由用户去主动触发(点击,鼠标划过等)所产生的一些列反馈。

被动事件:组件在客户端渲染时,每当渲染到一定的程度,会触发一些额外的事件,事件可能会获取业务组件和外界服务的一些关系数据,依赖数据等一同渲染出一个完整的客户端视图界面,随着外界关系的动态变化,可为用户客户端渲染出不同的客视图界面。

结构位置:就是这些事件所能获取到的触发条件。例如:空调自动模式,空调在开启时会自动检测外界温度,这个开启时做了一件XX事情的过程,就是在某个结构位置触发了一个XX事件,这个要做的事情,我们把他保存在特定的服务器上,当空调启动时会自动像某个服务器API获取一串数据,这个数据来决定空调需要做什么,在上面例子中,空调获取到的数据指示空调需要自动检测外界温度。检测完外界温度,再触发一个规则,根据不同温度,调整当前空调的输出功率,来达到智能调整空调制冷(制热)效果的一个过程。

埋点:按照上面的例子,埋点就是检测外界温度这个小型检测设备,需要在空调生产时预制到空调里,通过结构位置触发事件后拿到的指令为空调检测外界温度后,利用预置的埋点像空调温度检测模块发送信号,开启检测,埋点还会对温度检测模块回传的温度检测结果进行识别,识别后埋点再像空调(制冷,或制热)模块发送对应的指令。

在客户端使用时会自动根据识别到的组件的唯一网络识别号(ID),自动像所在服务器仓库拉取云组件本身内容以及和各服务器API之间的关系,渲染在客户端,呈现出本身的UI+逻辑数据;

云组件的好处是不在客户端保存,大大减少客户端首次加载的包大小,通过ID标识获取客户端内部所有组件进行下载缓存,并根据组件本身存储。

进一步的,所述云组件的标准化结构区域包括初始化数据、交互事件区域、hooks事件区域、冗余数据区域以及通信链;

初始化数据:在组件UI加载前获取的第一份数据,用来和UI一同进行渲染;

交互事件:组件对用户提供的各种用户操作事件的响应行为(单击,双击,鼠标悬浮等标准化事件);

Hooks事件:基于交互事件产生的hooks,交互事件所产生的新数据,将通过使用者定制的hooks发送到服务器;

冗余数据:可以在组件定制一组自定义数据,组件在做交互时会携带这部分元数据进行传递,这组数据提供方可以是自定义服务产生也可以是静态数据;

通信链:提供链式组件通信机制,当多个组件组合在一起使用时会产生链式效应,一个完整的用户交互页面可以由多个组件组合编排形成,组件间的相互通信由通信链来对接。

进一步的,所述云组件存在生命周期,所述生命周期包括beforeCreate(创建前)、created(创建后)、beforeMount(挂载开始前)、Mounted(挂载完成)、beforeUpdate(数据更新前)、updated(数据更新后)、beforeDestroy(销毁前)和destroyed(销毁后),所述beforeCreate(创建前)对应结构埋点为通信链,这个时候,因为组件本身还没有形成真实DOM,所以在这个节点对当前组件做一些个性化和动态的处理,相当于一个工厂节点,接收上个组件传递过来的数据,按照数据要求完成当前组件的真实构建,(样式,组件的拼装),所述created(创建后)对应结构埋点为冗余数据,被预留的数据,这个时候也是需要读取当前组件对应的业务结构描述信息,获取到预留的冗余数据,进行缓存,所述Mounted(挂载完成)对应结构埋点为初始化,这个节点,需要读取当前组件对应的业务结构描述信息;

脚本定义及事件对应关系:每个UI用户操作都有对应的交互事件,基于Html标准定义的,这里要做的事情就是需要开发人员在开发组件的时候,如果遇到标准的交互事件,需要埋入一个JSDK函数,一个标准的钩子函数,用来识别当前的事件并读取业务结构描述信息做对应的处理,其中Hooks服务比较特殊,他是为了描述服务间通信的,用来标识当前业务处理完后,数据还需要送到哪个服务器去,这样定义的好处在于,本地服务处理完业务信息后,这个数据还可以流转到其他应用去做对应的扩展处理。

进一步的,所述组件开发模式包括本地组件开发以及云组件开发;本地组件和云组件,是两种管理模式,本地组件开发完成后发布在服务器本身的机器上,给自己使用,受本地机房网络和内存限制,云组件是发布到云服务的机器上进行管理。

进一步的,所述本地组件遇到相同应用时选择的方式为复制代码到修改代码;所述云组件以组件驱动的方式进行开发,定义发布阶段完成后,如果组件云端直接可用,可通过业务结构描述信息对组件进行自定义描述,大致分为几个方向:

1.通过通信链使组件样式进行改变,同一个组件可以改变不同的UI样式;

2.通过通信链定义使多个组件合成一个复合组件及策略;

3.通过对当前组件事件列表的描述,使用户在当前页面操作中产生的交互数据可链接不同的的主服务进行业务处理;

4.通过hooks可定义,服务器在做用户处理完成后的数据发送至对应的子服务器;

在本地页面中可以实现在不同引用间使用同一个基础组件,利用不同的扩展点(结构化区域)进行个性化建设,可以改变组件的样式,行为,用户的行为以及数据的业务逻辑处理。

如图4所示,本地组件的开发模式为:终端设备应用利用不同供应链节点的搭建和串联进行组合,

组合为一个新的供应链节点进行数据存储;

新的供应链节点会以新组件的形式存在于组件库中;每个组件中的业务数据不同,串联后形成的业务模式也不同,最终会形成一个大的供应链网络体系即组件节点体系。

客户端在渲染界面的时候,加载到对应的1个或多个组件,组件自身会独立运作,去根据各自结构位置上的埋点进行自动运行,不受外界或其他组件影响,完成各自的业务使命,所有组件结束渲染后为客户端呈现一个完整的业务能力。

进一步的,所述云组件结构拥有一套或者多套对应的业务结构描述信息,所述业务结构描述信息为一组标准化数据结构,用来对应以上结构所要做的事情,其保存在数据库或本地,是标准化的JSON数据结构,云组件在读取到对应的业务描述信息后,每个区域会按照自己定义的关键字key去读取数据当中的配置信息,继而得到一个完整的可直接使用的组件;

标准数据结构定义骨架:

/>

例如一个简单的购物车组件,组件的图形界面:

当前组件的业务结构描述信息(为了简化可读性,下面对照所有关键字皆为中文表述,实际定义中会定义为英文)。

/>

如图5所示,云组件的开发模式为:组件开发人员发布信息到云仓库,云仓库接收到信息后将信息引用或组合发送给客户端应用,同时应用开发人员将开发好程序组合起来发送给客户端应用,所述组件开发人员、云仓库和应用开发人员都使用同一个可视化交互文档;所述客户端应用通过多个扩展点根据不同的策略数据进行基础服务和行业拓展服务,服务内容都将发送给数据服务。

云组件的开发模式具体包括以下内容:

1.开发人员将所有业务能力,细分并发布至云仓库进行统一调配管理;

2.云仓库接收到信息后将信息引用或组合发送给客户端应用;

3.同时应用开发人员将开发好程序组合起来发送给客户端应用;

4.在使用时,通过可视化交互文档,对不同业务单元能力进行组合和编排;

5.使业务单元能力形成一套完整的业务完整闭环流程;

6.组合后的业务流程被客户端应用所引用按需使用;

7.客户端应用除完整业务闭环流程能力的使用以外,还可按需把单元能力接入到扩展点上来扩展整个用户操作及业务能力的建设;

8.客户端把对应能力和策略数据进行双向绑定,形成一套完整的行业扩展服务;

9.所述客户端应用通过多个扩展点根据不同的策略数据进行基础服务和行业拓展服务;

10.所有经由行业扩展服务流通的数据最终会流向独立的数据存储单元中。

解释:这套业务描述信息描述了一个购物车组件的具体内容。

1.当用户在点击商品数量加减时,都会通过交互事件里,事件名称为[商品数量选择试算]的服务API:http://xxx/xx/api获取结果数据;

2.当用户点击结算时,结算成功后,服务器将会根据hooks事件内事件名称为”结算事件”的服务API进行远程通信,把成功的数据发送到这个服务器上使用;

3.冗余数据,这里可以定义任意数据,会作为hooks事件的附加数据一起传输至服务器

优势:可以根据业务结构描述信息生产不同的组件;组件内的交互事件,可以根据业务结构描述信息进行改变;用户交互的业务数据,可以分发至多个渠道(内部服务或外部三方服务)。

例:用户在A平台加商品到购物车下单,可以利用hooks触发天猫下单接口进行同步下单操作。

综上可得,本发明的工作流程:开发阶段对一个具有单一功能单元代码的片段进行定义,在开发阶段实现组件的内聚化,标准的结构化管理,在组件结构标准定义划分完以后,我们需要在每个结构位置上去做埋点,主要围绕组件的生命周期进行埋点,保证当组件在加载渲染的时候按照正确的顺序读取并执行业务结构描述信息内的内容,然后将组件发布到云仓库内进行统一管理使用,可以大幅度提升研发效率和技术能力的复用性及灵活性,同时可以有效提升组件的扩展性,增强个性化能力,增强二次开发能力,灵活拓展业务特性,对应用做离散处理实现组合编排能力。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 一种组件编排方法和系统
  • 一种基于云函数和BPMN规范的云资源编排方法
  • 一种基于云函数和BPMN规范的云资源编排方法
技术分类

06120115938439