CN109657177A - 升级后页面的生成方法、装置、存储介质及计算机设备 - Google Patents
升级后页面的生成方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN109657177A CN109657177A CN201811286725.6A CN201811286725A CN109657177A CN 109657177 A CN109657177 A CN 109657177A CN 201811286725 A CN201811286725 A CN 201811286725A CN 109657177 A CN109657177 A CN 109657177A
- Authority
- CN
- China
- Prior art keywords
- service component
- trace log
- dynamic programming
- page
- history
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明提供了一种升级后页面的生成方法、装置、存储介质及计算机设备,该方法包括:分别获取来自多个项目的业务组件,并将业务组件添加至动态编程文件中;获取指向业务组件的升级指令,根据升级指令更新动态编程文件中的业务组件内容;获取用户端发送的用于访问目标页面的访问请求,根据与目标页面相关的所有业务组件地址在动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将目标页面反馈至用户端。该方法基于该动态编程文件实现组件开发和集中维护、管理、升级,从而可以避免不同人员重复开发相同组件,可以减少人力成本;用户可直接调用更新后的业务组件,不需要用户修改,也不需要重新发版即可实现页面的自动更新。
Description
技术领域
本发明涉及升级更新技术领域,特别涉及一种升级后页面的生成方法、装置、存储介质及计算机设备。
背景技术
随着互联网技术的发展,浏览器已成为移动终端上必备的应用软件之一,用户可通过电脑、手机等移动终端上安装的浏览器获取互联网上的共享信息或通过浏览器分享信息等等。由于用户需求不断增加,浏览器的功能也需要越来越多样化,经常需要进行更新。
某些情况下同一主体可能涉及多个网页、多个应用程序,甚至一个应用程序会涉及多个不同的模块,每个网页、应用程序或模块可能是按照项目单独开发完成的,当需要对网页页面进行升级时,因为项目是分散的,需要每个项目的开发人员重复导入组件的升级包,工作量太大,分散点也比较多,增加不必要的人员开发成本和沟通成本,且由于项目分散,无法完成页面自动更新。
发明内容
本发明提供一种升级后页面的生成方法、装置、存储介质及计算机设备,用以解决现有分散项目导致升级页面工作量大的缺陷。
本发明实施例提供的一种升级后页面的生成方法,包括:
分别获取来自多个项目的业务组件,并将所述业务组件添加至预设的动态编程文件中,所述业务组件包括唯一的业务组件地址和唯一的业务组件内容;
获取指向所述业务组件的升级指令,根据所述升级指令更新所述动态编程文件中的业务组件内容;
获取用户端发送的用于访问目标页面的访问请求,根据与所述目标页面相关的所有业务组件地址在所述动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将所述目标页面反馈至所述用户端。
在一种可能的实现方式中,所述将所述业务组件添加至预设的动态编程文件中包括:
根据所述业务组件的业务组件内容判断所述业务组件是否继承所述动态编程文件中的其他业务组件;
在所述业务组件不继承所述动态编程文件中的其他业务组件时,将所述业务组件添加至预设的动态编程文件中。
在一种可能的实现方式中,所述根据所述升级指令更新所述动态编程文件中的业务组件内容包括:
确定所述升级指令的权限等级,并判断所述升级指令的权限等级是否不低于所述业务组件的权限等级,所述业务组件的权限等级为根据所述业务组件的业务组件内容所预先确定的权限等级;
在所述升级指令的权限等级不低于所述业务组件的权限等级时,根据所述升级指令更新所述业务组件内容。
在一种可能的实现方式中,所述根据所述升级指令更新所述动态编程文件中的业务组件内容包括:
根据所述升级指令确定所述业务组件中需要更新的元素,所述元素为所述业务组件的最小组成单元;
以元素为单位更新所述业务组件中需要更新的元素。
在一种可能的实现方式中,在所述将所述业务组件添加至预设的动态编程文件中之后,还包括:
为所述业务组件添加引用标记,所述引用标记用于表征所述业务组件是否被网页页面引用;
在接收到用于删除所述业务组件的删除指令时,根据所述业务组件的引用标记判断所述业务组件是否被网页页面引用,在所述业务组件没有被网页页面引用时,删除所述业务组件。
在一种可能的实现方式中,该方法还包括:
获取业务组件和/或目标页面的堆栈追踪日志,所述堆栈追踪日志包括问题描述和/或问题代码;
确定与所述堆栈追踪日志相关的历史堆栈追踪日志,并确定所述历史堆栈追踪日志对应的历史解决方案;
根据所述历史解决方案生成所述堆栈追踪日志的解决方案。
在一种可能的实现方式中,所述确定与所述堆栈追踪日志相关的历史堆栈追踪日志包括:
对所述堆栈追踪日志进行分词处理,根据分词处理结果生成所述堆栈追踪日志的第一特征向量;同时根据预设排序规则对所述堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述堆栈追踪日志的第二特征向量;
对所述历史堆栈追踪日志进行分词处理,根据分词处理结果生成所述历史堆栈追踪日志的第一历史特征向量;同时根据相同的所述预设排序规则对所述历史堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述历史堆栈追踪日志的第二历史特征向量;
确定所述第一特征向量与所述第一历史特征向量之间的第一相似度c1,以及所述第二特征向量与所述第二历史特征向量之间的第二相似度c2;当c1+(1-b)c2≥1,且时,将所述历史堆栈追踪日志作为与所述堆栈追踪日志相关的日志。
基于同样的发明构思,本发明还提供一种升级后页面的生成装置,包括:
组件获取模块,用于分别获取来自多个项目的业务组件,并将所述业务组件添加至预设的动态编程文件中,所述业务组件包括唯一的业务组件地址和唯一的业务组件内容;
升级模块,用于获取指向所述业务组件的升级指令,根据所述升级指令更新所述动态编程文件中的业务组件内容;
页面生成模块,用于获取用户端发送的用于访问目标页面的访问请求,根据与所述目标页面相关的所有业务组件地址在所述动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将所述目标页面反馈至所述用户端。
基于同样的发明构思,本发明还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行上述任意一项所述的方法。
基于同样的发明构思,本发明还提供一种计算机设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的方法。
本发明实施例提供的一种升级后页面的生成方法、装置、存储介质及计算机设备,将多方的业务组件集合为一个共用的动态编程文件,基于该动态编程文件实现组件开发和集中维护、管理,从而可以避免不同人员重复开发相同组件,可以减少人力成本;基于该动态编程文件实现业务组件的更新,用户可直接调用更新后的业务组件,不需要用户修改,也不需要重新发版即可实现页面的自动更新和升级。同时,不同项目可调用同一业务组件,有助于使得不同项目的页面风格、样式统一。禁止继承复用的方式,从而可以避免因父类别修改导致子类别修改不及时的问题,且互相独立的业务组件以组合形式生成目标页面时组件结构简单,可避免组件结构冗乱。通过升级指令的权限等级以及业务组件的权限等级来判断是否可以更新业务组件内容,可规范升级过程,有效避免错误或无效的升级操作。基于引用标记判断是否可删除业务组件,可防止误删操作,避免删除业务组件后导致生成目标页面时生成失败或不完整。基于两个相似度综合查询相关的历史堆栈追踪日志,可以使得查询结果更加准确,方便研发人员迅速解决存在的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中升级后页面的生成方法的流程图;
图2为本发明实施例中定位程序问题的方法流程图;
图3为本发明实施例中相似度坐标示意图;
图4为本发明实施例中升级后页面的生成装置的结构图;
图5为本发明实施例中实施升级后页面的生成方法的计算机设备的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供的一种升级后页面的生成方法,可由服务器或平台执行,参见图1所示,该方法包括:
步骤101:分别获取来自多个项目的业务组件,并将业务组件添加至预设的动态编程文件中,该业务组件包括唯一的业务组件地址和唯一的业务组件内容。
本发明实施例中,不同的项目、部门或业务组的研发人员可以构建不同的业务组件;以一个项目为例,该项目中可以包含多个业务组件。该业务组件可以为与该项目相关的组件(Component),也可以是通用的组件,比如可通用的导航栏组件、按键组件等,具体根据实际情况而定;每个业务组件均是可复用的,业务组件设有调用接口,供其他项目的研发人员开发时调用复用。具体的,每个项目的研发人员可以将本地项目所需的、但是不存在于动态编程文件中的组件上传至该动态编程文件,供本地项目或者其他项目使用;若动态编程文件中已经存在本地所需的组件,则直接调用该组件即可,不需要研发人员重复开发已经存在的组件。即,动态编程文件中保存的业务组件均是不重复的、唯一的,每个业务组件具有唯一的业务组件内容;同时为了能够精准调用不同的业务组件,每个业务组件也设有唯一的业务组件地址。
本发明实施例中,组件可采用React开发,可以转成Vue的组件,其组件可同时适用在两个框架平台中;其中,React是一个采用声明式,高效而且灵活的用来构建用户界面的框架,组件可以将UI(UserInterface,用户界面)或组件结构切分成一些独立的的部件,这样开发时就只需专注于构建每一个单独的部件即可;相应的,在获取到所有的业务组件时,根据整体的组件结构可以将所有的业务组件组合成为一个动态编程文件,即JS(JavaScript)文件,该动态编程文件可被载入至一公共平台,供多方的研发人员使用。
其中,每个业务组件包括业务组件地址和业务组件内容。该业务组件内容即为该业务组件本身所含的数据、属性、方法等,该业务组件地址为该业务组件在动态编程文件中的存储位置;其中,该业务组件地址可以为用户自行设定(需要与其他业务组件的地址不冲突),也可以在添加至动态编程文件中后自动生成,利用业务组件地址可实现对业务组件的调用。
步骤102:获取指向业务组件的升级指令,根据升级指令更新动态编程文件中的业务组件内容。
本发明实施例中,当需要对项目内容进行升级时,确定需要升级的业务组件即可,此时研发人员输入指向需升级的业务组件的升级指令;在本地平台接收到该升级指令后,根据该升级指令即可升级更新相应业务组件的业务组件内容。即,在升级过程中,只需要升级或更新动态编程文件中的业务组件即可,由于该动态编程文件为研发人员所用的文件,普通用户并不会感知到该升级过程。
步骤103:获取用户端发送的用于访问目标页面的访问请求,根据与目标页面相关的所有业务组件地址在动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将目标页面反馈至用户端。
本发明实施例中,当用户需要访问目标页面时,可通过自己的用户端(比如智能手机、平板电脑、PC、或浏览器等)向平台发送访问请求,平台在获取到该访问请求后即可基于相应的业务组件生成该目标页面供用户查阅。业务组件完成升级后,动态编程文件中的业务组件即为升级后的组件,此时用户所访问的目标页面需要调用该升级后的业务组件时,根据该升级后的业务组件即可生成更新后的目标页面,用户作为调用方不需要执行任何修改或更新操作,所有的升级更新均是基于平台的业务组件完成的。例如,当用户需要访问某个页面时,可以通过浏览器输入该页面的网页网址或域名;平台在获取到用户访问该页面的访问请求时,即可确定该页面所需的所有业务组件,之后根据业务组件地址即可在该动态编程文件中调用相应的业务组件内容,从而生成该页面。其中,业务组件可只包含基本信息,可不限定部分设置参数,而页面本身包含相应的设置参数,比如某按钮组件的位置,或者大小等;在调用业务组件后基于相应的设置参数来对业务组件进行排版,从而生成所需的页面。
本发明实施例提供的一种升级后页面的生成方法,将多方的业务组件集合为一个共用的动态编程文件,基于该动态编程文件实现组件开发和集中维护、管理,从而可以避免不同人员重复开发相同组件,可以减少人力成本;基于该动态编程文件实现业务组件的更新,用户可直接调用更新后的业务组件,不需要用户修改,也不需要重新发版即可实现页面的自动更新。同时,不同项目可调用同一业务组件,有助于使得不同项目的页面风格、样式统一。
本发明另一实施例提供一种升级后页面的生成方法,该方法包括上述实施例中的步骤101-103,其实现原理以及技术效果参见图1对应的实施例。同时,本发明实施例中,步骤101“将业务组件添加至预设的动态编程文件中”包括:
步骤A1:根据业务组件的业务组件内容判断业务组件是否继承动态编程文件中的其他业务组件。
步骤A2:在业务组件不继承动态编程文件中的其他业务组件时,将业务组件添加至预设的动态编程文件中。
本发明实施例中,业务组件继承其他组件指的是前者可以使用后者的属性、方法等。比如,业务组件A继承业务组件B,则业务组件B为业务组件A的父类别,业务组件A为业务组件B的子类别。继承可以使得业务组件A具有业务组件B的各种属性和方法,而不需要为业务组件A再次编写相同的代码。虽然采用继承的方式可以减少后来业务组件的开发时间,但是,由于本发明实施例中的业务组件为共享的组件,多方均可使用或修改该业务组件(包括子类别和父类别),如果某一方对作为父类别的业务组件B进行了修改(比如删除了一个参数),则相应的子类别(比如业务组件A,以及其他继承业务组件B的组件)均需要对此作出相应的修改;若业务组件A和业务组件B为不同方独立设计的,则并不能保证业务组件A及时被修改,从而导致后续生成页面时会产生错误。
因此,在本发明实施例中,在需要将某一业务组件添加至动态编程文件中之前,首先判断该业务组件是否继承了动态编程文件中的其他业务组件,即该业务组件是否与其他业务组件具有较高的耦合,若该业务组件继承其他业务组件,则不能将该业务组件添加至动态编程文件中,此时提醒相应的研发人员进行更改;当该业务组件不继承任何其他业务组件时,则执行步骤A2:将业务组件添加至预设的动态编程文件中,之后可以组合的形式将多个业务组件组合为所需的目标页面。本发明实施例中禁止继承复用的方式,从而可以避免因父类别修改导致子类别修改不及时的问题,且互相独立的业务组件以组合形式生成目标页面时组件结构简单,可避免组件结构冗乱。
在上述实施例的基础上,步骤102中“根据升级指令更新动态编程文件中的业务组件内容”具体包括:
步骤B1:确定升级指令的权限等级,并判断升级指令的权限等级是否不低于业务组件的权限等级,业务组件的权限等级为根据业务组件的组件内容所预先确定的权限等级。
步骤B2:在升级指令的权限等级不低于业务组件的权限等级时,根据升级指令更新业务组件内容。
本发明实施例中,动态编程文件中每个业务组件可设有相应的权限等级,该权限等级具体可基于业务组件的组件内容确定;例如,某业务组件为比较基本的组件,比如按钮组件,修改该组件可能会影响很多项目,此时需要将该业务组件设置较高的权限等级;或者,还可基于提交该业务组件的研发人员的权限等级确定,例如具有较高权限等级的研发人员所提交的业务组件一般具有较高的重要性,此时可以为该业务组件设置较高的权限等级。
同时,每个研发人员具有相应的权限等级,在研发人员提交升级指令时,该升级指令可以设置有相应研发人员的权限等级,也可根据该研发人员输入的正确权限等级代码来调整升级指令的权限等级。比如,研发人员本身的权限等级为低等级,若该研发人员输入了高等级的权限代码,则可将该研发人员提交的升级指令的权限等级设置为高等级;其中,该高等级的权限代码可以为临时的或者一次性的权限代码,权限代码具体可由具有高等级的研发人员提供。当升级指令具有不低于业务组件的权限等级时,说明提交该升级指令的研发人员具有升级权限,此时可升级该业务组件。
本发明实施例中,通过升级指令的权限等级以及业务组件的权限等级来判断是否可以更新业务组件内容,可规范升级过程,有效避免错误或无效的升级操作。
在上述实施例的基础上,步骤102“根据升级指令更新动态编程文件中的业务组件内容”具体包括:
根据升级指令确定业务组件中需要更新的元素,元素为业务组件的最小组成单元;以元素为单位更新业务组件中需要更新的元素。
本发明实施例中,业务组件可以接受任意元素,元素为组成业务组件的最小单元,具体包括基本数据类型、React元素或函数等。在需要更新业务组件时,根据该升级指令确定业务组件中需要更新的元素,进而以元素为最基本的单位执行更新操作。本发明实施例中,以更新元素的方式执行升级操作,相当于将业务组件进行最细化的划分,并在升级时只升级需要升级的元素,从而可以降低升级处理量,提高升级处理效率。比如,将业务组件的视图视为一个个特定时刻的固定内容(就像一帧一帧的动画),而不是随时处于变化之中的一段长内容(比如一整段动画),这样还会有利于研发人员理清开发思路,减少出现bug的可能性。
在上述实施例的基础上,在步骤101“将业务组件添加至预设的动态编程文件中”之后,该方法还包括:
步骤C1:为业务组件添加引用标记,引用标记用于表征业务组件是否被网页页面引用。
本发明实施例中,在将业务组件添加至动态编程文件中后,为该业务组件添加引用标记,该引用标记用于表示是否有其他网页页面可以引用该业务组件。具体的,该引用标记可以为二维的,比如引用标记为“0”表示该业务组件不被网页引用,引用标记为“1”表示该业务组件被一个或多个网页引用。或者,该引用标记的初始值为0,每当有一个网页页面引用该业务组件时,对该引用标记进行加一处理;当有一个网页页面从引用该业务组件变为不引用该业务组件(比如在该网页页面删除了该业务组件),则对引用标记进行减一处理;此时,只有当引用标记为0时则说明该业务组件不被网页页面引用。其中,本发明实施例中的业务组件被网页页面引用指的是生成该网页页面时需要调用该业务组件。
步骤C2:在接收到用于删除业务组件的删除指令时,根据业务组件的引用标记判断业务组件是否被网页页面引用,在业务组件没有被网页页面引用时,删除业务组件。
本发明实施例中,当业务组件的引用标记表示该业务组件没有被网页页面引用时,则说明生成所有的网页页面均不会调用该业务组件,即该业务组件可以被认定是无效的或冗余的组件,此时可删除该业务组件。而基于引用标记判断是否可删除业务组件,可防止误删操作,避免删除业务组件后导致生成目标页面时生成失败或不完整。
在上述实施例的基础上,该方法还包括定位程序问题的过程,该过程可执行于研发人员开发业务组件的过程中,也可在步骤103生成目标页面之后,此时可由用户端反馈下述的堆栈追踪日志。具体的,参见图2所示,该定位程序问题的过程包括:
步骤201:获取业务组件和/或目标页面的堆栈追踪日志,堆栈追踪日志包括问题描述和/或问题代码。
本发明实施例中,基于堆栈追踪技术(Stack trace)即可生成相应的堆栈追踪日志,利用该堆栈追踪日志可捕获异常(Exception)被抛出的位置,堆栈追踪日志具体可包括问题描述和/或问题代码,该问题描述包括对异常的描述,一般包含文本(英文)和错误编号;问题代码为所捕获的存在异常的代码,且一般会标出代码的行数供研发人员参考。
步骤202:确定与堆栈追踪日志相关的历史堆栈追踪日志,并确定历史堆栈追踪日志对应的历史解决方案。
步骤203:根据历史解决方案生成堆栈追踪日志的解决方案。
本发明实施例中,不同的业务组件或不同的目标页面均可能存在堆栈追踪日志,平台可以记录历史生成的堆栈追踪日志,同时记录相应的解决方案,即历史解决方案;当本次确定堆栈追踪日志后,即可查询与该堆栈追踪日志相似的或相关的历史堆栈追踪日志,进而可以生成可能可以解决堆栈追踪日志所抛出的异常的解决方案,从而方便研发人员迅速解决存在的问题。
其中,可选的,步骤202“确定与堆栈追踪日志相关的历史堆栈追踪日志”包括:
步骤D1:对堆栈追踪日志进行分词处理,根据分词处理结果生成堆栈追踪日志的第一特征向量;同时根据预设排序规则对堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成堆栈追踪日志的第二特征向量。
步骤D2:对历史堆栈追踪日志进行分词处理,根据分词处理结果生成历史堆栈追踪日志的第一历史特征向量;同时根据相同的预设排序规则对历史堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成历史堆栈追踪日志的第二历史特征向量。
本发明实施例中,堆栈追踪日志中包含问题描述和/或问题代码,其本质实际为一段文本,可利用现有的分词技术就该堆栈追踪日志进行分词处理,包括去停用词等。其中,由于堆栈追踪日志中一般含有程序代码,而程序代码中的符号(比如括号、分号等)一般具有特殊用处,在进行分词处理时需要保留堆栈追踪日志中的符号;同时,对于堆栈追踪日志的数字(比如错误代码),将连续的一组数字作为一个整体,分词处理时不删除数字、且不分开连续的数字;通过对数字和符号的特殊处理以使得分词处理结果更符合该堆栈追踪日志的特点。在对堆栈追踪日志进行分词处理后,堆栈追踪日志实际是按照堆栈追踪日志中文本的顺序形成的字符串,其可以量化为一个向量,即第一特征向量;同样的,对于历史堆栈追踪日志,可以量化为相应的第一历史特征向量。
同时,预设一种排序规则,根据该排列规则对分词处理后的堆栈追踪日志中的词进行排序,从而生成排序后的堆栈追踪日志,进而可以量化得出相应的第二特征向量;同样的,对于排序后的历史堆栈追踪日志可确定第二历史特征向量。其中,该排序规则可以为按照每个词的首字母的先后顺序、或者ASCII码的先后顺序进行排序。
步骤D3:确定第一特征向量与第一历史特征向量之间的第一相似度c1,以及第二特征向量与第二历史特征向量之间的第二相似度c2;当c1+(1-b)c2>1,且时,将历史堆栈追踪日志作为与堆栈追踪日志相关的日志;其中,
本发明实施例中,对于排序前的两个向量:第一特征向量与第一历史特征向量,可以基于余弦相似性确定二者之间的余弦相似度,即相似度c1;同理,可确定排序后确定的第二特征向量与第二历史特征向量之间的相似度c2。也可采用其他方式来确定相似度,本实施例对此不做限定。由于第一相似度c1表示排序前的相似度,该第一相似度更能体现两个堆栈追踪日志之间的相似性,当第一相似度c1符合要求(大于某一数值b)时,排序后所确定的第二相似度c2一定也符合要求(大于该数值b),即c1≤c2。同时,设置第一相似度所允许的最小值为b,且即只有在第一相似度c1≥b是才有确定两个日志之间相似,或者说c1≥b是两个堆栈追踪日志相似的必要条件;而第一相似度c1的最大值为1,对于第一相似度c1的最大值和最小值的极端情况,结合第二相似度c2的限制,当第一相似度c1为最小值时,c2需要足够大,即为1;当第一相似度c1为最大值时,理论上来说c2可以足够小,即c2可为0。参见图3所示,分别对应图3坐标系中的(1,b)点(即图3中的B点)和(0,1)点,且c1和c2越大,说明两个堆栈追踪日志相似度越大;此外,c1∈[0,1],c2∈[0,1],故当c1和c2的值落入图3中的阴影区域(三角形ABC所表示的区域)时,说明两个堆栈追踪日志足够相似,可以认为该历史堆栈追踪日志是与当前的堆栈追踪日志相关的。此时,直线OC或AC对应的函数为c1=c2,其中,O为坐标原点(0,0);直线AB对应的函数为c1=(b-1)c2+1,因此可确定A点坐标为
基于两个相似度的定义,c1≤c2,且两个相似度的取值范围均为0~1;因此,当c1+(1-b)c2≥1,且时,说明两个相似度落入图3所示的阴影区域,此时可以确定将历史堆栈追踪日志作为与堆栈追踪日志相关的日志。本发明实施例中,基于两个相似度综合查询相关的历史堆栈追踪日志,可以使得查询结果更加准确。
综上,本发明实施例提供的一种升级后页面的生成方法,将多方的业务组件集合为一个共用的动态编程文件,基于该动态编程文件实现组件开发和集中维护、管理,从而可以避免不同人员重复开发相同组件,可以减少人力成本;基于该动态编程文件实现业务组件的更新,用户可直接调用更新后的业务组件,不需要用户修改,也不需要重新发版即可实现页面的自动更新和升级。同时,不同项目可调用同一业务组件,有助于使得不同项目的页面风格、样式统一。禁止继承复用的方式,从而可以避免因父类别修改导致子类别修改不及时的问题,且互相独立的业务组件以组合形式生成目标页面时组件结构简单,可避免组件结构冗乱。通过升级指令的权限等级以及业务组件的权限等级来判断是否可以更新业务组件内容,可规范升级过程,有效避免错误或无效的升级操作。基于引用标记判断是否可删除业务组件,可防止误删操作,避免删除业务组件后导致生成目标页面时生成失败或不完整。基于两个相似度综合查询相关的历史堆栈追踪日志,可以使得查询结果更加准确,方便研发人员迅速解决存在的问题。
以上详细介绍了升级后页面的生成方法流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
本发明实施例提供的一种升级后页面的生成装置,参见图4所示,包括:
组件获取模块41,用于分别获取来自多个项目的业务组件,并将所述业务组件添加至预设的动态编程文件中,所述业务组件包括唯一的业务组件地址和唯一的业务组件内容;
升级模块42,用于获取指向所述业务组件的升级指令,根据所述升级指令更新所述动态编程文件中的业务组件内容;
页面生成模块43,用于获取用户端发送的用于访问目标页面的访问请求,根据与所述目标页面相关的所有业务组件地址在所述动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将所述目标页面反馈至所述用户端。
在上述实施例的基础上,所述组件获取模块包括:
继承判断单元,用于根据所述业务组件的业务组件内容判断所述业务组件是否继承所述动态编程文件中的其他业务组件;
添加单元,用于在所述业务组件不继承所述动态编程文件中的其他业务组件时,将所述业务组件添加至预设的动态编程文件中。
在上述实施例的基础上,所述升级模块包括:
权限等级判断单元,用于确定所述升级指令的权限等级,并判断所述升级指令的权限等级是否不低于所述业务组件的权限等级,所述业务组件的权限等级为根据所述业务组件的业务组件内容所预先确定的权限等级;
更新单元,用于在所述升级指令的权限等级不低于所述业务组件的权限等级时,根据所述升级指令更新所述业务组件内容。
在上述实施例的基础上,所述升级模块包括:
元素确定单元,用于根据所述升级指令确定所述业务组件中需要更新的元素,所述元素为所述业务组件的最小组成单元;
元素更新单元,用于以元素为单位更新所述业务组件中需要更新的元素。
在上述实施例的基础上,该装置还包括标记模块和删除模块;
在所述组件获取模块41将所述业务组件添加至预设的动态编程文件中之后,所述标记模块用于为所述业务组件添加引用标记,所述引用标记用于表征所述业务组件是否被网页页面引用;
所述删除模块用于在接收到用于删除所述业务组件的删除指令时,根据所述业务组件的引用标记判断所述业务组件是否被网页页面引用,在所述业务组件没有被网页页面引用时,删除所述业务组件。
在上述实施例的基础上,该装置还包括:
日志获取模块,用于获取业务组件和/或目标页面的堆栈追踪日志,所述堆栈追踪日志包括问题描述和/或问题代码;
方案生成模块,用于确定与所述堆栈追踪日志相关的历史堆栈追踪日志,并确定所述历史堆栈追踪日志对应的历史解决方案;根据所述历史解决方案生成所述堆栈追踪日志的解决方案。
在上述实施例的基础上,所述方案生成模块确定与所述堆栈追踪日志相关的历史堆栈追踪日志包括:
对所述堆栈追踪日志进行分词处理,根据分词处理结果生成所述堆栈追踪日志的第一特征向量;同时根据预设排序规则对所述堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述堆栈追踪日志的第二特征向量;
对所述历史堆栈追踪日志进行分词处理,根据分词处理结果生成所述历史堆栈追踪日志的第一历史特征向量;同时根据相同的所述预设排序规则对所述历史堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述历史堆栈追踪日志的第二历史特征向量;
确定所述第一特征向量与所述第一历史特征向量之间的第一相似度c1,以及所述第二特征向量与所述第二历史特征向量之间的第二相似度c2;当c1+(1-b)c2≥1,且 时,将所述历史堆栈追踪日志作为与所述堆栈追踪日志相关的日志。
本发明实施例提供的一种升级后页面的生成装置,将多方的业务组件集合为一个共用的动态编程文件,基于该动态编程文件实现组件开发和集中维护、管理,从而可以避免不同人员重复开发相同组件,可以减少人力成本;基于该动态编程文件实现业务组件的更新,用户可直接调用更新后的业务组件,不需要用户修改,也不需要重新发版即可实现页面的自动更新和升级。同时,不同项目可调用同一业务组件,有助于使得不同项目的页面风格、样式统一。禁止继承复用的方式,从而可以避免因父类别修改导致子类别修改不及时的问题,且互相独立的业务组件以组合形式生成目标页面时组件结构简单,可避免组件结构冗乱。通过升级指令的权限等级以及业务组件的权限等级来判断是否可以更新业务组件内容,可规范升级过程,有效避免错误或无效的升级操作。基于引用标记判断是否可删除业务组件,可防止误删操作,避免删除业务组件后导致生成目标页面时生成失败或不完整。基于两个相似度综合查询相关的历史堆栈追踪日志,可以使得查询结果更加准确,方便研发人员迅速解决存在的问题。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述升级后页面的生成方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。
其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
图5示出了本发明的另一个实施例的一种计算机设备的结构框图。所述计算机设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算机设备的具体实现做限定。
该计算机设备1100包括至少一个处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于可执行的指令。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的方法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种升级后页面的生成方法,其特征在于,包括:
分别获取来自多个项目的业务组件,并将所述业务组件添加至预设的动态编程文件中,所述业务组件包括唯一的业务组件地址和唯一的业务组件内容;
获取指向所述业务组件的升级指令,根据所述升级指令更新所述动态编程文件中的业务组件内容;
获取用户端发送的用于访问目标页面的访问请求,根据与所述目标页面相关的所有业务组件地址在所述动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将所述目标页面反馈至所述用户端。
2.根据权利要求1所述的方法,其特征在于,所述将所述业务组件添加至预设的动态编程文件中包括:
根据所述业务组件的业务组件内容判断所述业务组件是否继承所述动态编程文件中的其他业务组件;
在所述业务组件不继承所述动态编程文件中的其他业务组件时,将所述业务组件添加至预设的动态编程文件中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述升级指令更新所述动态编程文件中的业务组件内容包括:
确定所述升级指令的权限等级,并判断所述升级指令的权限等级是否不低于所述业务组件的权限等级,所述业务组件的权限等级为根据所述业务组件的业务组件内容所预先确定的权限等级;
在所述升级指令的权限等级不低于所述业务组件的权限等级时,根据所述升级指令更新所述业务组件内容。
4.根据权利要求1所述的方法,其特征在于,所述根据所述升级指令更新所述动态编程文件中的业务组件内容包括:
根据所述升级指令确定所述业务组件中需要更新的元素,所述元素为所述业务组件的最小组成单元;
以元素为单位更新所述业务组件中需要更新的元素。
5.根据权利要求1所述的方法,其特征在于,在所述将所述业务组件添加至预设的动态编程文件中之后,还包括:
为所述业务组件添加引用标记,所述引用标记用于表征所述业务组件是否被网页页面引用;
在接收到用于删除所述业务组件的删除指令时,根据所述业务组件的引用标记判断所述业务组件是否被网页页面引用,在所述业务组件没有被网页页面引用时,删除所述业务组件。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取业务组件和/或目标页面的堆栈追踪日志,所述堆栈追踪日志包括问题描述和/或问题代码;
确定与所述堆栈追踪日志相关的历史堆栈追踪日志,并确定所述历史堆栈追踪日志对应的历史解决方案;
根据所述历史解决方案生成所述堆栈追踪日志的解决方案。
7.根据权利要求6所述的方法,其特征在于,所述确定与所述堆栈追踪日志相关的历史堆栈追踪日志包括:
对所述堆栈追踪日志进行分词处理,根据分词处理结果生成所述堆栈追踪日志的第一特征向量;同时根据预设排序规则对所述堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述堆栈追踪日志的第二特征向量;
对所述历史堆栈追踪日志进行分词处理,根据分词处理结果生成所述历史堆栈追踪日志的第一历史特征向量;同时根据相同的所述预设排序规则对所述历史堆栈追踪日志的分词处理结果进行排序,并根据排序后的分词处理结果生成所述历史堆栈追踪日志的第二历史特征向量;
确定所述第一特征向量与所述第一历史特征向量之间的第一相似度c1,以及所述第二特征向量与所述第二历史特征向量之间的第二相似度c2;当c1+(1-b)c2≥1,且 时,将所述历史堆栈追踪日志作为与所述堆栈追踪日志相关的日志。
8.一种升级后页面的生成装置,其特征在于,包括:
组件获取模块,用于分别获取来自多个项目的业务组件,并将所述业务组件添加至预设的动态编程文件中,所述业务组件包括唯一的业务组件地址和唯一的业务组件内容;
升级模块,用于获取指向所述业务组件的升级指令,根据所述升级指令更新所述动态编程文件中的业务组件内容;
页面生成模块,用于获取用户端发送的用于访问目标页面的访问请求,根据与所述目标页面相关的所有业务组件地址在所述动态编程文件中调用相应的业务组件内容并生成相应的目标页面,并将所述目标页面反馈至所述用户端。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-7任意一项所述的方法。
10.一种计算机设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286725.6A CN109657177A (zh) | 2018-10-31 | 2018-10-31 | 升级后页面的生成方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811286725.6A CN109657177A (zh) | 2018-10-31 | 2018-10-31 | 升级后页面的生成方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657177A true CN109657177A (zh) | 2019-04-19 |
Family
ID=66110617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811286725.6A Pending CN109657177A (zh) | 2018-10-31 | 2018-10-31 | 升级后页面的生成方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657177A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321499A (zh) * | 2019-05-24 | 2019-10-11 | 深圳壹账通智能科技有限公司 | 金融产品的页面发布方法、装置、存储介质及服务器 |
CN110442587A (zh) * | 2019-07-05 | 2019-11-12 | 中国平安人寿保险股份有限公司 | 业务信息升级方法及终端设备 |
CN110795674A (zh) * | 2019-10-30 | 2020-02-14 | 恩亿科(北京)数据科技有限公司 | 一种配置更新方法及装置 |
CN111475381A (zh) * | 2020-04-03 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 页面渲染检测方法以及装置 |
CN111552469A (zh) * | 2020-04-03 | 2020-08-18 | 北京字节跳动网络技术有限公司 | 应用程序工程中的文件处理方法、装置及电子设备 |
CN111596997A (zh) * | 2020-05-13 | 2020-08-28 | 深圳市宏电技术股份有限公司 | Ui信息的请求方法、装置、终端和存储介质 |
CN112052002A (zh) * | 2020-09-04 | 2020-12-08 | 游艺星际(北京)科技有限公司 | 基于声明式编程框架的用户界面生成方法、装置及介质 |
CN113687872A (zh) * | 2021-07-19 | 2021-11-23 | 北京鸿腾智能科技有限公司 | 选择组件控制方法、设备、存储介质及装置 |
-
2018
- 2018-10-31 CN CN201811286725.6A patent/CN109657177A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321499A (zh) * | 2019-05-24 | 2019-10-11 | 深圳壹账通智能科技有限公司 | 金融产品的页面发布方法、装置、存储介质及服务器 |
CN110442587A (zh) * | 2019-07-05 | 2019-11-12 | 中国平安人寿保险股份有限公司 | 业务信息升级方法及终端设备 |
CN110442587B (zh) * | 2019-07-05 | 2023-11-24 | 中国平安人寿保险股份有限公司 | 业务信息升级方法及终端设备 |
CN110795674A (zh) * | 2019-10-30 | 2020-02-14 | 恩亿科(北京)数据科技有限公司 | 一种配置更新方法及装置 |
CN110795674B (zh) * | 2019-10-30 | 2022-08-09 | 恩亿科(北京)数据科技有限公司 | 一种配置更新方法及装置 |
CN111552469B (zh) * | 2020-04-03 | 2023-05-16 | 北京字节跳动网络技术有限公司 | 应用程序工程中的文件处理方法、装置及电子设备 |
CN111475381A (zh) * | 2020-04-03 | 2020-07-31 | 支付宝(杭州)信息技术有限公司 | 页面渲染检测方法以及装置 |
CN111552469A (zh) * | 2020-04-03 | 2020-08-18 | 北京字节跳动网络技术有限公司 | 应用程序工程中的文件处理方法、装置及电子设备 |
CN111475381B (zh) * | 2020-04-03 | 2021-08-20 | 支付宝(杭州)信息技术有限公司 | 页面渲染检测方法以及装置 |
CN111596997A (zh) * | 2020-05-13 | 2020-08-28 | 深圳市宏电技术股份有限公司 | Ui信息的请求方法、装置、终端和存储介质 |
CN111596997B (zh) * | 2020-05-13 | 2021-02-09 | 深圳市宏电技术股份有限公司 | Ui信息的请求方法、装置、终端和存储介质 |
CN112052002A (zh) * | 2020-09-04 | 2020-12-08 | 游艺星际(北京)科技有限公司 | 基于声明式编程框架的用户界面生成方法、装置及介质 |
CN112052002B (zh) * | 2020-09-04 | 2024-01-26 | 游艺星际(北京)科技有限公司 | 基于声明式编程框架的用户界面生成方法、装置及介质 |
CN113687872A (zh) * | 2021-07-19 | 2021-11-23 | 北京鸿腾智能科技有限公司 | 选择组件控制方法、设备、存储介质及装置 |
CN113687872B (zh) * | 2021-07-19 | 2024-03-29 | 三六零数字安全科技集团有限公司 | 选择组件控制方法、设备、存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657177A (zh) | 升级后页面的生成方法、装置、存储介质及计算机设备 | |
CN107967159B (zh) | 一种配置文件应用的方法以及服务器 | |
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
US10862979B2 (en) | Techniques for supporting remote micro-services as native functions in spreadsheet applications | |
US11055085B2 (en) | Method, apparatus, and system for hot-deploying application | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US20170123764A1 (en) | Method for operating tool in working environment and machine using such method | |
US9292271B2 (en) | Apparatus and method for managing software translation | |
CN106250104A (zh) | 一种针对服务器的远程操作系统、方法及装置 | |
US20220207268A1 (en) | Form extractor | |
CN109558191A (zh) | 一种配置页面的方法、装置、存储介质及计算机设备 | |
US10586025B2 (en) | Managing the display of hidden proprietary software code to authorized licensed users | |
US20150074045A1 (en) | Business Rule Management System | |
US20190005228A1 (en) | Trusted and untrusted code execution in a workflow | |
CN111414350A (zh) | 一种服务生成方法及装置 | |
CN109783355A (zh) | 页面元素获取方法、系统、计算机设备及可读存储介质 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
US11940953B2 (en) | Assisted updating of electronic documents | |
US10338891B2 (en) | Migration between model elements of different types in a modeling environment | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
US20130254157A1 (en) | Computer-implemented methods and systems for associating files with cells of a collaborative spreadsheet | |
EP3425510B1 (en) | Automated testing method for application program user interface, electronic device, system, and storage medium | |
TW201725542A (zh) | 表單管理系統及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |