工业互联网的租赁产品的配置方法和装置
技术领域
本发明涉及工业互联网技术领域,尤其是涉及工业互联网的租赁产品的配置方法和装置。
背景技术
作为一个工业互联网设备租赁平台其上运营的业务会涉及到很多种差别较大的产品,为了满足各类产品能公用一个平台,而且还要体现出这些产品的差异化特性。在设计和实施的过程中需要考虑提供可视化的产品结构和操作页面的配置功能,客户在不需要技术和测试人员参与的情况下独立完成产品属性和操作页面定义和动态扩展,且自动完成热发布。
目前,为了适应多种产品属性和页面元素的变化,主要采用两种方式。第一种方式是采用结构化存储,结合多种前端开发框架做简单的公共组件封装,在有别于其他产品的新产品上线的时候,技术和测试人员参与配置存储结构和页面元素,并通过发布上线。但是这种方式,对于差异较大的每类产品和设备,都需要开发人员和测试人员进行开发或配置,从而增加平台的运营成本,实现和测试周期长。
第二种方式是在产品和设备属性初始定义时预留多个属性和字段,这些属性对应于多个基础页面标签,在存储结构和页面元素不用改变的情况下,需要运维人员或者客户参与配置预留属性和字段的业务意义和校验逻辑。采用这种方式预留的字段需要用户自己参与配置,使用户体验差。
发明内容
有鉴于此,本发明的目的在于提供工业互联网的租赁产品的配置方法和装置,用户或运维人员通过配置功能实现产品的配置和发布,提高运维效率和用户体验,节约成本。
第一方面,本发明实施例提供了工业互联网的租赁产品的配置方法,应用于服务器,所述方法包括:
获取基础属性标签、表单配置模板和表单元素组件;
根据所述基础属性标签,得到客户公共属性;
根据所述基础属性标签和所述客户公共属性,得到业务对象的属性集;
对所述业务对象的属性集进行配置,得到对象属性配置结果;
对所述表单配置模板和所述表单元素组件进行配置,得到操作表单配置结果;
将所述对象属性配置结果和所述操作表单配置结果进行校验和热部署,得到部署结果。
进一步的,所述表单配置模板通过以下方式获取:
对单个对象操作的表单或者多个对象关联后的表单进行配置,得到所述表单配置模板。
进一步的,所述方法还包括:
根据所述表单元素组件定义页面元素;
将所述页面元素或所述基础属性标签增加到所述表单配置模板中;
其中,所述基础属性标签包括至少包括设备名称、设备价格、还租周期和产品规格;所述表单元素组件包括页面组件和操作组件,所述页面组件至少包括日期组件、时间区间、单行文本框组件、多行文本框、多选组件、单选组件、金额组件和审核意见组件,所述操作组件至少包括提交按钮、返回按钮和查询按钮。
进一步的,所述对所述业务对象的属性集进行配置,得到对象属性配置结果,包括:
对所述业务对象对应的表和字段进行操作处理,得到所述对象属性配置结果;
其中,所述操作处理至少包括增加操作、删除操作、修改操作和查询操作。
进一步的,所述对所述表单配置模板和所述表单元素组件进行配置,得到操作表单配置结果,包括:
将所述页面组件和所述操作组件增加到所述表单配置模板中,得到所述操作表单配置结果。
进一步的,所述方法还包括:
调用引擎将获取的日志存储到日志文件中;
判断所述日志文件中是否存在异常信息;
如果存在,则根据所述异常信息确定用户配置问题信息。
进一步的,所述方法还包括:
接收客户端发送的请求信息,所述请求信息包括新增加的标签脚本和修改的标签脚本;
将所述新增加的标签脚本和所述修改的标签脚本通过语法解析器进行解析,得到解析信息;
判断所述解析信息中是否存在异常信息;
如果不存在,则校验通过;
如果存在,则校验不通过。
第二方面,本发明实施例提供了工业互联网的租赁产品的配置装置,所述装置包括:
获取模块,用于获取基础属性标签、表单配置模板和表单元素组件;
客户公共属性获取模块,用于根据所述基础属性标签,得到客户公共属性;
业务对象属性集获取模块,用于根据所述基础属性标签和所述客户公共属性,得到业务对象的属性集;
第一配置模块,用于对所述业务对象的属性集进行配置,得到对象属性配置结果;
第二配置模块,用于对所述表单配置模板和所述表单元素组件进行配置,得到操作表单配置结果;
校验模块,用于将所述对象属性配置结果和所述操作表单配置结果进行校验和热部署,得到部署结果。
第三方面,本发明实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
第四方面,本发明实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。
本发明实施例提供了工业互联网的租赁产品的配置方法和装置,应用于服务器,包括:获取基础属性标签、表单配置模板和表单元素组件;根据基础属性标签,得到客户公共属性;根据基础属性标签和客户公共属性,得到业务对象的属性集;对业务对象的属性集进行配置,得到对象属性配置结果;对表单配置模板和表单元素组件进行配置,得到操作表单配置结果;将对象属性配置结果和操作表单配置结果进行校验和热部署,得到部署结果,用户或运维人员通过配置功能实现产品的配置和发布,提高运维效率和用户体验,节约成本。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的工业互联网的租赁产品的配置方法流程图;
图2为本发明实施例二提供的工业互联网的租赁产品的配置组件示意图;其中(a)为本发明实施例二提供的基础属性标签示意图;(b)为本发明实施例二提供的客户公共属性示意图;(c)为本发明实施例二提供的表单配置模板示意图;(d)为本发明实施例二提供的表单元素组件示意图;(e)为本发明实施例二提供的业务对象属性配置示意图;(f)为本发明实施例二提供的对象服务的引擎示意图;(g)为本发明实施例二提供的对象操作服务示意图;(h)为本发明实施例二提供的业务表单配置示意图;(k)为本发明实施例二提供的配置热部署示意图;
图3为本发明实施例二提供的工业互联网的租赁产品的配置过程示意图;
图4为本发明实施例三提供的工业互联网的租赁产品的配置装置示意图。
图标:
1-获取模块;2-客户公共属性获取模块;3-业务对象属性集获取模块;4-第一配置模块;5-第二配置模块;6-校验模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
作为一个工业互联网设备租赁平台其上运营的业务会涉及到很多种差别较大的产品,为了满足各类产品能公用一个平台,而且还要体现出这些产品的差异化特性。在设计和实施的过程中需要考虑提供可视化的产品结构和操作页面的配置功能,客户在不需要技术和测试人员参与的情况下独立完成产品属性和操作页面定义和动态扩展,且自动完成热发布。
目前,为了适应多种产品属性和页面元素的变化,主要采用两种方式。第一种方式是采用结构化存储,结合多种前端开发框架做简单的公共组件封装,在有别于其他产品的新产品上线的时候,技术和测试人员参与配置存储结构和页面元素,并通过发布上线。但是这种方式,对于差异较大的每类产品和设备,都需要开发人员和测试人员进行开发或配置,从而增加平台的运营成本,实现和测试周期长。
第二种方式是在产品和设备属性初始定义时预留多个属性和字段,这些属性对应于多个基础页面标签,在存储结构和页面元素不用改变的情况下,需要运维人员或者客户参与配置预留属性和字段的业务意义和校验逻辑。采用这种方式预留的字段需要用户自己参与配置,使用户体验差。
以上两种方式主要基于结构化数据存储和现有的前端开发框架提供的公共组件和标签的基础上来做设计和实现,产品或者设备信息的结构必须先做好定义,一旦这种定义生效后,再做扩展的成本很高,即使是用结构化的方式来设计维护产品属性扩展关系,在程序的实现逻辑和界面配置过程也会非常复杂,数据结构间是紧耦合,不利于功能维护和产品推广。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
实施例一:
图1为本发明实施例一提供的工业互联网的租赁产品的配置方法流程图。
参照图1,应用于服务器,该方法包括以下步骤:
步骤S101,获取基础属性标签、表单配置模板和表单元素组件;
具体地,基础属性标签包括设备名称(文本类型)、设备价格(数字类型)、还租周期(整数型)和产品规格(文本类型)等;将基础属性标签拖拽到表单配置模板中使用;通过表单元素组件定义页面元素,将页面元素拖拽到表单配置模板中使用。
步骤S102,根据基础属性标签,得到客户公共属性;
步骤S103,根据基础属性标签和客户公共属性,得到业务对象的属性集;
具体地,通过基础属性标签来定义客户公共属性,根据基础属性标签和客户公共属性来定义业务对象的属性集。业务对象的属性集就是对象的所有属性,例如,对象为订单,订单的所有属性为:设备名称、设备型号、价格、租期、每期租金、押金、承租人名称、承租人法人姓名、承租人法人手机号和交付地点等;这些属性有的来自于基础属性标签(对于平台是全局的),有的来自于客户公共属性(对于某个租户而言,例如有的租户是租赁汽车的,那么他的对象和属性就有别于租赁挖掘机的对象和属性)。
步骤S104,对业务对象的属性集进行配置,得到对象属性配置结果;
具体地,业务对象的属性集和业务对象对应的表和字段是保持一致的,通过定义对象和属性来定义存储的表和字段。对业务对象的属性集进行配置,就是对业务对象对应的表和字段进行配置,即实现增加、删除、修改和查询等的操作,从而得到对象属性配置结果。
步骤S105,对表单配置模板和表单元素组件进行配置,得到操作表单配置结果;
步骤S106,将对象属性配置结果和操作表单配置结果进行校验和热部署,得到部署结果。
具体地,操作表单配置结果通过调用引擎,采用预加载的方式进行校验和热部署;对象属性配置结果是先生成java文件,将java文件通过服务器自动编译的代码生成class文件,然后再进行热部署和热加载到内存中,最终得到部署结果。
进一步的,表单配置模板通过以下方式获取:
对单个对象操作的表单或者多个对象关联后的表单进行配置,得到表单配置模板。
具体地,表单配置模板包括List、View、Edit、Add表单模板,调用FMTL(FreeMarker Template Language,自由标记模板语言)对表单配置模板进行语法校验,判断表单配置模板是否符合语法规则,如果满足,则校验通过。
进一步的,该方法还包括以下步骤:
步骤S201,根据表单元素组件定义页面元素;
步骤S202,将页面元素或基础属性标签增加到表单配置模板中;
其中,基础属性标签包括至少包括设备名称、设备价格、还租周期和产品规格;表单元素组件包括页面组件和操作组件,页面组件至少包括日期组件、时间区间、单行文本框组件、多行文本框、多选组件、单选组件、金额组件和审核意见组件,操作组件至少包括提交按钮、返回按钮和查询按钮。
进一步的,步骤S104包括:
对业务对象对应的表和字段进行操作处理,得到对象属性配置结果;
其中,操作处理至少包括增加操作、删除操作、修改操作和查询操作。
进一步的,步骤S105包括:
将页面组件和操作组件增加到表单配置模板中,得到操作表单配置结果。
进一步的,该方法还包括以下步骤:
步骤S301,调用引擎将获取的日志存储到日志文件中;
步骤S302,判断日志文件中是否存在异常信息;
步骤S303,如果存在,则根据异常信息确定用户配置问题信息。
进一步的,该方法还包括以下步骤:
步骤S401,接收客户端发送的请求信息,请求信息包括新增加的标签脚本和修改的标签脚本;
步骤S402,将新增加的标签脚本和修改的标签脚本通过语法解析器进行解析,得到解析信息;
步骤S403,判断解析信息中是否存在异常信息;
步骤S404,如果不存在,则校验通过;
步骤S405,如果存在,则校验不通过。
具体地,客户端向服务器发送脚本,服务器通过调用语法解析器进行解析,得到解析信息,根据解析信息中是否存在异常,来判断校验是否通过。另外,在客户端上获取用户新增加的标签脚本和修改的标签脚本,将新增加的标签脚本和修改的标签脚本发送给服务器,由服务器调用语法解析器判断是否发生异常,从而确定校验是否通过。其中,语法解析器为VM(Velocity)语法解析器。
本发明实施例提供了工业互联网的租赁产品的配置方法,应用于服务器,包括:获取基础属性标签、表单配置模板和表单元素组件;根据基础属性标签,得到客户公共属性;根据基础属性标签和客户公共属性,得到业务对象的属性集;对业务对象的属性集进行配置,得到对象属性配置结果;对表单配置模板和表单元素组件进行配置,得到操作表单配置结果;将对象属性配置结果和操作表单配置结果进行校验和热部署,得到部署结果,用户或运维人员通过配置功能实现产品的配置和发布,提高运维效率和用户体验,节约成本。
实施例二:
图2为本发明实施例二提供的工业互联网的租赁产品的配置组件示意图。
参照图2,该组件包括:基础属性标签、表单元素组件、对象操作服务、客户公共属性、对象服务的引擎、表单配置模板、业务对象属性配置、业务表单配置和配置热部署。具体参照如图2(a)所示的基础属性标签示意图、图2(b)所示的客户公共属性示意图、图2(c)所示的表单配置模板示意图、图2(d)所示的表单元素组件示意图、图2(e)所示的业务对象属性配置示意图、图2(f)所示的对象服务的引擎示意图、图2(g)所示的对象操作服务示意图、图2(h)所示的业务表单配置示意图和图2(k)所示的配置热部署示意图。
参照图3,基础属性标签:对新增加的标签脚本和修改的标签脚本做校验和测试,保证配置的准确性,满足日常的属性标签库动态扩展、维护和升级使用,提供了加载、修改脚本和测试的主要功能,以应对平台多种业务场景的支持。
表单配置模板:运维人员在服务器上利用该组件提供的功能维护和初始化用来配置表单;用到的各类表单的模板脚本和文件,满足客户在配置表单过程中的特殊化需要和表单配置模板的升级。
用户可通过拖拽的方式选择表单元素组件和表单配置模板完成表单的配置。表单元素组件包括操作组件,在操作组件配置的过程中需要选择已有的对象操作服务,和操作组件做绑定;根据表单配置模板的设定生产页面文件,把生成的html、css及js文件输出到指定的路径下,并完成访问路径的注册,可以通过浏览页面的方式测试页面是否可用。
表单元素组件:运维人员在平台的管理后台利用该组件提供的功能维护和初始化表单配置需要的页面组件和操作组件,可以满足日常的运维动态扩展和组件升级。
对象服务的引擎:在用户或者运维人员配置完成对象、对象属性和操作表单内容后,调用该引擎依据对象生成的模板生成对象操作和调用服务的代码。为了快速定位问题,运维人员可以在线编辑生成的代码。
对象操作服务:运维人员可以查看到引擎生成并完成发布的服务和方法,并可以在线测试,可以通过对于自动编译和部署的日志来定位用户反馈的问题。
客户公共属性:用户或者运维人员可以通过基础属性标签来定义租户关注的客户公共属性,从而规范所有产品和设备的信息项。比如产品的产品名称、厂商、规格、型号、价格、租期、位置信息、设备所属机构、更新时间和审批岗位等其他产品和设备共用的属性。采用AngularJS拖放事件函数来实现拖拽的效果,给用户提供良好的体验。
业务对象属性配置:根据基础属性标签和客户公共属性来定义业务对象的属性集,对业务对象的属性集进行配置,得到对象属性配置结果,以此来调用引擎生成操作代码。
业务表单配置:用户或者运维人员可以通过此组件提供的功能完成业务对象的查询、增加、修改和删除的表单配置,选择对应的表单配置模板,拖拽页面组件和操作组件到表单配置模板中,得到操作表单配置结果。操作组件需要和已有的对象操作服务做绑定,明确交互方式。
配置热部署:用户或者运维人员将对象属性配置结果和操作表单配置结果进行校验,校验通过校验后,服务器会自动完成代码编译和热部署,实现服务的动态加载,同时为了定位发布的问题,可以通过查看部署日志来定位问题。
对业务对象的属性集进行配置,得到对象属性配置结果,选择对应的表单配置模板,拖拽页面组件和操作组件到表单配置模板中,得到操作表单配置结果。在配置完成后,可以调用对象操作服务的引擎完成该对象的代码生成,通过CharSequenceJavaFileObject保存Java Code,提供方法给JavaCompiler,获取文件内容的依据是FreeMarker TemplateLanguage (FTL)编写的代码结构模板,生成String形式的Java Code,并通过JavaCompiler完成编译的Class文件,通过ClassFileManager保存在指定JavaClassObject对象中,并调用构造函数完成测试,代码发布出现问题时运维人员可以通过查看日志的方式来定位问题,并在线修改代码以解决相应问题。
自动生成的服务列表:通过引擎生成代码和服务,会自动注册为服务列表,以供用户在配置表单操作的时候使用,在配置表单操作的时候实现和服务的绑定。在配置表单操作的时候可以通过AngularJS解析,解析完之后进行提交。
将对象属性配置结果和操作表单配置结果进行校验和热部署:配置完成后,将操作表单配置结果采用AngularJS 和VelocityViewResolver预加载的方式进行校验;将对象属性配置结果采用重新实例DynamicClassLoader对象后动态加载到JavaCompiler中,生成java文件;将java文件通过服务器自动编译的代码生成class文件,然后再进行热部署和热加载到内存中,最终得到部署结果。
将对象属性配置结果和操作表单配置结果以非结构化的形式存储在mongoDB中,采用mongoDB进行存储,可以提高配置的可扩展性和灵活性。
本申请不仅适用于租户或者用户完成的设备租赁产品、设备配置和发布,还适用于其他的应用***和平台,从而可以协助运维人员配置大部分对象操作功能,提高用户体验。用户通过配置功能在不需要运维人员参与的情况下,就可以完成产品的配置和发布;运维人员通过配置功能也可以完成平台的运维和产品的配置,节约成功,提高运维效率。另外,用户在平台中就可以完成产品的配置和发布,不需要重启服务器的情况下实现热编译、热部署和热加载,提高用户体验。
实施例三:
图4为本发明实施例三提供的工业互联网的租赁产品的配置装置示意图。
参照图4,该装置包括:
获取模块1,用于获取基础属性标签、表单配置模板和表单元素组件;
客户公共属性获取模块2,用于根据基础属性标签,得到客户公共属性;
业务对象属性集获取模块3,用于根据基础属性标签和客户公共属性,得到业务对象的属性集;
第一配置模块4,用于对业务对象的属性集进行配置,得到对象属性配置结果;
第二配置模块5,用于对表单配置模板和表单元素组件进行配置,得到操作表单配置结果;
校验模块6,用于将对象属性配置结果和操作表单配置结果进行校验和热部署,得到部署结果。
本发明实施例提供了工业互联网的租赁产品的配置装置,包括:获取模块用于获取基础属性标签、表单配置模板和表单元素组件;客户公共属性获取模块用于根据基础属性标签,得到客户公共属性;业务对象属性集获取模块用于根据基础属性标签和客户公共属性,得到业务对象的属性集;第一配置模块用于对业务对象的属性集进行配置,得到对象属性配置结果;第二配置模块用于对表单配置模板和表单元素组件进行配置,得到操作表单配置结果;校验模块用于将对象属性配置结果和操作表单配置结果进行校验和热部署,得到部署结果,用户或运维人员通过配置功能实现产品的配置和发布,提高运维效率和用户体验,节约成本。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的工业互联网的租赁产品的配置方法的步骤。
本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的工业互联网的租赁产品的配置方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。