CN111930424B - 基于黑箱技术的SaaS软件定制需求装配方法 - Google Patents

基于黑箱技术的SaaS软件定制需求装配方法 Download PDF

Info

Publication number
CN111930424B
CN111930424B CN202011022092.5A CN202011022092A CN111930424B CN 111930424 B CN111930424 B CN 111930424B CN 202011022092 A CN202011022092 A CN 202011022092A CN 111930424 B CN111930424 B CN 111930424B
Authority
CN
China
Prior art keywords
node
configuration
personalized
demand
customized
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.)
Active
Application number
CN202011022092.5A
Other languages
English (en)
Other versions
CN111930424A (zh
Inventor
赵隽隽
赵剑飞
欧阳禄萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhixueyun (Beijing) Technology Co.,Ltd.
Original Assignee
Zhixueyun Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhixueyun Beijing Technology Co ltd filed Critical Zhixueyun Beijing Technology Co ltd
Priority to CN202011022092.5A priority Critical patent/CN111930424B/zh
Publication of CN111930424A publication Critical patent/CN111930424A/zh
Application granted granted Critical
Publication of CN111930424B publication Critical patent/CN111930424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于黑箱技术的SaaS软件定制需求装配方法,其特征在于,包括:基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架;获取目标租户的历史个性化信息,基于个性化租户区分模型,区分目标租户的租户类别;获取目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置,同时,基于租户类别进行第二配置,进而实现定制配置;筛选个性化框架中与定制配置相关的配置节点;基于黑箱技术的SaaS软件解析配置节点的节点信息以及解析定制配置的配置信息,并将解析结果动态装配到标准框架中,实现定制需求装配。通过设置独立的个性化框架,进行动态加载,有效降低对服务器资源浪费,且可有效的提高软件更新的效率。

Description

基于黑箱技术的SaaS软件定制需求装配方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于黑箱技术的SaaS软件定制需求装配方法。
背景技术
目前对于客户个性化的定制需求开发是通过拷贝一份标准SaaS产品的代码,然后在上面进行改动、独立开发客户个性化的定制需求功能。部署的时候把整个系统(包括那些没有定制需求功能变更的模块)全部在服务器上部署一遍。这种方式可以实现客户的定制需求,但是其存在如下问题:
1、把整个系统全部重新部署了一遍,造成服务器资源浪费,产生个性化的定制需求功能毕竟只是部分,那些没有变更的功能模块也需要多部署一份,浪费服务器和人力资源、维护成本。
2、这种方式导致定制的客户项目没办法简单的跟随软件升级,每次项目升级都需要对比代码改动点,然后拷贝升级,浪费了大量的时间和人力。
因此,本发明提出了一种基于黑箱技术的SaaS软件定制需求装配方法。
发明内容
本发明提供一种基于黑箱技术的SaaS软件定制需求装配方法,用以通过设置独立的个性化框架,进行动态加载,有效降低对服务器资源浪费,且可有效的提高软件更新的效率。
本发明一种基于黑箱技术的SaaS软件定制需求装配方法,包括:
基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架;
获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别;
获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置,同时,基于所述租户类别进行第二配置,进而实现定制配置;
筛选所述个性化框架中与所述定制配置相关的配置节点;
基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息,并将解析结果动态装配到标准框架中,实现定制需求装配。
在一种可能实现的方式中,
基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架包括:
构建基础框架,且所述基础框架包括:标准节点集合和空白节点集合;
在所述基础框架的各个节点上,设置脚本参数,且所述脚本参数与所述节点的节点运行属性相关;
在所述基础框架的标准节点集合中的各个节点上,设置个性标识以及标准个性化参数,且所述标准个性化参数与对应节点的节点装配属性相关;
在所述基础框架的空白节点集合中的各个节点上,设置空白标识;
所述基础框架根据设置的脚本参数、标准个性化参数以及空白标识,构建成个性化框架。
在一种可能实现的方式中,
获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置的过程中包括:
调取所述个性化框架;
当所述目标租户的当前个性化需求与个性标识对应的个性需求不完全匹配时,提取所述个性化需求中的第一个性化需求条件和第二个性化需求条件;
从所述个性化框架对应的标准节点集合中获取与所述第一个性化需求条件相匹配的第一节点,同时,将所述第一个性化需求条件附加在所述第一节点上;
从所述个性化框架对应的空白节点集合中获取与所述第二个性化需求条件相匹配的第二节点,同时,将所述第二个性化需求条件附加在所述第二节点上,同时,对所述第二节点对应的空白标识进行改写;
基于附加后的第一节点以及附加后的第二节点进行第一配置。
在一种可能实现的方式中,
获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别包括:
提取获取的历史个性化信息中对应的每次历史需求装配的历史需求列表,且所述历史需求列表中包括至少一项历史个性化需求;
对所述历史个性化信息中的所有历史个性化需求进行分类处理,获取每类个性化需求的装配次数;
提取所述装配次数大于或等于预设次数的历史个性化需求,并获取对应类的第一类属性;
提取所述装配次数小于所述预设次数的历史个性化需求,并获取对应类的第二类属性;
获取每个所述历史需求列表的历史列表需求属性;
获取所述第一类属性与所述历史列表需求属性的第一关联值、所述第二类属性与所述历史列表需求属性的第二关联值、所述第一类属性和第二类属性以及所述历史列表需求属性的第三关联值;
所述个性化租户区分模型基于获取的所述第一关联值、第二关联值、第三关联值,区分所述目标租户的租户类别。
在一种可能实现的方式中,
筛选所述个性化框架中与所述定制配置相关的配置节点包括:
获取第一配置过程的第一配置数据以及第二配置过程的第二配置数据;
建立所述第一配置数据、第二配置数据与所述个性化框架的关联联系;
从关联数据库中,确定所述个性化框架中与所述关联联系对应的配置节点。
在一种可能实现的方式中,
将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
获取所述解析结果中与所述配置节点对应的扩展包地址,并对所述扩展包地址进行动态加载,同时,与所述标准框架进行结合,对所述标准框架进行扩展或者变更,其包括:
获取历史动态装配过程中的配置数据,同时,遍历所述配置数据的数组对象,获取目标对象;
根据配置数据中的定制脚本包域名和对应的配置文件地址,加载脚本文件;
基于所述脚本文件,加载判断所述解析结果对应的配置样式中是否存在定制样式,若存在,根据预设配置规则,加载所述配置数据中的目标文件;
获取所述解析结果中与所述配置节点对应的扩展包地址;
根据查找机制,并基于获取的目标对象以及扩展包地址,对所述标准框架中的待扩展节点和/或待变更节点进行标识,同时,覆盖加载所述目标文件到所述待扩展节点和/或待变更节点。
在一种可能实现的方式中,
将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
确定与动态装配所述解析结果对应的标准框架中的装配节点,其中,所述装配节点为待扩展节点和/或待变更节点;
获取所述标准框架的当前更新信息,若所述当前更新信息不包括更新所述装配节点,此时,对所述标准框架中对应的剩余节点进行节点更新;
若所述当前更新信息包括更新所述装配节点,此时,根据所述当前个性化需求,从组件数据库中,调用组件;
确定所述装配节点的节点业务,并将所述节点业务与调用的组件进行初次匹配,同时,将与所述当前更新信息相关的更新业务与所述节点业务进行再次匹配,并筛选对应的待更新组件;
获取与所述更新业务相关的更新参数,并建立所述更新参数与所述待更新组件的映射关系;
根据所述映射关系,调取有效更新包,并基于所述有效更新包对对应的装配节点进行更新。
在一种可能实现的方式中,
基于所述有效更新包对对应的装配节点进行更新的过程中,还包括:
确定所述有效更新包的更新序列,同时,获取需要更新的所述装配节点的原始序列;
将所述更新序列与原始序列进行对比分析,获取所述原始序列中的待更新序列;
获取所述待更新序列与原始序列的比值,若所述比值小于预设比值,将所述待更新序列替换为更新序列;
否则,基于所述原始序列,确定所述待更新序列之间的最小序列间隔值以及平均序列间隔值;
若所述最小序列间隔值与平均序列间隔值的差值绝对值小于预设值,对所述最小序列间隔值对应的间隔序列以及相邻连续序列的进行整体替换更新;
否则,对所述最小序列间隔值对应的相邻连续序列进行单独替换更新。
在一种可能实现的方式中,
基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息的过程中,还包括:
基于与所述个性化框架相关的节点数据库,查找所述配置节点的节点类型以及解析类型,同时,获取所述配置节点的资源数据集,所述资源数据集中包括:所述配置节点的节点自身数据、被添加数据、自动生成数据;
获取所述配置节点的被访问概率以及被访问时间间隔;
根据如下公式,计算所述配置节点的综合权重值Z;
Figure 999579DEST_PATH_IMAGE001
其中,T表示预设时间段;j表示在预设时间段T的访问次数,且j=1,2,3,...,n+1;i 表示n+1次相邻访问的时间间隔数,且i=1,2,3,...,n1;其中,n1表示n+1次相邻访问对应的 总时间间隔数,且n1=n;
Figure 96979DEST_PATH_IMAGE002
表示所述配置节点的节点自身数据的权重值;
Figure 509506DEST_PATH_IMAGE003
表示所述配置 节点的被添加数据的权重值;
Figure 537504DEST_PATH_IMAGE004
表示所述配置节点的自动生成数据的权重值;
Figure 781404DEST_PATH_IMAGE005
表示第 j次访问对所述节点自身数据的影响因子;
Figure 971077DEST_PATH_IMAGE006
表示第j次访问对所述被添加数据的影响因 子;
Figure 870900DEST_PATH_IMAGE007
表示第j次访问对所述自动生成数据的影响因子;p表示在预设时间段T内访问所述 配置节点的访问概率;
Figure 751524DEST_PATH_IMAGE008
表示第i个被访问时间间隔的时长;
根据所述综合权重值Z、节点类型以及解析类型,匹配所述标准框架中对应的待扩展节点和/或待变更节点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于黑箱技术的SaaS软件定制需求装配方法的流程图;
图2为本发明实施例中定制需求装配的另一流程图;
图3为本发明实施例中定制需求装配的再一流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明解决了SaaS多租户系统个性化定制开发的问题,支持定制开发功能动态加载,来实现不同SaaS租户个性化、差异化需求。
目前的SaaS系统能满足绝大部分客户通用的需求,但是客户的需求是变化的,总有些客户想要的功能在标准SaaS产品系统中是没有的,或者是与其他客户的需求不一样的,为了不破坏标准SaaS产品的功能、不影响其他客户对SaaS产品的使用,就需要单独对某些客户进行个性化的定制需求开发,为各租户实现个性化、差异化需求,因此,本发明提出了一种基于黑箱技术的SaaS软件定制需求装配方法。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,如图1所示,包括:
步骤1:基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架;
步骤2:获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别;
步骤3:获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置,同时,基于所述租户类别进行第二配置,进而实现定制配置;
步骤4:筛选所述个性化框架中与所述定制配置相关的配置节点;
步骤5:基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息,并将解析结果动态装配到标准框架中,实现定制需求装配。
该实施例中,基于脚手架工程进行个性化需求功能开发,并进行打包部署,一般是通过封装定制开发所需要的基础框架、打包构建脚本,再通过脚手架获取当前租户信息、当前用户信息等一些列全部信息之后,来实现的;
其中,脚手架工程是以业务功能为粒度的开发工程,且在开发完成之后打包构建部署。
该实施例中,进行第一配置以及第二配置的过程中,都是基于各租户是否需要加载定制化扩展包来进行配置管理的,且配置管理以 JSON 的格式按照SaaS租户进行隔离配置存储。
该实施例中,构建的个性化框架是独立于标准框架之外的。
该实施例中,SaaS是Software-as-a-Service(软件即服务)的简称。
该实施例中,历史个性化信息,是根据每次租户输入的指令或者租户的个性化需求来构成的个性化装配,进而形成的个性化信息。
该实施例中,基于个性化框架进行第一配置,例如是对当前个性化需求进行需求筛选以及分配,然后,将其需求与个性化框架中预先设定的个性化进行匹配,进而实现第一配置,方便直接匹配调用,降低再次构建相关代码的时间损耗,提高匹配效率,节省服务器资源;
在进行第二配置的过程中,是基于租户类别进行配置的,例如,租户类别为普通类别(即大众风格),此时,可以调取相关的大众风格模板进行二次配置,可以提高配置效率;
该实施例中,通过设置独立的个性化框架,可以有效的保证标准框架的有效更新、升级等操作,也可以便于进行个性化定制。
其中,在进行装配的过程中,还可以通过如图2和3对应的实施例进行装配:
如图2,通过标准项目,进而通过与个性化相关的各个微定制模块应用程序API接口以及数据连接器接口DB进行定制配置;
其中,标准接口或消息中间件MQ 是与标准 SaaS 产品黑箱进行通信与数据传输的,定制配置结果的获取是标准 SaaS 产品的接口实现的。
其中,Nginx为安装配置。
如图3,通过定制工程、定制开发、打包部署、配置定制、加载定制包等步骤,来实现个性化定制。
上述技术方案的有益效果是:通过设置独立的个性化框架,进行动态加载,有效降低对服务器资源浪费,且可有效的提高软件更新的效率。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架包括:
构建基础框架,且所述基础框架包括:标准节点集合和空白节点集合;
在所述基础框架的各个节点上,设置脚本参数,且所述脚本参数与所述节点的节点运行属性相关;
在所述基础框架的标准节点集合中的各个节点上,设置个性标识以及标准个性化参数,且所述标准个性化参数与对应节点的节点装配属性相关;
在所述基础框架的空白节点集合中的各个节点上,设置空白标识;
所述基础框架根据设置的脚本参数、标准个性化参数以及空白标识,构建成个性化框架。
该实施例中,通过在基础框架上设置标准节点集合以及空白节点集合,一方面是为了方便配置已有的各种个性化参数,另一方面是为了方便补充新增个性化参数相关的节点;
该实施例中,通过设置脚本参数,是为了方便节点的有效运行,通过设置个性标识以及个性化参数,是为了方便能够与租户的个性化需求进行及时有效的匹配。
上述技术方案的有益效果是:通过设置标准节点集合以及空白节点集合,可以有效的提高配置的效率以及提高个性化配置的有效性,间接有效的节省了服务资源,为实现个性化定制提供基础。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置的过程中包括:
调取所述个性化框架;
当所述目标租户的当前个性化需求与个性标识对应的个性需求不完全匹配时,提取所述个性化需求中的第一个性化需求条件和第二个性化需求条件;
从所述个性化框架对应的标准节点集合中获取与所述第一个性化需求条件相匹配的第一节点,同时,将所述第一个性化需求条件附加在所述第一节点上;
从所述个性化框架对应的空白节点集合中获取与所述第二个性化需求条件相匹配的第二节点,同时,将所述第二个性化需求条件附加在所述第二节点上,同时,对所述第二节点对应的空白标识进行改写;
基于附加后的第一节点以及附加后的第二节点进行第一配置。
该实施例中,由于租户的个性化需求是不一样的,因此,通过提取第一个性化需求条件以及第二个性化需求条件,进而分别匹配相关的节点,来进行相关的附加。
例如,第一节点上是关于显示界面上,A区域的显示装饰,如果,租户的个性化需求中存在,需要对A区域的显示装饰进行显示,且包括该显示装饰显得的位置、大小、颜色、图案等需求时,此时,将其需求附加在该A区域对应的相关代码上,进而实现该需求。
例如,第二节点上是显示节点上的空白区域,此时,如果租户的个性化需求中存在,需要在该空白区域添加各种装饰、文字描述等,此时,需要在新建与其相关的代码,进而实现该需求。
该实施例中,个性标识以及空白标识,都是为了方便能够快速找到对应节点,提高效率。
上述技术方案的有益效果是:通过对当前个性化需求进行拆分,并匹配到相关节点,可以保证个性化需求的充分实现性,提高租户的体验效果,且最大程度的覆盖该需求,通过将需求附加在相关的节点上,有效提高需求的可实现性,且为节省资源服务提供了可靠基础,便于实现个性化定制。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别包括:
提取获取的历史个性化信息中对应的每次历史需求装配的历史需求列表,且所述历史需求列表中包括至少一项历史个性化需求;
对所述历史个性化信息中的所有历史个性化需求进行分类处理,获取每类个性化需求的装配次数;
提取所述装配次数大于或等于预设次数的历史个性化需求,并获取对应类的第一类属性;
提取所述装配次数小于所述预设次数的历史个性化需求,并获取对应类的第二类属性;
获取每个所述历史需求列表的历史列表需求属性;
获取所述第一类属性与所述历史列表需求属性的第一关联值、所述第二类属性与所述历史列表需求属性的第二关联值、所述第一类属性和第二类属性以及所述历史列表需求属性的第三关联值;
所述个性化租户区分模型基于获取的所述第一关联值、第二关联值、第三关联值,区分所述目标租户的租户类别。
该实施例中,历史个性化信息,是租户每次设定的个性化信息;
该实施例中,例如,存在3个历史需求列表,且第一个列表中包括a1,a2,a3个性化需求,第二个列表中包括b1,b2,a1个性户需求,第三个列表中包括c1,a1,b2个性化需求,此时,获取的a1类的装配次数为3,获取的b2类的装配次数为2,其余类的装配次数为1;
此时,如预设次数为2,可以根据a1类和b2类来得到第一类属性,剩余的为第二类属性;
该实施例中,获取的关联值,可以是根据该类在该列表中所占的权重比以及该类对该列表对应的构建的个性化界面的影响力来确定的。
上述技术方案的有益效果是:通过获取不同类的类属性,以及获取第一类属性、第二类属性以及历史列表需求属相之间的关联值,进而根据个性化租户区分模型来确定租户的租户类别,为第二配置提供可靠依据,进而提高配置效率,间接节省资源空间,实现个性化定制。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,筛选所述个性化框架中与所述定制配置相关的配置节点包括:
获取第一配置过程的第一配置数据以及第二配置过程的第二配置数据;
建立所述第一配置数据、第二配置数据与所述个性化框架的关联联系;
从关联数据库中,确定所述个性化框架中与所述关联联系对应的配置节点。
该实施例中,关联数据库,是可以包含个性化框架中的每个节点在内,且每个节点的预设配置数据等相关参数在内的。
上述技术方案的有益效果是:由于在第一配置以及第二配置的过程中,会产生相关的配置数据,因此,通过建立其与个性化框架之间的关联关系,便于有效确定配置节点,方便对个性化框架中的某个节点进行功能的赋予,提高效率,且可降低对无关节点的浪费。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
获取所述解析结果中与所述配置节点对应的扩展包地址,并对所述扩展包地址进行动态加载,同时,与所述标准框架进行结合,对所述标准框架进行扩展或者变更,其包括:
获取历史动态装配过程中的配置数据,同时,遍历所述配置数据的数组对象,获取目标对象;
根据配置数据中的定制脚本包域名和对应的配置文件地址,加载脚本文件;
基于所述脚本文件,加载判断所述解析结果对应的配置样式中是否存在定制样式,若存在,根据预设配置规则,加载所述配置数据中的目标文件;
获取所述解析结果中与所述配置节点对应的扩展包地址;
根据查找机制,并基于获取的目标对象以及扩展包地址,对所述标准框架中的待扩展节点和/或待变更节点进行标识,同时,覆盖加载所述目标文件到所述待扩展节点和/或待变更节点。
该实施例中,实现定制需求装配,可以是定制包通过定制装配引擎动态加载,可在系统不停机的情况下动态装配,而不影响系统使用。
该实施例中,定制脚本包域名,例如为js 包域名;
该实施例中,扩展包地址,例如为拼装http 文件地址;
该实施例中,目标文件,例如为css 文件。
该实施例中,待扩展节点和/或待变更节点是为了能够将个性化框架中与个性化需求相关的节点,覆盖记载在标准框架上,是为了保证在不改变标准框架原始代码的基础上,对其进行覆盖,便于软件的有效运行,进行实现个性化定制。
上述技术方案的有益效果是从解析之后的配置中获取扩展包地址,并进行动态加载,和标准框架进行结合,最终达到扩展或者变更标准产品中的功能的目的,节省服务资源,提高个性化需求的有效性,实现SaaS 软件对应系统的不同租户之间的个性化定制。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
确定与动态装配所述解析结果对应的标准框架中的装配节点,其中,所述装配节点为待扩展节点和/或待变更节点;
获取所述标准框架的当前更新信息,若所述当前更新信息不包括更新所述装配节点,此时,对所述标准框架中对应的剩余节点进行节点更新;
若所述当前更新信息包括更新所述装配节点,此时,根据所述当前个性化需求,从组件数据库中,调用组件;
确定所述装配节点的节点业务,并将所述节点业务与调用的组件进行初次匹配,同时,将与所述当前更新信息相关的更新业务与所述节点业务进行再次匹配,并筛选对应的待更新组件;
获取与所述更新业务相关的更新参数,并建立所述更新参数与所述待更新组件的映射关系;
根据所述映射关系,调取有效更新包,并基于所述有效更新包对对应的装配节点进行更新。
该实施例中,确定装配节点,是为了方便将个性化框架上与个性化需求相关的信息加载在其装配节点上。
该实施例中,当前跟新信息,一般是为了软件、系统、组件等进行更新升级;
该实施例中,通过对当前更新信息进行确定,可以有效的确定是否对装配节点进行更新,当不需要更新时,只对标准框架中的剩余节点进行更新,可以节省更新时间,且针对性的更新,对不需要更新的组件或节点不影响,保证其他节点的正常运转;
该实施例中,当需要更新时,获取节点业务(个性化相关装配业务),并与组件进行初次匹配,将更新业务与业务节点进行再次匹配,获取装配节点中的待更新组件,提高更新效率以及针对性的更新,节省更新空间;
该实施例中,建立映射关系,是为了保证对待更新组件的有效更新,保证更新后待更新组件的有效运行,其映射关系,例如是待更新组件与多组更新参数相映射。
上述技术方案的有益效果是:通过确定装配节点是否更新,进而执行相关的更新操作,且通过对待更新节点进行选择,提高更新效率,节省更新空间,间接的节省服务资源,为个性化定制提供有效的更新基础。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,基于所述有效更新包对对应的装配节点进行更新的过程中,还包括:
确定所述有效更新包的更新序列,同时,获取需要更新的所述装配节点的原始序列;
将所述更新序列与原始序列进行对比分析,获取所述原始序列中的待更新序列;
获取所述待更新序列与原始序列的比值,若所述比值小于预设比值,将所述待更新序列替换为更新序列;
否则,基于所述原始序列,确定所述待更新序列之间的最小序列间隔值以及平均序列间隔值;
若所述最小序列间隔值与平均序列间隔值的差值绝对值小于预设值,对所述最小序列间隔值对应的间隔序列以及相邻连续序列进行整体替换更新;
否则,对所述最小序列间隔值对应的相邻连续序列进行单独替换更新。
该实施例中,整体替换更新与单独替换更新,都是为了节省更新时间,提高个性化定制的效率。
上述技术方案的有益效果是:通过确定更新包的更新序列,并与对应的原始序列进行对比分析,根据其对比分析的比值,来有效确定更新的方式,提高了更新的有效选择性,同时,节省更新时间。
本发明实施例提供一种基于黑箱技术的SaaS软件定制需求装配方法,基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息的过程中,还包括:
基于与所述个性化框架相关的节点数据库,查找所述配置节点的节点类型以及解析类型,同时,获取所述配置节点的资源数据集,所述资源数据集中包括:所述配置节点的节点自身数据、被添加数据、自动生成数据;
获取所述配置节点的被访问概率以及被访问时间间隔;
根据如下公式,计算所述配置节点的综合权重值Z;
Figure 53193DEST_PATH_IMAGE001
其中,T表示预设时间段;j表示在预设时间段T的访问次数,且j=1,2,3,...,n+1;i 表示n+1次相邻访问的时间间隔数,且i=1,2,3,...,n;其中,n1表示n+1次相邻访问对应的 总时间间隔数,且n1=n;
Figure 413767DEST_PATH_IMAGE002
表示所述配置节点的节点自身数据的权重值;
Figure 800886DEST_PATH_IMAGE003
表示所述配置 节点的被添加数据的权重值;
Figure 233004DEST_PATH_IMAGE004
表示所述配置节点的自动生成数据的权重值;
Figure 123600DEST_PATH_IMAGE005
表示第 j次访问对所述节点自身数据的影响因子;
Figure 920655DEST_PATH_IMAGE006
表示第j次访问对所述被添加数据的影响因 子;
Figure 342540DEST_PATH_IMAGE007
表示第j次访问对所述自动生成数据的影响因子;p表示在预设时间段T内访问所述 配置节点的访问概率;
Figure 516032DEST_PATH_IMAGE008
表示第i个被访问时间间隔的时长;
根据所述综合权重值Z、节点类型以及解析类型,匹配所述标准框架中对应的待扩展节点和/或待变更节点。
该实施例中,上述影响因子的取值范围为[0.5,1];
该实施例中,节点自身数据是节点本身具备的系统数据;被添加数据是根据租户输入的个性化需求等来添加的数据;自动生成数据是在添加过程中产生的系统数据。
上述技术方案的有益效果是:通过对配置节点本身的节点自身数据、被添加数据、自动生成数据以及被访问概率和被访问间隔时间,来确定该配置节点的综合权重值,且根据综合权重值、节点类型以及解析类型,来匹配标准框架中的相关节点,可以为独立的配置节点中的信息,提供有效选择,为覆盖加载提供有效的加载节点,保证个性化相关信息的有效加载,为个性化定制提供基础,且根据匹配到的节点,可有效避免因随意选择标准框架中的任意节点进行覆盖加载带来的服务资源的浪费。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种基于黑箱技术的SaaS软件定制需求装配方法,其特征在于,包括:
基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架;
获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别;
获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置,同时,基于所述租户类别进行第二配置,进而实现定制配置;
筛选所述个性化框架中与所述定制配置相关的配置节点;
基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息,并将解析结果动态装配到标准框架中,实现定制需求装配;
将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
确定与动态装配所述解析结果对应的标准框架中的装配节点,其中,所述装配节点为待扩展节点和/或待变更节点;
获取所述标准框架的当前更新信息,若所述当前更新信息不包括更新所述装配节点,此时,对所述标准框架中对应的剩余节点进行节点更新;
若所述当前更新信息包括更新所述装配节点,此时,根据所述当前个性化需求,从组件数据库中,调用组件;
确定所述装配节点的节点业务,并将所述节点业务与调用的组件进行初次匹配,同时,将与所述当前更新信息相关的更新业务与所述节点业务进行再次匹配,并筛选对应的待更新组件;
获取与所述更新业务相关的更新参数,并建立所述更新参数与所述待更新组件的映射关系;
根据所述映射关系,调取有效更新包,并基于所述有效更新包对对应的装配节点进行更新;
基于黑箱技术的SaaS软件解析所述配置节点的节点信息以及解析所述定制配置的配置信息的过程中,还包括:
基于与所述个性化框架相关的节点数据库,查找所述配置节点的节点类型以及解析类型,同时,获取所述配置节点的资源数据集,所述资源数据集中包括:所述配置节点的节点自身数据、被添加数据、自动生成数据;
获取所述配置节点的被访问概率以及被访问时间间隔;
根据如下公式,计算所述配置节点的综合权重值Z;
Figure 345526DEST_PATH_IMAGE001
其中,T表示预设时间段;j表示在预设时间段T的访问次数,且j=1,2,3,...,n+1;i表示 n+1次相邻访问的时间间隔数,且i=1,2,3,...,n1;其中,n1表示n+1次相邻访问对应的总时 间间隔数,且n1=n;
Figure 401207DEST_PATH_IMAGE002
表示所述配置节点的节点自身数据的权重值;
Figure 155536DEST_PATH_IMAGE003
表示所述配置节点 的被添加数据的权重值;
Figure 892548DEST_PATH_IMAGE004
表示所述配置节点的自动生成数据的权重值;
Figure 228983DEST_PATH_IMAGE005
表示第j次 访问对所述节点自身数据的影响因子;
Figure 658827DEST_PATH_IMAGE006
表示第j次访问对所述被添加数据的影响因子;
Figure 900453DEST_PATH_IMAGE007
表示第j次访问对所述自动生成数据的影响因子;p表示在预设时间段T内访问所述配 置节点的访问概率;
Figure 237893DEST_PATH_IMAGE008
表示第i个被访问时间间隔的时长;
根据所述综合权重值Z、节点类型以及解析类型,匹配所述标准框架中对应的待扩展节点和/或待变更节点。
2.如权利要求1所述的定制需求装配方法,其特征在于,基于脚手架工程进行个性化需求功能开发,并进行打包部署,来构建个性化框架包括:
构建基础框架,且所述基础框架包括:标准节点集合和空白节点集合;
在所述基础框架的各个节点上,设置脚本参数,且所述脚本参数与所述节点的节点运行属性相关;
在所述基础框架的标准节点集合中的各个节点上,设置个性标识以及标准个性化参数,且所述标准个性化参数与对应节点的节点装配属性相关;
在所述基础框架的空白节点集合中的各个节点上,设置空白标识;
所述基础框架根据设置的脚本参数、标准个性化参数以及空白标识,构建成个性化框架。
3.如权利要求1所述的定制需求装配方法,其特征在于,获取所述目标租户的当前个性化需求,并基于构建的个性化框架进行第一配置的过程中包括:
调取所述个性化框架;
当所述目标租户的当前个性化需求与个性标识对应的个性需求不完全匹配时,提取所述个性化需求中的第一个性化需求条件和第二个性化需求条件;
从所述个性化框架对应的标准节点集合中获取与所述第一个性化需求条件相匹配的第一节点,同时,将所述第一个性化需求条件附加在所述第一节点上;
从所述个性化框架对应的空白节点集合中获取与所述第二个性化需求条件相匹配的第二节点,同时,将所述第二个性化需求条件附加在所述第二节点上,同时,对所述第二节点对应的空白标识进行改写;
基于附加后的第一节点以及附加后的第二节点进行第一配置。
4.如权利要求1所述的定制需求装配方法,其特征在于,获取目标租户的历史个性化信息,基于个性化租户区分模型,区分所述目标租户的租户类别包括:
提取获取的历史个性化信息中对应的每次历史需求装配的历史需求列表,且所述历史需求列表中包括至少一项历史个性化需求;
对所述历史个性化信息中的所有历史个性化需求进行分类处理,获取每类个性化需求的装配次数;
提取所述装配次数大于或等于预设次数的历史个性化需求,并获取对应类的第一类属性;
提取所述装配次数小于所述预设次数的历史个性化需求,并获取对应类的第二类属性;
获取每个所述历史需求列表的历史列表需求属性;
获取所述第一类属性与所述历史列表需求属性的第一关联值、所述第二类属性与所述历史列表需求属性的第二关联值、所述第一类属性和第二类属性以及所述历史列表需求属性的第三关联值;
所述个性化租户区分模型基于获取的所述第一关联值、第二关联值、第三关联值,区分所述目标租户的租户类别。
5.如权利要求1所述的定制需求装配方法,其特征在于,筛选所述个性化框架中与所述定制配置相关的配置节点包括:
获取第一配置过程的第一配置数据以及第二配置过程的第二配置数据;
建立所述第一配置数据、第二配置数据与所述个性化框架的关联联系;
从关联数据库中,确定所述个性化框架中与所述关联联系对应的配置节点。
6.如权利要求1所述的定制需求装配方法,其特征在于,将解析结果动态装配到标准框架中,实现定制需求装配的过程中,还包括:
获取所述解析结果中与所述配置节点对应的扩展包地址,并对所述扩展包地址进行动态加载,同时,与所述标准框架进行结合,对所述标准框架进行扩展或者变更,其包括:
获取历史动态装配过程中的配置数据,同时,遍历所述配置数据的数组对象,获取目标对象;
根据配置数据中的定制脚本包域名和对应的配置文件地址,加载脚本文件;
基于所述脚本文件,加载判断所述解析结果对应的配置样式中是否存在定制样式,若存在,根据预设配置规则,加载所述配置数据中的目标文件;
获取所述解析结果中与所述配置节点对应的扩展包地址;
根据查找机制,并基于获取的目标对象以及扩展包地址,对所述标准框架中的待扩展节点和/或待变更节点进行标识,同时,覆盖加载所述目标文件到所述待扩展节点和/或待变更节点。
7.如权利要求1所述的定制需求装配方法,其特征在于,基于所述有效更新包对对应的装配节点进行更新的过程中,还包括:
确定所述有效更新包的更新序列,同时,获取需要更新的所述装配节点的原始序列;
将所述更新序列与原始序列进行对比分析,获取所述原始序列中的待更新序列;
获取所述待更新序列与原始序列的比值,若所述比值小于预设比值,将所述待更新序列替换为更新序列;
否则,基于所述原始序列,确定所述待更新序列之间的最小序列间隔值以及平均序列间隔值;
若所述最小序列间隔值与平均序列间隔值的差值绝对值小于预设值,对所述最小序列间隔值对应的间隔序列以及相邻连续序列进行整体替换更新;
否则,对所述最小序列间隔值对应的相邻连续序列进行单独替换更新。
CN202011022092.5A 2020-09-25 2020-09-25 基于黑箱技术的SaaS软件定制需求装配方法 Active CN111930424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011022092.5A CN111930424B (zh) 2020-09-25 2020-09-25 基于黑箱技术的SaaS软件定制需求装配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011022092.5A CN111930424B (zh) 2020-09-25 2020-09-25 基于黑箱技术的SaaS软件定制需求装配方法

Publications (2)

Publication Number Publication Date
CN111930424A CN111930424A (zh) 2020-11-13
CN111930424B true CN111930424B (zh) 2020-12-29

Family

ID=73334190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011022092.5A Active CN111930424B (zh) 2020-09-25 2020-09-25 基于黑箱技术的SaaS软件定制需求装配方法

Country Status (1)

Country Link
CN (1) CN111930424B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508431A (zh) * 2020-12-15 2021-03-16 平安国际智慧城市科技股份有限公司 适用于多租户的服务系统的构造方法、框架、设备及介质
CN115658045B (zh) * 2022-12-06 2023-03-21 西安恒歌数码科技有限责任公司 一种快速搭建地理信息数据应用的系统和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200522B2 (en) * 2007-10-26 2012-06-12 International Business Machines Corporation Repeatable and standardized approach for deployment of a portable SOA infrastructure within a client environment
US8296718B2 (en) * 2007-10-31 2012-10-23 International Business Machines Corporation SOA software components that endure from prototyping to production
CN102314509A (zh) * 2011-09-09 2012-01-11 华南理工大学 一种saas模式的行业知识协同管理系统及其集成方法
CN104615799A (zh) * 2014-11-21 2015-05-13 惠州市仲恺高新技术投资控股有限公司 一种电子产品云设计公共服务平台的构建方法
CN104572070A (zh) * 2014-11-21 2015-04-29 惠州市仲恺高新技术投资控股有限公司 一种基于SaaS与云计算的公共服务平台的开发方法

Also Published As

Publication number Publication date
CN111930424A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111930424B (zh) 基于黑箱技术的SaaS软件定制需求装配方法
US8171465B2 (en) Applicable patch selection device and applicable patch selection method
CN108153520A (zh) 软件开发方法及装置
US20080097802A1 (en) Time-Series Forecasting
CN111708702A (zh) 模拟测试方法、客户端、服务端、系统与可读存储介质
CN111541746B (zh) 面向用户需求变化的多版本并存的微服务自适应方法
US10169222B2 (en) Apparatus and method for expanding the scope of systems management applications by runtime independence
CN109117164A (zh) 基于关键元素差异性分析的微服务更新方法及系统
CN106909429A (zh) 一种同步升级方法及装置
CN115525533A (zh) 信息处理方法、装置、计算机设备及存储介质
CN109739665A (zh) 接口管理方法、装置、服务器及存储介质
CN112906206A (zh) 数字孪生模型构建方法和装置
CN109165332A (zh) 一种网页信息获取方法、装置以及设备
CN106528140B (zh) 规格适配方法及装置
CN111683005B (zh) 一种物联网智能网关设备及其构建方法
CN112000343A (zh) 使用Devops在Kubernetes中部署多版本服务的方法及系统
CN114663139A (zh) 资源位的处理方法、装置、存储介质和处理器
CN111813816A (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN112307379B (zh) 页面生成方法、装置及设备
JP7391503B2 (ja) 情報処理システムおよび情報処理方法
CN113867714A (zh) 一种适配多语言的自动代码生成方法
CN113434119A (zh) 一种基于流程控制的业务处理方法及其装置
CN116633812B (zh) 一种基于nginx智能容错路由的多版本同步测试方法及系统
CN109213678A (zh) 确定测试数据的方法和装置
CN115543353B (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: No.637, 6 / F, 101 West Fourth Ring Road South, Fengtai District, Beijing

Patentee after: Zhixueyun (Beijing) Technology Co.,Ltd.

Address before: No.637, 6 / F, 101 West Fourth Ring Road South, Fengtai District, Beijing

Patentee before: Zhixueyun (Beijing) Technology Co.,Ltd.