CN109683957A - 功能扩展的方法及设备 - Google Patents
功能扩展的方法及设备 Download PDFInfo
- Publication number
- CN109683957A CN109683957A CN201811434328.9A CN201811434328A CN109683957A CN 109683957 A CN109683957 A CN 109683957A CN 201811434328 A CN201811434328 A CN 201811434328A CN 109683957 A CN109683957 A CN 109683957A
- Authority
- CN
- China
- Prior art keywords
- project file
- module
- project
- file
- objective function
- 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/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种功能扩展方法及设备,包括:获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;创建所述目标功能模块的项目配置文件;基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。上述方案,无需对系统整体的业务代码和逻辑代码进行修改,实现了在系统中平行扩展功能,简化了扩展功能的步骤。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种功能扩展的方法及设备。
背景技术
随着互联网的普及,现在人们越来越多的通过计算机软件平台来实现功能化的管理。
但是,现有的软件系统耦合度高,在使用时,添加新的功能模块时,需要对系统整体的业务代码和逻辑代码进行修改,添加新的功能模块时操作繁琐,浪费资源。
发明内容
有鉴于此,本发明实施例提供了一种功能扩展的方法及设备,以解决现有技术中软件系统耦合度高,添加新的功能模块时操作繁琐,浪费资源的问题。
本发明实施例的第一方面提供了一种功能扩展方法,包括:
获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;
创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;
基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
本发明实施例的第二方面提供了一种扩展功能的设备,包括:
第一获取单元,用于获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
第一创建单元,用于基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;第二创建单元,用于创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;第一处理单元,用于基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
第二处理单元,用于获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
本发明实施例的第三方面提供了一种扩展功能的设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面所述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,包括:计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面所述方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。无需对系统整体的业务代码和逻辑代码进行修改,实现了在系统中平行扩展功能,简化了扩展功能的步骤。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种功能扩展方法的实现流程图;
图2是本发明实施例提供的一种功能扩展方法S104的实现流程图;
图3是本发明实施例提供的一种功能扩展方法S106~S108的实现流程图;
图4是本发明实施例提供的一种扩展功能的设备的示意图;
图5是本发明另一实施例提供的一种扩展功能的设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
请参见图1,图1是本发明实施例提供的一种功能扩展方法的实现流程图。本实施例中功能扩展方法的执行主体为设备,设备包括但是不限于服务器、终端等,其中,服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是云计算服务中心。如图1所示的功能扩展方法可包括:
S101:获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识。
设备检测到用户触发创建功能模块的创建请求时,获取创建请求。其中,创建请求包括待创建的目标功能模块的标识,目标功能模块的标识是待创建的目标功能模块唯一对应的标识,用于在系统中为待创建的目标功能模块命名。创建请求也可以包括待创建的目标功能模块的名称以及待创建的目标功能模块的菜单排序等。
触发创建请求的方式可以是用户在应用的交互界面中点击“创建功能模块”虚拟按钮后,确认添加创建请求;或者用户在交互界面的“模块管理”界面,点击“加号”虚拟按钮后,确认添加创建请求。
例如,用户在点击“创建功能模块”虚拟按钮后,界面上会出现“功能模块列表”,可以在列表中输入待创建的目标功能模块的标识、待创建的目标功能模块的名称以及待创建的目标功能模块的菜单排序等,输入后点击“确认”虚拟按钮,触发创建功能模块的创建请求。
S102:基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件。
设备创建目标功能模块的父工程文件,基于所述创建请求中的待创建的目标功能模块的标识命名目标功能模块的父工程文件。其中,目标功能模块的父工程文件为Maven工程文件,是基于项目对象模型(POM project object model)的,可以通过一段描述信息来管理整个工程的构建。创建请求中包括核心指令、交互模式信息、父工程文件的标识信息等。
例如,在检测到指令1或指令2时,创建目标功能模块的父工程文件:
指令1:mvnarchetype:create-DgroupId=com.wuhao.maven.quickstart-DartifactId=simple-D archetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false-Darche typeCatalog=internal
指令2:mvnarchetype:generate-DgroupId=com.wuhao.maven.quickstart-DartifactId=simple-DarchetypeArtifactId=maven-archetype-quickstart-Dinteractiv eMode=false-DarchetypeCatalog=internal
其中,mvn为核心指令;
archetype:create用于指示设备创建父工程文件;
-DgroupId=com.gongsiming.xinagmuming:创建该父工程文件时的groupId、;
-DartifactId=simple:创建该maven项目时的artifactId就是父工程文件maven项目文件名称;
-DarchetypeArtifactId=maven-archetype-quickstart表示创建的是maven项目文件;
-DinteractiveMode=false,标识是否使用交互模式,当true时,可灵活的设置项目版本号;
-DarchetypeCatalog=internal设置maven不要从远程服务器上获取catalog。
设备预先设置每一个父工程文件中包含的子工程文件的名称和类型,即每一个功能模块的父工程文件中的子工程文件都是相同的,通过创建子工程文件,再进行配置,就可以实现该功能模块的功能。设备创建了目标功能模块的父工程文件后,在目标功能模块的父工程文件中按照预先设置的子工程文件内容创建目标功能模块的子工程文件,可以对父工程文件进行分层,每一层存储一个子工程文件。
进一步地,为了子文件工程能够更好地实现目标功能模块,所述子工程文件包括:接口工程文件、语言工程文件、业务实现工程文件以及逻辑工程文件。
设备创建子工程文件,再进行配置,就可以实现该功能模块的功能,子工程文件可以包括接口工程文件、语言工程文件、业务实现工程文件以及逻辑工程文件等,子工程文件包括但是不限于以上工程文件。其中,接口工程文件里面存放的全部接口文件,以供功能模块调用或者在启动功能模块时进行调用;语言工程文件存放是国际化文件,里面有界面上功能模块名称,提示语等各个国家的翻译版本;业务实现工程文件存放是具体的业务逻辑代码,用来实现接口工程文件中存放的接口;逻辑工程文件用来实现接口工程文件中存放的接口,主要负责请求、跳转逻辑。
在系统中,每一个子工程文件有名称,比如api、I18n、system、web,其中,api对应接口工程文件;I18n对应语言工程文件;service对应业务实现工程文件;web对应逻辑工程文件。子工程文件还可包括model子工程文件、remote子工程文件、system子工程文件、vo子工程文件等。model子工程文件存放数据表映射的实体文件,用来生成表;remote子工程文件存放接口文件,里面可以看到restful风格的请求路径,由web层具体实现;system子工程文件主要是用于菜单初始化及对service和web的引用;vo子工程文件存放java bean格式的java文件,vo对象。
S103:创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系。
设备基于目标功能模块的父工程文件和子工程文件创建目标功能模块的项目配置文件,其中,项目配置文件为该目标功能模块的核心配置文件,用于配置获取目标功能模块。
本实施例中的父工程文件为maven工程文件,对于maven工程文件中,核心配置文件为pom.xml,核心配置文件pom.xml用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、授权、依赖关系等等。
对于项目配置文件来说,包括依赖关系内容、继承关系内容以及聚合内容。对于目标功能模块的项目配置文件来说,应当包括:父工程文件的配置信息、子工程文件的配置信息、父工程文件与子工程文件之间的引用关系以及子工程文件之间的引用关系。其中,父工程文件的配置信息用于配置父工程文件,子工程文件的配置信息用于配置子工程文件,父工程文件与子工程文件之间的引用关系以及子工程文件之间的引用关系用于配置父工程与子工程之间的关系以及子工程之间的关系。
其中,父工程文件与子工程文件之间的引用关系可以为父工程文件引用所有的子工程文件;子工程文件之间的引用关系可以为:api子工程文件引用vo子工程文件,remote子工程文件引用vo子工程文件和spring-boot-starter-web包,service子工程文件引用api子工程文件、model子工程文件、vo子工程文件,system子工程文件引用service子工程文件和web子工程文件。
其中,父工程文件与子工程文件之间以及子工程文件之间的通讯是通过远程过程调用协议RPC(Remote Procedure Call Protocol)框架的Dubbo架构来实现的。
进一步地,为了有层次性的创建目标功能模块的项目配置文件,S103可以包括:在所述父工程文件中创建所述父工程文件的项目配置文件;在所述子工程文件中创建所述子工程文件的项目配置文件。
设备在父工程文件中创建父工程文件的项目配置文件,父工程文件的项目配置文件包括父工程文件的配置信息以及父工程文件与子工程文件之间的引用关系;设备在子工程文件中创建子工程文件的项目配置文件,子工程文件的项目配置文件包括子工程文件的配置信息以及子工程文件之间的引用关系。此时,父工程文件的项目配置文件与子工程文件的项目配置文件的关系可以为引用关系。
S104:基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录。
设备基于项目配置文件确定目标功能模块的标签,其中目标功能模块的标签可以包括groupid通常是域名;artifactid是构建模块档案文件本身的名字;version规定了当前构建模块档案文件的版本,版本号。通过目标功能模块的标签、父工程文件以及子工程文件定位出目标功能模块的模块档案文件,根据定位出目标功能模块的模块档案文件,新建目标功能模块的模块档案文件。
将目标功能模块的模块档案文件存入系统目录,根据系统目录生成前端的页面,新增的目标功能模块就会出现在页面上。
进一步地,S104可以包括S1041~S1043,如图2所示,具体如下:
S1041:基于所述父工程文件和所述子工程文件新建工程模板信息,其中,所述工程模板信息包括所述父工程文件和所述子工程文件中数据的类型信息。
基于所述父工程文件和所述子工程文件新建工程模板信息,其中,工程模板信息即java类,表示目标功能模块的所有对象的集合。工程模板信息可以实现接口CommandLineRunner,用于在启动时加载数据等操作,在目标功能模块启动后,设备遍历CommandLineRunner接口的实例并运行。
S1042:基于所述工程模板信息和所述项目配置文件,生成所述目标功能模块的模块档案文件。
将工程模板信息写入数据库的表中,包括目标功能模块的内容以及名称字段等。设备基于项目配置文件确定目标功能模块的标签,其中目标功能模块的标签可以包括groupid通常是域名;artifactid是构建模块档案文件本身的名字;version规定了当前构建模块档案文件的版本,版本号。设备在项目配置文件中执行预设的指令,基于工程模板信息生成目标功能模块的模块档案文件。
S1043:将所述模块档案文件存入系统目录。
S1043与S104中的描述完全一致,此处不再赘述。
S105:获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
设备将模块档案文件存入系统目录后,新增的目标功能模块就会出现在前端页面上,新增的功能模块是没有任何功能的,需要用户根据自己的需求进行配置。设备获取用于配置功能模块的功能配置请求,用户触发配置请求的方式可以是通过在前端页面上进行功能模块的设置,其中,配置请求包括该目标功能模块的基础管理信息等。设备基于功能配置请求包含的配置信息配置目标功能模块,完成功能模块的扩展。
进一步地,本实施例还可以包括S106~S108,如图3所示,具体如下:
S106:在所述系统目录下的模块档案文件中添加所述目标功能模块的签名信息。
设备通过jarsigner指令在系统目录下的模块档案文件中添加目标功能模块的签名信息。其中,签名信息是一个根据被签名的数据和实体的私钥计算出来的位字符串。jarsigner指令使用来自密钥仓库的密钥和证书信息为模块档案文件生成签名信息,其中密钥仓库是一个由私钥及其相关的X.509证书链组成的数据库,可以使用keytool实用程序来创建和管理密钥仓库,签名证书为第三信用机构购买的证书。
当为模块档案文件添加签名信息时,输出的已签名模块档案文件与输入的模块档案文件完全一样,只是输出的已签名模块档案文件在签名信息目录下有两个附加文件存储有签名信息。
S107:当启动所述目标功能模块时,验证所述签名信息。
设备启动目标功能模块时,验证目标功能模块的签名信息,已签名的模块档案文件包含来自密钥仓库的公钥的证书副本,设备在验证所述签名信息时,jarsigner指令可以比较已签名的模块档案文件中的证书副本与预设的信息是否一致,从而验证签名信息。
进一步地,S107可以包括:当启动所述目标功能模块时,启动用于验证签名的可执行程序,并校验所述签名信息与所述预设签名信息是否一致,其中,所述可执行程序包括预设签名信息。
设备中预先安装了验证签名的可执行程序,其中,可执行程序中包括了预设的签名信息。设备启动目标功能模块时,启动可执行程序,可以采用go语言来启动可执行程序。获取目标功能模块的签名信息,判断目标功能模块的签名信息是否与预设的签名信息一致。
S108:当所述签名证书信息与预设签名信息一致时,启动所述目标功能模块。
当设备获取到签名证书信息与预设签名信息一致时,启动目标功能模块。
这样,通过启动目标功能模块前验证签名信息,签名证书信息与预设签名信息一致时才可以启动,防止代码被改动,提高了安全性。
本发明实施例中通过获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。无需对系统整体的业务代码和逻辑代码进行修改,实现了在系统中平行扩展功能,简化了扩展功能的步骤。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
请参阅图4,图4是本发明实施例提供的一种扩展功能的设备的示意图。其包括的各单元用于执行图1~图3对应的实施例中的各步骤。具体请参阅图1~图3各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,扩展功能的设备4包括:
第一获取单元410,用于获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
第一创建单元420,用于基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;
第二创建单元430,用于创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;
第一处理单元440,用于基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
第二处理单元450,用于获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
进一步地,第一处理单元还包括:
第三处理单元,用于在所述系统目录下的模块档案文件中添加所述目标功能模块的签名信息。
进一步地,第二创建单元430还用于:
在所述父工程文件中创建所述父工程文件的项目配置文件;
在所述子工程文件中创建所述子工程文件的项目配置文件。
进一步地,第一处理单元440还用于:
基于所述父工程文件和所述子工程文件新建工程模板信息,其中,所述工程模板信息包括所述父工程文件和所述子工程文件中数据的类型信息;
基于所述工程模板信息和所述项目配置文件,生成所述目标功能模块的模块档案文件;
将所述模块档案文件存入系统目录。
进一步地,第三处理单元包括:
验证单元,用于当启动所述目标功能模块时,验证所述签名信息;
启动单元,用于当所述签名证书信息与预设签名信息一致时,启动所述目标功能模块。
进一步地,验证单元还用于:
当启动所述目标功能模块时,启动用于验证签名的可执行程序,并校验所述签名信息与所述预设签名信息是否一致,其中,所述可执行程序包括预设签名信息。进一步地,所述子工程文件包括:接口工程文件、语言工程文件、业务实现工程文件以及逻辑工程文件。
图5是本发明另一实施例提供的扩展功能的设备的示意图。如图5所示,该实施例的扩展功能的设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如扩展功能的程序。所述处理器50执行所述计算机程序52时实现上述各个功能扩展方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各单元的功能,例如图4所示模块41至45的功能。
示例性的,所述计算机程序52可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述扩展功能的设备5中的执行过程。例如,所述计算机程序52可以被分割成第一获取单元、第一创建单元、第二创建单元、第一处理单元、第二处理单元,各模块具体功能如下:
第一获取单元,用于获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
第一创建单元,用于基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;
第二创建单元,用于创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;
第一处理单元,用于基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
第二处理单元,用于获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
所述扩展功能的设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述系统扩展功能的设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是扩展功能的设备5的示例,并不构成对扩展功能的设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述系统扩展功能的设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述扩展功能的设备5的内部存储单元,例如扩展功能的设备5的硬盘或内存。所述存储器51也可以是所述扩展功能的设备5的外部存储设备,例如所述扩展功能的设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述扩展功能的设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述系统扩展功能的设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种功能扩展方法,其特征在于,包括:
获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;
创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;
基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
2.如权利要求1所述的功能扩展方法,其特征在于,还包括:
在所述系统目录下的模块档案文件中添加所述目标功能模块的签名信息。
3.如权利要求1所述的扩展功能的方法,其特征在于,所述创建所述目标功能模块的项目配置文件,包括:
在所述父工程文件中创建所述父工程文件的项目配置文件;
在所述子工程文件中创建所述子工程文件的项目配置文件。
4.如权利要求3所述的功能扩展方法,其特征在于,所述基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录,包括:
基于所述父工程文件和所述子工程文件新建工程模板信息,其中,所述工程模板信息包括所述父工程文件和所述子工程文件中数据的类型信息;
基于所述工程模板信息和所述项目配置文件,生成所述目标功能模块的模块档案文件;
将所述模块档案文件存入系统目录。
5.如权利要求2所述的功能扩展方法,其特征在于,还包括:
当启动所述目标功能模块时,验证所述签名信息;
当所述签名证书信息与预设签名信息一致时,启动所述目标功能模块。
6.如权利要求5所述的功能扩展方法,其特征在于,所述当启动所述目标功能模块时,验证所述签名证书信息,包括:
当启动所述目标功能模块时,启动用于验证签名的可执行程序,并校验所述签名信息与所述预设签名信息是否一致,其中,所述可执行程序包括预设签名信息。
7.如权利要求1所述的功能扩展方法,其特征在于,
所述子工程文件包括:接口工程文件、语言工程文件、业务实现工程文件以及逻辑工程文件。
8.一种扩展功能的设备,其特征在于,包括:
第一获取单元,用于获取用于创建功能模块的创建请求,其中,所述创建请求包括待创建的目标功能模块的标识;
第一创建单元,用于基于所述创建请求创建所述目标功能模块的父工程文件,以及在所述父工程文件中创建子工程文件;
第二创建单元,用于创建所述目标功能模块的项目配置文件,其中,所述项目配置文件包括:所述父工程文件的配置信息、所述子工程文件的配置信息、所述父工程文件与子工程文件之间的引用关系以及所述子工程文件之间的引用关系;
第一处理单元,用于基于所述项目配置文件、所述父工程文件以及所述子工程文件,生成所述目标功能模块的模块档案文件,将所述模块档案文件存入系统目录;
第二处理单元,用于获取用于配置功能模块的功能配置请求,基于所述功能配置请求包含的配置信息配置所述目标功能模块。
9.一种扩展功能的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434328.9A CN109683957A (zh) | 2018-11-28 | 2018-11-28 | 功能扩展的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811434328.9A CN109683957A (zh) | 2018-11-28 | 2018-11-28 | 功能扩展的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109683957A true CN109683957A (zh) | 2019-04-26 |
Family
ID=66185860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811434328.9A Pending CN109683957A (zh) | 2018-11-28 | 2018-11-28 | 功能扩展的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683957A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262803A (zh) * | 2019-06-30 | 2019-09-20 | 潍柴动力股份有限公司 | 一种依赖关系的生成方法及装置 |
CN111782191A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 一种项目工程的创建方法和装置 |
CN114356439A (zh) * | 2021-12-21 | 2022-04-15 | 四川启睿克科技有限公司 | 离线免安装启动web应用的方法 |
CN117648074A (zh) * | 2024-01-29 | 2024-03-05 | 深圳市恒永达科技股份有限公司 | 一种用于c#软件开发的程序处理方法、系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133036A (zh) * | 2017-04-26 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种模块的管理方法及装置 |
CN108446111A (zh) * | 2018-03-26 | 2018-08-24 | 国家电网公司客户服务中心 | 一种基于Spring cloud的微服务构建方法 |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
-
2018
- 2018-11-28 CN CN201811434328.9A patent/CN109683957A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133036A (zh) * | 2017-04-26 | 2017-09-05 | 武汉斗鱼网络科技有限公司 | 一种模块的管理方法及装置 |
CN108446111A (zh) * | 2018-03-26 | 2018-08-24 | 国家电网公司客户服务中心 | 一种基于Spring cloud的微服务构建方法 |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
捷义: ""Spring Boot 多模块与 Maven 私有仓库"", 《HTTPS://WWW.CNBLOGS.COM/YOUCLK/P/8978673.HTML》 * |
绝世好阿狸: ""【maven】nexus3 使用"", 《HTTPS://BLOG.CSDN.NET/U010900754/ARTICLE/DETAILS/80213291》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262803A (zh) * | 2019-06-30 | 2019-09-20 | 潍柴动力股份有限公司 | 一种依赖关系的生成方法及装置 |
CN110262803B (zh) * | 2019-06-30 | 2023-04-18 | 潍柴动力股份有限公司 | 一种依赖关系的生成方法及装置 |
CN111782191A (zh) * | 2020-06-29 | 2020-10-16 | 京东数字科技控股有限公司 | 一种项目工程的创建方法和装置 |
CN114356439A (zh) * | 2021-12-21 | 2022-04-15 | 四川启睿克科技有限公司 | 离线免安装启动web应用的方法 |
CN114356439B (zh) * | 2021-12-21 | 2023-06-13 | 四川启睿克科技有限公司 | 离线免安装启动web应用的方法 |
CN117648074A (zh) * | 2024-01-29 | 2024-03-05 | 深圳市恒永达科技股份有限公司 | 一种用于c#软件开发的程序处理方法、系统及介质 |
CN117648074B (zh) * | 2024-01-29 | 2024-04-19 | 深圳市恒永达科技股份有限公司 | 一种用于c#软件开发的程序处理方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683957A (zh) | 功能扩展的方法及设备 | |
US9201702B2 (en) | Integrated cloud data center management | |
US20110314466A1 (en) | Creating instances of cloud computing environments | |
CN103685568A (zh) | 云计算环境下paas平台的平台服务应用部署方法和系统 | |
CN110880070B (zh) | 资源分配方法、装置、计算机可读介质及电子设备 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN107861736A (zh) | 补丁生成和更新方法及装置、电子设备、存储介质 | |
CN112764751A (zh) | 接口生成方法和装置、接口请求方法和装置及存储介质 | |
CN102164179B (zh) | 一种基于网络的终端应用部署方法及系统 | |
CN115392718A (zh) | 流程模型的处理方法、装置、设备及介质 | |
CN108351766A (zh) | 从移动设备创建和修改应用 | |
JP2016224954A (ja) | 共有コンピュータリソースを使用するための専用コンピュータサービスプログラムを生成するためのプログラミングインターフェースデバイス | |
CN116523479A (zh) | 数字化作品协同创作方法、任务发布方法及装置 | |
CN114443171A (zh) | 可配置化服务平台及可配置化服务实现方法 | |
WO2022011946A1 (zh) | 一种数据预测方法、装置、计算机设备及存储介质 | |
CN109542398A (zh) | 一种业务系统生成方法、装置及计算机可读存储介质 | |
CN109858905B (zh) | 跨系统的电子凭证处理方法及装置 | |
CN107533468A (zh) | 用于云和设备套件的可扩展性捆绑包 | |
CN116431200A (zh) | 应用数据配置信息的配置方法、装置、设备及存储介质 | |
CN107301236A (zh) | 应用搜索方法、移动终端、服务器及计算机可读存储介质 | |
JP7129578B1 (ja) | ソフトウェアのソースコード生成を支援するための装置、方法及びそのためのプログラム | |
TW201725542A (zh) | 表單管理系統及方法 | |
Schuler et al. | Rule-based generation of mobile user interfaces | |
Evermann et al. | Workflow management on BFT blockchains | |
CN109150694A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1301, No.132, Fengqi Road, phase III, software park, Xiamen City, Fujian Province Applicant after: Xiamen Entropy Technology Co.,Ltd. Address before: 361000, Xiamen three software park, Fujian Province, 8 North Street, room 2001 Applicant before: XIAMEN ZKTECO INFORMATION TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |