CN111176714B - 软件系统开发方法、装置、终端设备及存储介质 - Google Patents
软件系统开发方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111176714B CN111176714B CN201911296435.4A CN201911296435A CN111176714B CN 111176714 B CN111176714 B CN 111176714B CN 201911296435 A CN201911296435 A CN 201911296435A CN 111176714 B CN111176714 B CN 111176714B
- Authority
- CN
- China
- Prior art keywords
- resources
- software system
- independent
- resource
- preset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000033772 system development Effects 0.000 title claims description 37
- 238000011161 development Methods 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 35
- 230000010354 integration Effects 0.000 claims abstract description 9
- 230000018109 developmental process Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 238000005516 engineering process Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008878 coupling Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 5
- 238000005859 coupling reaction Methods 0.000 abstract description 5
- 239000010410 layer Substances 0.000 description 55
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000002346 layers by function Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 101150053844 APP1 gene Proteins 0.000 description 3
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 3
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 241001425718 Vagrans egista Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- WGZDBVOTUVNQFP-UHFFFAOYSA-N N-(1-phthalazinylamino)carbamic acid ethyl ester Chemical compound C1=CC=C2C(NNC(=O)OCC)=NN=CC2=C1 WGZDBVOTUVNQFP-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
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
本申请适用于软件开发技术领域,提供了软件开发方法,包括:基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;配置独立资源之间的内部通信方式,以及配置软件系统的对外通信接口;将独立资源进行实例化,以集成为软件系统。实现独立资源之间的通信协作,降低独立资源之间的耦合度,增强系统的功能扩展和便于系统维护。
Description
技术领域
本申请属于软件开发技术领域,尤其涉及软件系统开发方法、装置、终端设备及存储介质。
背景技术
功能模块的可重用性、可移植性一直是软件系统开发的重要问题。而目前,例如基于hadoop生态的分布式计算架构或基于ELK、ELT管道式架构的软件系统开发,一旦确认技术选型,一般在不改动代码的情况下无法更换、整合和扩展系统功能,而改动代码会造成开发成本提高,非常不利于系统维护和功能扩展。
发明内容
本申请实施例提供了软件系统开发方法、装置、终端设备及存储介质,可以解决现有软件系统开发方法不利于系统维护和功能扩展的问题。
第一方面,本申请实施例提供了一种软件系统开发方法,包括:
基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;
配置所述独立资源之间的内部通信方式,以及配置所述软件系统的对外通信接口;
将所述独立资源进行实例化,以集成为所述软件系统。
本申请实施例基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,从而实现独立资源的复用,降低开发成本;配置所述独立资源之间的内部通信方式,以及配置所述软件系统的对外通信接口,从而实现以独立资源之间的通信关系建立独立资源间的连接,当需要更换独立资源时,只需要解除通信关系即可,降低了独立资源之间的耦合度,增强系统的功能扩展和便于系统维护;将所述独立资源进行实例化,以集成为所述软件系统,从而实现系统的业务处理,本申请实施例解决了现有软件系统开发方法不利于系统维护和功能扩展的问题。
第二方面,本申请实施例提供了一种软件系统开发装置,包括:
构建模块,用于基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;
配置模块,用于配置所述独立资源之间的内部通信关系,以及配置所述软件系统的对外通信接口;
集成模块,用于将所述独立资源进行实例化,以集成为所述软件系统。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的软件系统开发方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的软件系统开发方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的软件系统开发方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的开发系统示意图;
图2是本申请一实施例提供的软件系统示意图;
图3是本申请一实施例提供的软件系统开发方法的流程示意图;
图4是本申请另一实施例提供的软件系统开发方法的流程示意图;
图5是本申请另一实施例提供的软件系统开发方法的流程示意图;
图6是本申请另一实施例提供的软件系统开发方法的流程示意图;
图7是本申请实施例提供的软件系统开发装置的结构示意图;
图8是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关记载,功能模块的可重用性、可移植性一直是软件系统开发的重要问题。而目前,例如基于hadoop生态的分布式计算架构或基于ELK、ELT管道式架构的软件系统开发,一旦确认技术选型,一般在不改动代码的情况下无法更换、整合和扩展系统功能,而改动代码会造成开发成本提高,非常不利于系统维护和功能扩展。
因此,本申请实施例提出一种软件系统开发方法,实现在软件系统架构层面解耦,以独立资源的方式提升各个功能模块的复用性;将独立资源二进制文件以中间态形式存储,基于存储二进制文件做实例化,减少环境搭建过程的工作量,提高软件系统的开发效率,解决了现有软件系统开发方法不利于系统维护和功能扩展的问题。
图1是本申请实施例提供的一种开发系统的示意图。该开发系统包括独立资源描述层101和4个独立资源层,4个独立资源层分别为:操作系统(Operating System,OS)资源层102、存储资源层103、应用开发架构(APP/Framework)资源层104和网关资源层105。各个独立资源层之间互不依赖,均可独立运行。
独立资源描述层101,用于基于虚拟化技术描述各个独立资源层的独立资源的二进制文件,以便于开发人员开发新的独立资源。
OS资源层102,用于生成软件系统的底层运行环境,可基于OS资源的二进制文件无限次快速生成Linux(Unix)、Windows、Alpine、Centos等操作系统。
存储资源层103,用于生成软件系统的存储资源的运行环境,可基于存储资源的二进制文件无限次快速生成MySQL、SQLSever、Oracle等关系型数据库,或者MongoDB、Hbase、Redis等非关系型数据库,以及hdfs等分布式存储系统、日志归档存储系统。
APP/Framework资源层104,用于生成软件系统的基础业务逻辑,可基于APP/Framework资源的二进制文件无限次快速生成数据抽取、数据转换、数据加载、数据可视化等基础业务的数据处理逻辑。进一步地,可基于APP/Framework资源层生成的基础业务逻辑进行二次开发,以配置软件系统的实际应用过程的业务逻辑。
网关资源层105,用于生成软件系统的独立资源的调度方案,可基于网关资源的二进制文件无限次快速生成各个独立资源之间的内部通信方案、对外通信方案、权限管理方案、监控方案。
本领域技术人员可以理解,图1中示出的开发系统的结构并不构成对开发系统的限定,其还可以包括比图示更多或更少的功能层,或者组合某些功能层,或者不同的功能层布置。
图2是本申请实施例提供的一种软件系统的示意图。该软件系统包括OS层201、存储层202、APP/Framework层203和网关层204。各层之间互不依赖,均可独立运行。
OS层201,包含软件系统的OS资源,作为软件系统的底层环境,其可独立运行,也可被存储层、APP/Framework层和网关层引用运行,还可以被网关层暴露对外访问接口以被外部访问。
存储层202,包含软件系统的存储资源,作为存储软件系统的配置文件数据、业务数据等数据的存储环境,其可独立运行,也可以提供TCP/UDP Port被APP/Framework层访问,还可以被网关层暴露对外访问接口以被外部访问。应理解,存储层可以有同时由多个数据库组成,以作为存储环境。
APP/Framework层203,包含软件系统的APP/Framework资源,作为软件系统的业务处理环境,实现软件系统的与数据相关的业务流程和逻辑处理。其可以被网关层暴露对外访问接口以被外部访问。应理解,APP/Framework层可以同时有多个APP和/或Framework。
网关层204,包含软件系统的网关资源,作为软件系统与外部系统通信的唯一接口,可将OS层、存储层和APP/Framework层的实际的对外访问接口隐藏,实现权限管理,并将网关层接口作为访问OS层、存储层和APP/Framework层的接口。网关层204还作为监控独立资源的CPU、内存、网络浏览、存储空间、负载等参数的监控中心。
本领域技术人员可以理解,图2中示出的软件系统的结构并不构成对软件系统的限定,其还可以包括比图示更多或更少的功能层,或者组合某些功能层,或者不同的功能层布置。
本申请实施例提供的软件系统开发方法可应用于终端设备,该终端设备可以是平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、桌上型计算机、独立服务器、集群服务器等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图3示出了本申请提供的软件系统开发方法的示意性流程图,作为示例而非限定,该方法可以应用于上述开发系统中,该开发系统架设于上述终端设备上。
S301,基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;
在上述S301中,上述二进制文件包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件。二进制文件可以在软件系统开发时运行以构建独立资源,具备可重用性,而不需要人为反复构建,降低了开发成本和提高开发效率。
S302,配置所述独立资源之间的内部通信方式,以及配置所述软件系统的对外通信接口;
在上述S302中,上述内部通信方式可以是TCP/IP通信。基于上述网关资源,配置独立资源之间的内部通信方式,以及对外通信接口,从而实现各独立资源之间的通信,又能保证独立资源能够独立运行,这样有利于解耦和便于系统移植。具体地,由于每个独立资源只是通过建立内部通信关系进行协同合作,所以当要将某个独立资源进行更换,只需解除通信关系即可。例如将redis更换为mongodb,那么只要解除内部通信关系后,重新通过网关调度技术建立与mongodb系统的通信关系,就可以再次集成系统,系统解耦性好、集成效率高。
S303,将所述独立资源进行实例化,以集成为所述软件系统。
在上述S303中,根据各个独立资源的业务协同关系,配置各个独立资源的调度流程,并由网关统一调度分发,实现软件系统的集成。
在图3所示实施例的基础上,本申请提供另一种软件系统开发方法的实施例。上述S301之前还包括S3011。需要说明的是,与图3所示实施例相同的步骤,在此不再赘述,请参见前述。
S3011,通过虚拟化技术描述所述独立资源的二进制文件,并保存所述二进制文件。
在上述S3011中,虚拟化技术包括但不限于不限于Docker、Vagrant、LXC、Vmware、LVM和PVE等虚拟化技术。基于不同的虚拟化技术对独立资源进行描述得到的二进制文件不同。例如,Docker的通过Dockerfile构建独立资源的二进制文件,Vagrant通过Vagrantfile构建独立资源的二进制文件,LXC通过lxc.config构建独立资源的二进制文件。
在一可能的实施方式中,基于虚拟化技术,在x86_64、armv7、armv7s、arm64、i386等架构的硬件资源上,针对物理设备,构建OS资源的二进制文件,形成基于Linux、Windows等内核的系统资源,将构建好的OS资源二进制文件进行保存。
根据开发编程语言,安装SDK开发环境(如Java/Python/Nodejs等),基于SDK的API进行编码,将编码后的APP/Framework资源二进制文件进行保存。
基于虚拟化技术,实现配置独立资源的二进制文件,从而实现只需要在构建独立资源时运行二进制文件即可,而无需反复描述独立资源的生成文件,缩短开发流程,提高了开发效率,并实现独立资源的可重用性。
在图3所示实施例的基础上,图4示出本申请实施例提供的另一种软件系统开发方法的流程示意图。如图4所示,上述S301具体包括S401。需要说明的是,与图3所示实施例相同的步骤,在此不再赘述,请参见前述。
S401,通过预设控制方式触发所述独立资源的二进制文件构建所述软件系统的独立资源。
在上述S401中,上述预设控制方式包括但不限于远程登录会话协议SSH(SecureShell)、MSTSC(Microsoft Terminal Services Client)、X11协议和VNC方式。具体地,可以通过上述方式向开发系统发送指令,以自动化脚本触发二进制文件构建独立资源,从而实现自动化开发软件系统,提高软件开发效率。
在图4所示实施例的基础上,图5示出本申请实施例提供的另一种软件系统开发方法的实施例。如图5所示,上述S401具体包括S501至S504。需要说明的是,与图4所示实施例相同的步骤,在此不再赘述,请参见前述。
S501,通过所述预设控制方式触发所述存储资源的二进制文件构建基于预设存储访问技术的存储资源;
在上述S501中,预设存储访问技术包括但不限于RAID、NFS、CEPH、ZFS、MySQL、MongoDB、Redis等硬软件存储技术或存储访问服务。通过二进制文件无限次生成多种可选的存储访问技术的存储资源,实现提高开发效率和增加开发可选方案。
S502,通过所述预设控制方式触发所述应用开发框架资源的二进制文件构建基于预设业务流程的应用开发框架资源;
在上述S502中,预设业务流程包括但不限于配置数据源、配置镜像目标、数据抽取、数据转换、数据加载和数据可视化。通过二进制文件无限次生成多种可选的基础业务流程,提高开发效率和增加开发可选方案。
S503,基于所述存储资源和所述应用开发框架资源,通过所述预设控制方式触发所述操作系统资源的二进制文件构建符合预设运行要求的操作系统资源;
在上述S503中,不同操作系统在占用硬件空间、安全性、对软件的运行环境支撑等方面具备差异。在实际使用中,依据上层存储层、APP/Framework层对OS层的操作系统进行选型。通过二进制文件根据上层选项,无限次生成多种可选的操作系统,提高开发效率和增加开发可选方案。
S504,通过所述预设控制方式触发所述网关资源的二进制文件构建基于预设网关调度方式的网关资源。
在上述S504中,预设网关调度方式包括但不限于LVS、NGINX、Traefik等七层和多层网络调度技术。通过二进制文件无限次生成多种可选的网关调度方式,提高开发效率和增加开发可选方案。
在图3所示实施例的基础上,本申请提供另一种软件系统开发方法的实施例。上述S301之后还包括S3012。需要说明的是,与图3所示实施例相同的步骤,在此不再赘述,请参见前述。
S3012,根据业务类型对应的预设部署方式部署应用开发框架资源的业务处理逻辑。
在上述S3012中,预设部署方式包括联机事务处理(on-line transactionprocessing,OLTP)和联机分析处理(On-Line Analytical Processing,OLAP)。具体地,当业务类型为大数据业务时,采用OLAP部署APP/Framework层的业务处理逻辑。当业务类型为小数据业务时,采用OLTP部署APP/Framework层的业务处理逻辑。
在图3所示实施例的基础上,图6示出本申请实施例提供的另一种软件系统开发方法的实施例。如图6所示,上述S302具体包括S601和S602。需要说明的是,与图3所示实施例相同的步骤,在此不再赘述,请参见前述。
S601,配置对所述独立资源进行统一聚合访问的反向代理接口;
S602,将所述反向代理接口作为所述软件系统的对外通信接口。
在上述S601和S602中,网关层通过反向代理的方式,实现外部对独立资源进行统一聚合访问;在生成环境中通过反向代理接口作为唯一入口,隐藏了实际Framewok/APP层的访问地址,保障安全性和资源的聚合。可选地,采用Nginx\OpenResty\HAProxy开源方案实现反向代理。对Framewok/APP层的url进行隐藏,也可以实现权限管理。
在图3所示实施例的基础上,本申请提供另一种软件系统开发方法的实施例。上述S303具体包括S3031。需要说明的是,与图3所示实施例相同的步骤,在此不再赘述,请参见前述。
S3031,根据所述网关资源的预设调度方式,配置各个所述独立资源之间的调度流程。
在上述S3031中,以网关层-APP层-存储层的最小化系统为例。如下表所示,APP1和APP2是两个不同的业务处理应用,当外部系统访问http://123.123.1.1:80/APP1,网关GateWay检测将所有访问APP1的请求转发到192.168.1.10:80,App1收到请求后,访问192.168.1.20:3306,以到存储资源层Mysqll获取相应的数据资源,计算对应的业务逻辑,并作出响应信息;同理,当http://123.123.1.1:80/APP2,执行上述类似的流程,只是从Mysqll获取的数据资源不同,使得在计算对应业务逻辑上的有所差异。
进一步地,随着独立资源构建的积累,已构建的独立资源无需再重新构建,从而可以实现快速实例化,供网关层调度,达到快速集成的目的。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的软件系统开发方法,图7示出了本申请实施例提供的软件系统开发装置700的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该装置包括:
构建模块701,用于基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;
配置模块702,用于配置所述独立资源之间的内部通信关系,以及配置所述软件系统的对外通信接口;
集成模块703,用于将所述独立资源进行实例化,以集成为所述软件系统。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8为本申请一实施例提供的终端设备的结构示意图。如图8所示,该实施例的终端设备8包括:至少一个处理器80(图8中仅示出一个)处理器、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个软件系统开发方法实施例中的步骤。
所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的举例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),该处理器80还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81在一些实施例中可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种软件系统开发方法,其特征在于,包括:
基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;所述操作系统资源包括多种可选的操作系统;所述存储资源包括多种可选的存储访问技术的存储资源;所述应用开发框架资源包括多种可选的基础业务流程;所述网关资源包括多种可选的网关调度方式;
根据业务类型对应的预设部署方式部署应用开发框架资源的业务处理逻辑;所述预设部署方式包括联机事务处理和联机分析处理;
配置所述独立资源之间的内部通信方式,以及配置所述软件系统的对外通信接口;
将所述独立资源进行实例化,以集成为所述软件系统。
2.如权利要求1所述的软件系统开发方法,其特征在于,所述构建软件系统的独立资源之前,还包括:
通过虚拟化技术描述所述独立资源的二进制文件,并保存所述二进制文件。
3.如权利要求1所述的软件系统开发方法,其特征在于,所述构建软件系统的独立资源,包括:
通过预设控制方式触发所述独立资源的二进制文件构建所述软件系统的独立资源。
4.如权利要求3所述的软件系统开发方法,其特征在于,所述通过预设控制方式触发所述独立资源的二进制文件构建所述软件系统的独立资源,具体包括:
通过所述预设控制方式触发所述存储资源的二进制文件构建基于预设存储访问技术的存储资源;
通过所述预设控制方式触发所述应用开发框架资源的二进制文件构建基于预设业务流程的应用开发框架资源;
基于所述存储资源和所述应用开发框架资源,通过所述预设控制方式触发所述操作系统资源的二进制文件构建符合预设运行要求的操作系统资源;
通过所述预设控制方式触发所述网关资源的二进制文件构建基于预设网关调度方式的网关资源。
5.如权利要求1所述的软件系统开发方法,其特征在于,所述配置所述软件系统的对外通信接口,包括:
配置对所述独立资源进行统一聚合访问的反向代理接口;
将所述反向代理接口作为所述软件系统的对外通信接口。
6.如权利要求1所述的软件系统开发方法,其特征在于,所述将所述独立资源进行实例化,包括:
根据所述网关资源的预设调度方式,配置各个所述独立资源之间的调度流程。
7.一种软件系统开发装置,其特征在于,包括:
构建模块,用于基于预先设置的独立资源的二进制文件,构建软件系统的独立资源,所述独立资源包括操作系统资源、存储资源、应用开发框架资源和网关资源;所述操作系统资源包括多种可选的操作系统;所述存储资源包括多种可选的存储访问技术的存储资源;所述应用开发框架资源包括多种可选的基础业务流程;所述网关资源包括多种可选的网关调度方式;
部署模块,用于根据业务类型对应的预设部署方式部署应用开发框架资源的业务处理逻辑;所述预设部署方式包括联机事务处理和联机分析处理;
配置模块,用于配置所述独立资源之间的内部通信关系,以及配置所述软件系统的对外通信接口;
集成模块,用于将所述独立资源进行实例化,以集成为所述软件系统。
8.根据权利要求7所述的装置,其特征在于,所述构建模块具体用于:
通过预设控制方式触发所述独立资源的二进制文件构建所述软件系统的独立资源。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296435.4A CN111176714B (zh) | 2019-12-16 | 2019-12-16 | 软件系统开发方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911296435.4A CN111176714B (zh) | 2019-12-16 | 2019-12-16 | 软件系统开发方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176714A CN111176714A (zh) | 2020-05-19 |
CN111176714B true CN111176714B (zh) | 2024-04-26 |
Family
ID=70648901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911296435.4A Active CN111176714B (zh) | 2019-12-16 | 2019-12-16 | 软件系统开发方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176714B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541066B (zh) * | 2023-06-14 | 2023-10-13 | 飞腾信息技术有限公司 | 软件系统构建方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237083A (zh) * | 2013-05-08 | 2013-08-07 | 北京邮电大学 | 一种移动信息服务资源聚合系统及方法 |
US9229693B1 (en) * | 2014-05-28 | 2016-01-05 | Amazon Technologies, Inc. | Build service for software development projects |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10620927B2 (en) * | 2008-06-06 | 2020-04-14 | International Business Machines Corporation | Method, arrangement, computer program product and data processing program for deploying a software service |
US9710261B2 (en) * | 2010-05-06 | 2017-07-18 | Microsoft Technology Licensing, Llc | Techniques to enhance software production |
-
2019
- 2019-12-16 CN CN201911296435.4A patent/CN111176714B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103237083A (zh) * | 2013-05-08 | 2013-08-07 | 北京邮电大学 | 一种移动信息服务资源聚合系统及方法 |
US9229693B1 (en) * | 2014-05-28 | 2016-01-05 | Amazon Technologies, Inc. | Build service for software development projects |
Non-Patent Citations (1)
Title |
---|
苏浩 ; 王竞争 ; 杨靖琦 ; .基于预设模板的系统动态构建与集成技术.指挥控制与仿真.2016,(05),第13-20页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111176714A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023215B2 (en) | Methods, systems, and portal for accelerating aspects of data analytics application development and deployment | |
US20230185698A1 (en) | Big data application lifecycle management | |
Petcu et al. | Experiences in building a mOSAIC of clouds | |
US10185626B2 (en) | Automatic application error detection and rollback | |
CN110622129A (zh) | 使用软件容器用于加速数据分析应用程序开发和部署的各方面的方法、系统和门户 | |
US20200301751A1 (en) | Dynamic hybrid computing environment | |
EP4102351A1 (en) | Secure network access device | |
EP4105850A1 (en) | Network devices assisted by machine learning | |
DE102022101324A1 (de) | Statischer rechenzentrum-leistungsausgleich und konfiguration | |
CN115964120A (zh) | 用于工作负载执行的动态缩放 | |
Healy et al. | Single system image: A survey | |
CN111176714B (zh) | 软件系统开发方法、装置、终端设备及存储介质 | |
DE102023113043A1 (de) | Codeerzeugungsverfahren | |
DE102022126283A1 (de) | Nichtflüchtiger Speicher und Schnittstelle | |
US20230125892A1 (en) | Run-time configuration loading | |
DE102022114661A1 (de) | Rack-komponenten-erkennungs- und kommunikationsfeld | |
Penchalaiah et al. | Clustered Single-Board Devices with Docker Container Big Stream Processing Architecture. | |
Lee et al. | Multicast and customized deployment of large-scale operating systems | |
US11748038B1 (en) | Physical hardware controller for provisioning remote storage services on processing devices | |
US20230127847A1 (en) | Snapshot volume proxy for object storage interfaces | |
Zhang et al. | Tinyedge: Enabling rapid edge system customization for iot applications | |
US20240086527A1 (en) | Detecting potential malware in host memory | |
EP4099157A1 (en) | Unidirectional counter | |
US20240086536A1 (en) | Detecting potential malware in host memory | |
WO2023193470A1 (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 |