一种柔性数字控制的代码部署方法、及数字控制平台与流程

文档序号:21777930发布日期:2020-08-07 19:46阅读:172来源:国知局
一种柔性数字控制的代码部署方法、及数字控制平台与流程

本发明涉及一种柔性数字控制的代码部署方法、及数字控制平台。



背景技术:

在软件开发领域中,现有的后端开发模式遵循流程化及与前端配合持续迭代改进的理念进行,对多个业务需求,需要重复地构建、部署和发布代码,每一个新功能的开发及部署均依赖开发人员及运维人员的经验,而经验往往无法传承;开发过程中,通常会将之前开发的具有相似功能的子代码作为模板复制后修改,但是不同开发人员写的代码由于经验和习惯的原因会导致差异,这些差异容易导致无法对已知的bug进行修复,从而影响开发进度及影响代码质量;另一方面,现有的开发模式,每一次的开发均需重复以上操作,使得开发人员疲于应对繁重的业务开发,而没有空余时间思考如何改进及优化代码。

因此,如何实现代码的柔性控制和部署,提高开发人员的软件开发效率,成为了业界亟待解决的一个技术问题。



技术实现要素:

针对现有技术的缺点,本发明的目的是提供柔性数字控制的代码部署方法,其可直接选择相应业务功能的多个子代码,并柔性地配置相应子代码的数据约束,再打包生成安装包,极大地提高了开发人员的软件开发效率、数据约束可柔性控制,减少存储空间、减少冗余代码、提高代码质量及运行效率。

为了实现上述目的,本发明一方面提供了柔性数字控制的代码部署方法,其包括以下步骤:

s1:对多个业务子功能分别生成子代码并存储至服务器,建立包括多个子代码的数字控制平台,子代码包括一个或多个配置接口;

s2:在数字控制平台上,根据业务需求选择相应的业务子代码,并在配置接口配置相应的业务约束及数据约束;

s3:将配置完成的多个子代码打包,生成安装包供部署或升级。

本发明中,每个子代码通过具有丰富经验的开发人员开发,并经多次的测试确认无误后,保存至服务器,并在子代码设置多个配置接口,用于对子代码中涉及到的相应字段进行柔性的配置;配置完成后的,将多个能够实现相关业务需求的子代码进行打包,生成安装包,通过该方式,极大地提高了开发人员的开发效率、数据约束可柔性控制,减少存储空间、减少冗余代码、提高代码质量及运行效率。

本发明提供的柔性数字控制的代码部署方法,在进行软件开发过程中,只需选择相应功能的子代码并自动部署生成,其操作过程简单,便捷,不需要太多的丰富经验即可完成,有效地提高了开发人员的开发效率,减少了开发人员的工作量,降低软件开发人员的入行门槛,有经验的开发人员具有更多的业余时间研究如何优化个改进。

根据本发明的另一具体实施方式,服务器包括:个人用户的物理服务器或虚拟服务器、企业用户的物理服务器或虚拟服务器、云服务提供商为用户提供的物理服务器或虚拟服务器、云服务提供商为用户提供的物理服务器集群或虚拟服务器集群的的任意一种。

根据本发明的另一具体实施方式,步骤s3中的对选择的子代码的部署方法,包括拖动式部署、引导式部署、ai智能部署方法的一种或多种,可使部署自动化生成,同时,也可进一步认为地根据需求进行调整,进一步提高软件开发效率,同时确保准确率。

根据本发明的另一具体实施方式,步骤s1中,每个子代码包括对应的标识信息,根据标识信息,对子代码进行分类存储,分类存储包括第一级目录、第二级目录,根据实际应用,也可依次包括第三级目录、第四级目录等。子代码的标识信息用于识别子代码的功能,并根据功能内容进行分类识别,便于软件开发人员快速找到所需的子代码,进一步提高软件开发效率。

根据本发明另一具体实施方式,步骤s2中,根据业务需求选择相应的业务子代码,可根据子代码存储目录逐一选择,也可根据子代码智能匹配推荐的子代码进行选择。

根据本发明的又一具体实施方式,子代码的智能匹配推荐包括以下步骤:

对选择的子代码与系统中存储的子代码进行相似度判断;

根据判断得到的相似度较高的子代码进行推荐。

根据本发明的另一具体实施方式,配置接口包括:

