掌桥专利:专业的专利平台
掌桥专利
首页

一种对程序分层设计的方法、装置、终端及存储介质

文献发布时间:2023-06-19 09:32:16


一种对程序分层设计的方法、装置、终端及存储介质

技术领域

本申请属于计算机软件领域,具体而言,涉及一种对程序分层设计的方法、装置、终端及存储介质。

背景技术

在企业信息管理系统中,经常需要根据客户的要求对进行个性化功能和页面的定制。常规的做法是在原有代码的基础上,进行二次开发,从而满足客户个性化功能和个性化页面的需求。

但是,这种做法存在以下几个问题,第一,产品化和定制化程序代码高度耦合,无法自由组合或分离;第二,个性化扩展后,无第二、三次扩展能力;第三,业务层的个性化扩展分散到系统各个角落,无法统一管控;第四,无法多个层业务逻辑共存,不同场景使用不同层,相同功能的定制跟其它定制存在互相干扰;第五,业务模块研发不仅无法专注业务逻辑,而且还需考虑个性化扩展;第六,无法自动继承底层平台的个性化扩展能力。

上述诸多问题的原因均是由于现有技术无法实现对程序进行分层设计。

发明内容

本发明实施例提供一种对程序分层设计的方法、装置、终端及存储介质,能够实现对程序进行分层设计。

第一方面,本发明提供一种对程序分层设计的方法,方法包括步骤:

预先定义分层信息和元数据信息;

在用户完成编程语言的输入后,根据所述分层信息和元数据信息将配置文件和编程语言导出至相应层的程序包中;

通过预先定义的分层保存中心分别对各个层的程序包进行保存。

作为本发明另一可选的方案,所述分层信息包括层数信息、层名称信息、编号信息、层级别信息和程序包名称信息的一种或几种。

作为本发明另一可选的方案,所述元数据信息包括模型信息、场景信息、功能信息、菜单信息、规则信息、取数信息、勾稽信息、特性信息和字段信息的一种或几种。

作为本发明另一可选的方案,所述方法包括:

定义分层服务中心,所述分层服务中心通过元数据信息的归属层信息获取所述元数据信息。

作为本发明另一可选的方案,所述方法包括:

定义分层执行中心,所述定义分层执行中心用于执行所述程序包中的编程语言;

当所述定义分层执行中心执行编程语言时,仅执行本层和以下层的规则信息、取数信息和特性信息。

作为本发明另一可选的方案,所述对各个层的程序包进行保存的步骤具体包括:

获取当前层对应的元数据信息,并根据所述元数据信息生成对应的映射文件;

动态加载所述映射文件,并调用hibernate对所述程序包进行保存。

作为本发明另一可选的方案,所述定义分层执行中心执行编程语言的步骤具体包括:

获取所述场景信息的层级,以及获取所述特性信息、取数信息和规则信息;

根据获取得到的层级对所述特性信息、取数信息和规则信息进行过滤,得到过滤后的特性信息、取数信息和规定信息;

执行过滤后的特性信息、取数信息和规定信息。

第二方面,本发明还提供一种对程序分层设计的装置,所述装置包括:

定义模块,用于定义分层信息和元数据信息;

导出模块,用于根据所述分层信息和元数据信息将配置文件和编程语言导出至相应层的程序包中;

保存模块,用于通过预先定义的分层保存中心分别对各个层的程序包进行保存。

第三方面,本发明还提供一种终端设备,其包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述对程序分层设计的方法。

第四方面,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行所述对程序分层设计的方法。

通过本发明提供的方法,能够实现对程序分层设计,以及对各个层对应的程序包进行分开保存,使得用户能够自由对程序包进行调用和组合。具体地说,先定义分层信息以及元数据信息;在用户完成程序语言(代码)的输入后,自动根据预先定义的分层信息和元数据信息将配置文件和程序语言导出至相应层的程序包中;最后,便可以分别对各个层中的程序包进行分开保存。这样,便可以在物理上分离不同层的程序包,避免高度耦合的现象,从而达到自由组合发布的目的。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1本发明对程序分层设计的方法较佳实施例的流程图。

图2为本发明对程序分层设计的装置较佳实施例的结构框图。

图3为本发明终端设备较佳实施例的结构框图。

具体实施方式

本发明提供一种对程序分层设计的方法、装置、终端及存储介质,为使得本申请的特征和优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请实施例的描述中,需要理解的是,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

请参阅图1,图1为本发明对程序分层设计的方法较佳实施例的流程图,其中,所述方法包括步骤:

S1、预先定义分层信息和元数据信息。