根据业务需要为数据表、数据字段及数据键设置用于显示的注释;

根据业务需要为数据表、数据字段及数据键设置主键、唯一约束、是否为空约束、主外键约束;

根据业务需要为数据表、数据字段及数据键设置主外键对应关系;

根据业务需要为数据表、数据字段及数据键设置或调整数据类型存储约束。在配置接口实现相关的存储约束、并详细了解相关子代码的功能信息,减少出错率,提高软件开发效率。同时,通过配置接口配置相关的存储约束,有利于根据实际业务项目选择合理的数据范围,减少存储空间,加快软件的运行效率。

根据本发明的另一具体实施方式,步骤s2之前,还包括步骤s20:配置或读取类型配置信息;类型配置信息包括:

关系型或键值型数据库地址、数据库的用户权限;

web访问目录的用户权限;

web访问目录的ftp用户权限;

第三方服务提供商提供的服务访问配置。便于平台管理和维护。

本发明的另一方面,还提供了用于上述代码部署方法的数字控制平台,其包括:

子代码模块,子代码模块包括若干个可直接调用的子代码,用于根据业务需求选择相应功能的子代码;

新建模块,新建模块用于新建数字控制平台中不包含的新功能的子代码;

部署模块,部署模块用于对选中的子代码进行排列部署;

生成模块,生成模块用于对选中的子代码进行打包,并生成安装包发送至本地环境。

根据本发明的另一具体实施方式,子代码中,包括详细的注释信息及接口说明,使得后期的更新和维护人员能够更快速地改进和优化相应的子代码。

根据本发明的另一具体实施方式,数字控制平台还包括智能推荐模块,智能推荐模块用于对与选中子代码相关联的子代码进行匹配并推荐。

根据本发明的另一具体实施方式,数字控制平台还包括测试模块,测试模块用于对新增入的子代码进行测试,和/或者对部署完成的多个子代码进行连续性测试。

根据本发明的另一具体实施方式,数字控制平台还包括日志模块,日志模块用于记录子代码的增入信息、每个子代码的选用和部署信息。

本发明相对于现有技术,具有如下有益效果:

1、本发明提供的代码部署方法,操作简单、快速,极大地提高了开发人员的效率,减少了工作量和测试量。

2、本发明中的子代码可持续使用于多个业务项目,代码开发经验得到传承,降低软件开发人员的入行门槛,有经验的开发人员具有更多的业余时间研究如何优化个改进。

3、通过柔性配置各个子代码的数据约束,使得约束范围更加合理化,节省存储空间,提高软件的运行效率。

4、本发明中的子代码均为有经验的开发人员,经过充分、完善的思考开发而成,并经过测试确保子代码的准确性,使得代码更加合理、规范。

下面结合附图对本发明作进一步的详细说明。

附图说明

图1是实施例1的数字控制平台的结构示意图;

图2是实施例1的子代码模块的分布示意图。

具体实施方式

实施例1

本实施例提供了柔性数字控制的代码部署方法,其步骤为:

s1:对多个业务子功能分别生成子代码并存储至服务器,建立包括多个子代码的数字控制平台,子代码包括一个或多个配置接口;服务器包括:个人用户的物理服务器或虚拟服务器、企业用户的物理服务器或虚拟服务器、云服务提供商为用户提供的物理服务器或虚拟服务器、云服务提供商为用户提供的物理服务器集群或虚拟服务器集群的的任意一种。每个子代码包括对应的标识信息,根据标识信息,对子代码进行分类存储,分类存储包括第一级目录、第二级目录,例如,第一级目录可为业务领域、第二级目录为业务功能,如此,将子代码进行分类存储;根据实际应用,也可依次包括第三级目录、第四级目录等。子代码的标识信息用于识别子代码的功能,并根据功能内容进行分类识别,便于软件开发人员快速找到所需的子代码,进一步提高软件开发效率。

步骤s20:在数字控制平台上配置或读取类型配置信息;类型配置信息包括:关系型或键值型数据库地址、数据库的用户权限;web访问目录的用户权限;web访问目录的ftp用户权限;第三方服务提供商提供的服务访问配置。便于平台管理和维护。

s2:在数字控制平台上,根据业务需求选择相应的业务子代码,并在配置接口配置相应的业务约束及数据约束;每个子代码中相应的配置接口包括:根据业务需要为数据表、数据字段及数据键设置用于显示的注释;根据业务需要为数据表、数据字段及数据键设置主键、唯一约束、是否为空约束、主外键约束;根据业务需要为数据表、数据字段及数据键设置主外键对应关系;根据业务需要为数据表、数据字段及数据键设置或调整数据类型存储约束。在配置接口进行柔性配置实现相关的存储约束、并详细了解相关子代码的功能信息,减少出错率,提高软件开发效率。同时,通过配置接口配置相关的存储约束,有利于根据实际业务项目选择合理的数据范围,减少存储空间,加快软件的运行效率。

s3:将配置完成的多个子代码打包,生成安装包供部署或升级。其中部署方法,包括拖动式部署、引导式部署、ai智能部署方法的一种或多种,可使部署自动化生成,同时,也可进一步认为地根据需求进行调整,进一步提高软件开发效率,同时确保准确率。

例如,需要开发一个公司管理方面的软件系统,需要包括考勤打卡、访问记录等功能;则在数字控制平台中找到对应关于考勤打卡、访问记录的子代码,并在子代码的配置接口配置相关的数据约束,最后将子代码打包生成安装包即可,开发速度简单、快速、便捷。进一步地,例如,访问记录中需要包含访问日期、访问时间、访问人数、访问者姓名、访问者联系方式等信息记录功能;在访问记录的子代码中包含的信息完全覆盖上述功能,包括访问日期、访问时间、访问人数、访问者姓名、访问事由、访问者年龄、访问者联系方式、访问时长、被访问者姓名等信息记录功能,该子代码包含的功能由具有丰富经验的开发人员、经过缜密细致的思考、做出全面的部署后开发实现,使得访问记录的子代码包括较全面的功能,具有更广泛的适用性;在选择访问记录的子代码后,对子代码中的相关数据字段配置数据约束,对需要使用的功能配置适应于公司应用的数据约束,例如访问时间约束为公司的上下班时间,访问事由约束为10个字数,访问者联系方式约束为11个数字等,使得代码运行过程中减少判断时间、提高运行速率;另一方面,不需要的功能,例如访问事由、访问时长、被访问者姓名;设置为空约束。

上述访问记录的子代码中,包括的访问日期、访问时间、访问人数、访问者姓名、访问事由、访问者年龄、访问者联系方式、访问时长、被访问者姓名等信息记录功能,其中的访问日期、访问时间可上位为时间模块;访问者姓名、访问事由、被访问者姓名可上位为文本模块;访问人数、访问者年龄、访问者联系方式、访问时长可上位为数字模块;使得需要上述上位模块的功能应用也可以直接选择该子代码。例如,访问记录的子代码,也可应用于,例如,餐饮店的消费记录中,文本模块记录消费的产品名称;数字模块分别记录产品数量、产品金额;时间模块记录消费时间等;因此,可直接选择该访问记录的子代码,并对相应的数据约束之后,打包生产安装包即可。

本实施例提供的柔性数字控制的代码部署方法,适用于多个不同领域的业务项目;每一个业务项目需要多个不同的业务子功能,以实现业务项目的完整、系统的功能。针对这一需求,本实施例,进一步提供一种子代码的智能推荐方法,其可自动匹配并推荐相关联的子代码,便于用户直接选用,进一步提高开发人员的开发效率。例如:当开发电商应用时,智能配置出相关商品的颜色、大小、出产地、重量、尺寸、厚度等属性的子功能的子代码,然后开发人员根据智能配置的子代码进行选择调用;开发“服装”这个品类的应用时,智能配置得到包括颜色、尺寸、款式、领形、厚度等功能的子代码;开发“汽车”品类的应用时,智能配置得到包括轴距、座位数、制动方式、品牌、整车质量、车辆级别等功能的子代码。

本实施例中的子代码的智能推荐方法包括以下步骤:步骤1、对选择的子代码与系统中存储的子代码进行相似度判断;步骤2、根据判断得到的相似度较高的子代码进行推荐。其中,相似度判断中,首先建立参数化的生成模型,其包括两层:可见层和隐含层,层间双向全连接,层内无连接。可见层中的每个单元代表观测的变量值,隐含层中的单元是用来对可见层中的单元之间的相互依赖关系进行建模。在本实施例中,隐含层单元的数量代表特征值的数量;每一个单元代表一个角度的考量;每个单元的值代表一个特征值激活的概率;在训练的过程中,我们并不知道每个单元具体对应哪一个特征值,而只能根据隐含层的单元个数来区分不同的特征类型。例如,从“人”“财”“事”“物”等四个角度考虑业务类型的相似度,从“事”的角度考虑时,可包括行政事务、业务事务、流程事务等多个特征值;对应到的隐含层单元数也为多个,每个单元就对应了一个题材特征值激活的概率。设特征值的数量为k,即隐含层的单元数为k。