在程序设计领域中,由多个层级中的代码组成程序,或者说,由多个层级中的代码实现程序的功能。例如,任意一款软件可以划分为访问层、应用层、服务层和支撑层。各个层能够实现定义的具体的功能,例如,访问层可以实现前端组件访问、后端组件访问或者REST服务功能;应用层可以实现分层选择功能,分层管理功能,项目选择功能,菜单选择功能,以及实现场景、程序模块功能、实体、规则、取数、特性的选择功能等等;服务层可以实现层定义、层间规则定义、分层计算功能、数据分层功能、程序代码分层、配置文件分层、分层查询、层规则扩展、元数据分层等功能;支撑层主要用于确认采用哪一个支撑引擎,例如采用的支持引擎为天擎。而元数据信息又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找或文件记录等。通过对分层信息和元数据信息进行定义,能够方便后续的分层保存操作,从而方便对分层保存的程序包进行自由的组合。

作为本发明另一可选的方案,所述分层信息包括层数信息、层名称信息、编号信息、层级别信息和程序包名称信息的一种或几种。其中,所述层数信息具体是指本轮分层方案将程序分成多少层,例如,层数信息为4层、5层或者6层等等;所述层名称信息是指每个层的名称,这样,可以方便调用某个层,例如,将第一层命名为A层,那么第一层的层名称信息便为A,将第二层命名为B层,那么第二层的层名称信息便为B;所述编号信息是指对各个层级进行编码,其中,编号信息可以为数字、字母或者是数字和字母的组合,通过对各个层级进行编号,能够方便后续对层级的调用和保存;所述层级别信息是指各个层级的优先顺序,对于级别信息高的层来说,其优先级便高,对于级别信息低的层来说,其优先级便低,通过定义级别信息,能够在后续执行层时,按照预设优先顺序执行层;所述程序包名称与层级名称类似,具体是对程序包进行命名,使得程序包具有一个专属的名称,从而方便后续对程序包进行保存和调用。

作为本发明另一可选的方案,所述元数据信息包括模型信息、场景信息、功能信息、菜单信息、规则信息、取数信息、勾稽信息、特性信息和字段信息的一种或几种。其中,所述模型信息是指应用建模的模型,该模型可以是数学意义上的公式,或者是其它满足模型要求的表达式或关系式;所述场景信息是指实际应用的场景,例如,所述场景信息可以是报表等等;所述功能信息是指其具备的功能;所述菜单信息是指其包含有哪些种类;所述规则信息可以是其运行的规则或者是指编码规则等等;所述取数信息是指取数公式,类似于excel工作表中的取数公式;所述勾稽信息是指两个数表之间的逻辑对应关系;所述特性信息是指该数据与其它数据的不同点。需要说明的是,所有元数据均需定义归属层,也就是说,需要定义这些元数据属于哪一个层。

作为本发明另一可选的方案,所述方法包括:定义分层服务中心,所述分层服务中心通过元数据信息的归属层信息获取所述元数据信息。在完成元数据的定义后,后续通过定义的分层服务中心获取元数据信息,从而对元数据信息进行后续的执行操作。

请再次参阅图1,所述方法包括步骤:

S2、在用户完成编程语言的输入后,根据所述分层信息和元数据信息将配置文件和编程语言导出至相应层的程序包中。

所述步骤S2中,用户可以通过编程软件,如HTML,JAVA等输入编程语言(具体是指代码),在完成编程语言的输入后,将自动根据预设的分层信息和元数据信息将配置文件和输入的代码自动导出至相应层对应的程序包中。具体地说,由于代码中可以写明某一行或者某一段代码属于哪一层,对应配置文件可以指定属于哪一层,因此,便可以根据预设的分层信息和元数据信息将配置文件和代码导入至相应的程序包中。其中,程序包具体是指一种能够存储代码和配置文件的临时存储中心。

请再次参阅图1,所述方法包括步骤:

S3、通过预先定义的分层保存中心分别对各个层的程序包进行保存。

所述步骤S3中,所述分层保存中心具体是指能够执行保存操作的程序或代码,所述分层保存中心可以将各个层的程序包分开保存,这样,便可以随意调用已保存的程序包,将自由对各个程序包进行组合。

作为本发明另一可选的方案,所述对各个层的程序包进行保存的步骤具体包括:获取当前层对应的元数据信息,并根据所述元数据信息生成对应的映射文件;动态加载所述映射文件,并调用hibernate对所述程序包进行保存。