可见层中的每个单元代表观测的变量值,可见层中的每一个单元代表n次代码开发该品类代码时的对系统中每一个子代码的调用情况,xi∈{0,1},其中0代表未调用,1代表曾调用。本实施例中,对子代码相似度进行建模,其中fi代表第i种角度,代表在第i种角度下的第j种状态的特征值激活概率,

在计算相似度的过程中,本实施例采用非线性函数sigmoid作为模型的激活函数。sigmoid函数的形式如下:

根据对系统中子代码类型的理解,指定k个计算子代码功能相似度的角度,并且针对这k个角度指定相应的相似度计算角度应该具有特征值的个数。然后针对每个相似度计算的角度构建一个模型,对这k个模型进行训练,当将这k个模型训练完成后,得到每个品类在这k个角度下特征值激活的概率向量值以及每个角度在相似性度量中所占的权重λk,那么对于系统中的每个子代码,都可以得到k个角度下的特征值激活概率向量值。

k个角度的特征值激活概率向量值代表一个子代码在每一个角度下所可能特征值激活的概率分布,特征值激活概率向量右边的参数,λi代表系统中指定的第i个度量相似度角度的权重大小。那么对于子代码i来说,它和子代码j之间的相似度为:

如果是对子代码j说,那么它和子代码i间的相似度就为:

其中,kl(fk(i)||fk(j))表示子代码i子代码j在第k个角度上特征值激活分布的kl散度值,因为kl散度具有不对称性,所以s(i,j)≠s(j,i)。这里之所以使用kl散度来计算子代码之间的相似度,是因为当计算其它子代码的特征分布和主体子代码i的特征分布时,可以认为是在用其它子代码的特征分布来近似子代码i的特征分布,在这种情况下,使用kl(fk(j)||fk(i))来计算相似度,可以强调子代码j对子代码i的特征分布中的某一个激活概率较大的特征值的匹配,即考虑在所有的特征值中,两个子代码在哪一个角度特征上最为匹配。

本实施例的另一方面,还提供了用于上述代码部署方法的数字控制平台,如图1-2所示,其包括:子代码模块、新建模块、部署模块和生成模块。

子代码模块,子代码模块包括若干个可直接调用的子代码,用于根据业务需求选择相应功能的子代码;每一个子代码均为具有多年经验的开发人员,经过充分、完善的思考开发而成,并经过测试确保子代码的准确性,使得代码更加合理、规范。子代码中,包括详细的注释信息及接口说明,便于更新和维护。新建模块,新建模块用于新建数字控制平台中不包含的新功能的子代码;将开发完成的子代码存储,并选用,使得数字控制平台功能更完善,具有更广泛的应用。部署模块,部署模块用于对选中的子代码进行排列部署;部署模块包括拖动式部署、引导式部署、ai智能部署方法的一种或多种,可使部署自动化生成,同时,也可进一步认为地根据需求进行调整,进一步提高软件开发效率,同时确保准确率。生成模块,生成模块用于对选中的子代码进行打包,并生成安装包发送至本地环境。

数字控制平台1还包括智能推荐模块,智能推荐模块用于对与选中子代码相关联的子代码进行匹配并推荐。

数字控制平台1还包括测试模块,测试模块用于对新增入的子代码进行测试,和/或者对部署完成的多个子代码进行连续性测试,使得打包完成的安装包能够直接使用。也可在打包完成的安装包内继续开发和调整代码,并测试使用。

数字控制平台1还包括日志模块,日志模块用于记录子代码的增入信息、每个子代码的选用和部署信息,便于控制平台的管理。

虽然本发明以较佳实施例揭露如上,但并非用以限定本发明实施的范围。任何本领域的普通技术人员,在不脱离本发明的发明范围内,当可作些许的改进,即凡是依照本发明所做的同等改进,应为本发明的范围所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1