由于不同层使用不同的实体分层名称,不同的实体分层名称对应不同的元数据信息,因此,可以获取当前层对应的实体分层名称,从而对程序包进行保存。具体地说,当所述分层保存中心对程序包进行保存时,先获取当前层的元数据信息,然后根据获取得到的元数据信息生成对应的hibnater表实体映射文件;接着,再动态加载该映射文件;最后,再调用hibnater对程序包进行保存。这样,便能够实现对不同的程序包进行分开保存的操作。

作为本发明另一可选的方案,所述方法包括:

定义分层执行中心,所述定义分层执行中心用于执行所述程序包中的编程语言;当所述定义分层执行中心执行编程语言时,仅执行本层和以下层的规则信息、取数信息和特性信息。

在上述步骤中,用户完成程序包的保存后,可以自由执行处于程序包中的编程语言,具体可以通过预先定义的分层执行中心执行程序包中的编程语言。需要说明的是,当所述分层执行中心执行程序包中的编程语言时,分层执行中心仅执行该层和以下层元数据信息中的规则信息、取数信息和特性信息。关于规则信息、取数信息和特性信息已在上述步骤中详述,故此不做赘述。

作为本发明另一可选的方案,所述定义分层执行中心执行编程语言的步骤具体包括:获取所述场景信息的层级,以及获取所述特性信息、取数信息和规则信息;根据获取得到的层级对所述特性信息、取数信息和规则信息进行过滤,得到过滤后的特性信息、取数信息和规定信息;执行过滤后的特性信息、取数信息和规定信息。

在上述步骤中,当所述分层执行中心执行程序包中的编程语言时,先获取场景信息的层级,接着再获取元数据信息中的特性信息、取数信息和规则信息等;然后根据获取得到的层级对获取得到的特性信息、取数信息和规则信息进行过滤,从而得到过滤后的特性信息、取数信息和规则信息;最后,直接执行过滤后的特性信息、取数信息和规则信息。这样,能够保证准确性和高效性。

通过本发明提供的方法,能够实现对程序包进行分开保存,并且本发明提供的方法还具有以下有益效果:1、产品化功能和个性化扩展分层解耦,可灵活组合产品原生支持定制扩展,定制需求不会影响产品,从而促进产品和定制有序发展。2、可以通过层的叠加组装客户化系统,从而沉淀可复用的平台或业务层,由于有分层,那么可复用的系统或业务功能模块组件可以下沉到平台层、产品层、行业层等,而不可复用的上浮到定制层。3、分层统一管控能力可以对层定义进行管控,方便对层的进行设计和开发。4分层规范的业务模块具有个性化扩展能力业务,不需要特殊处理。5降低产品升级对定制化的影响,本地存在大量的个性化配置、脚本、增量程序,需要升级产品大版本时,由于新版本中程序和数据与实际部署存在的各种冲突,升级工作量非常大。而使用分层,由于平台架构底层已经规定了层的隔离和层间交互契约,升级时只需要保持契约一致,那么定制化代码就可以稳定的升级运行。

请参阅图2,本发明还提供一种对程序分层设计的装置20,所述装置20包括:

定义模块201,用于定义分层信息和元数据信息;

导出模块202,用于根据所述分层信息和元数据信息将配置文件和编程语言导出至相应层的程序包中;

保存模块203,用于通过预先定义的分层保存中心分别对各个层的程序包进行保存。

需要说明的是,上述实施例提供的对程序分层设计的装置20,在执行对程序分层设计的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,关于上对程序分层设计的装置20与对程序分层设计的方法实施例属于同一构思,其体现实现过程已在上述方法实施例的步骤中详细论述,故此不做赘述。

请参阅图3,本发明还提供一种终端设备30,其包括处理器301、存储器302及存储在存储器302上并可在处理器301上运行的计算机程序,所述处理器301执行所述计算机程序时实现所述对程序分层设计的方法。

所述处理器301可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器301还可以是任何传统处理器、微处理器或状态机。处理器301也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。

所述存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的对程序分层设计的方法对应的程序指令。处理器210通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行对程序分层设计的各种功能应用以及数据处理,即实现上述方法实施例中的对程序分层设计的方法。

关于上述终端设备30执行所述计算机程序时实现所述对程序分层设计的方法的具体技术细节已在前述方法步骤中详细论述,故此不做赘述。

本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行所述对程序分层设计的方法。

所述计算机可读存储介质可以是前述任一实施例所述的系统的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种对程序分层设计的方法、装置、终端及存储介质
  • 一种调节终端频率误差的方法、装置、移动通信终端、计算机程序及存储介质
技术分类

06120112203154