CN113805864A - 一种项目工程的生成方法、装置、电子设备及存储介质 - Google Patents

一种项目工程的生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113805864A
CN113805864A CN202111372919.XA CN202111372919A CN113805864A CN 113805864 A CN113805864 A CN 113805864A CN 202111372919 A CN202111372919 A CN 202111372919A CN 113805864 A CN113805864 A CN 113805864A
Authority
CN
China
Prior art keywords
project
template
preset
request
engineering
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.)
Withdrawn
Application number
CN202111372919.XA
Other languages
English (en)
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.)
Beijing Minglue Zhaohui Technology Co Ltd
Original Assignee
Beijing Minglue Zhaohui 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 Beijing Minglue Zhaohui Technology Co Ltd filed Critical Beijing Minglue Zhaohui Technology Co Ltd
Priority to CN202111372919.XA priority Critical patent/CN113805864A/zh
Publication of CN113805864A publication Critical patent/CN113805864A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种项目工程的生成方法、装置、电子设备及存储介质,包括:接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;接收用户针对模板列表中初始项目工程的选择请求,在展示的预设工程模板的模板列表中确定的目标预设工程模板,调取与目标预设工程模板对应的组件配置文件和信息配置文件;接收用户创建项目工程的配置请求,得到配置请求中携带的配置数据;接收配置数据、目标预设工程模板对应的组件配置文件和信息配置文件,生成目标项目工程。用户无需知晓模板调取命令代码就可以在展示的模板列表中选择出目标预设工程模板,简化了创建项目工程的过程,提升了创建项目的效率。

Description

一种项目工程的生成方法、装置、电子设备及存储介质
技术领域
本申请涉及软件开发技术领域,尤其是涉及一种项目工程的生成方法、装置、电子设备及存储介质。
背景技术
现有技术中,在创建项目工程时,需要使用命令行的形式下载项目模板,而面对不常用的冷门项目模板时,由于长时间不使用的话可能会存在忘记命令行的情况,同时,命令行中有很多复杂的配置参数,需要临时查找,进而带来创建项目工程的效率低下,创建项目工程的步骤繁琐的问题。
发明内容
有鉴于此,本申请的目的在于提供一种项目工程的生成方法、装置、电子设备及存储介质,无需再记忆相关创建工程的cli语句和项目所需要的配置信息,分步引导使用者完成新项目工程的生成,用户无需知晓模板调取命令代码就可以在展示的模板列表中选择出目标预设工程模板,简化了创建项目工程的过程,提升了创建项目的效率。降低了对研发人员的专业性要求,对低代码能力的人员更加友好。因为每个模板的配置信息都是专门配置的,会满足不同模板的需求,更加灵活。
本申请实施例提供了一种项目工程的生成方法,所述方法包括:
接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
接收所述用户创建项目工程的配置请求,得到所述配置请求中携带的配置数据;
接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程。
可选的,所述接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板的步骤,包括:
获取所述用户针对所述模板列表中初始项目工程的选择请求的请求类型;
基于所述请求类型选择确定所述目标预设工程模板的确定方式;
根据所述确定方式在所述模板列表中确定目标预设工程模板。
可选的,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,包括:
若所述请求类型为用户通过触碰屏幕产生的电信号,则选择基于所述电信号确定对应所述电信号的预设工程模板为目标预设工程模板的确定方式。
可选的,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,还包括:
若所述请求类型为通过用户的描述信息获取的文字类型,则选择基于文本信息在所述模板列表中筛选目标预设工程模板的确定方式。
可选的,所述基于文本信息在所述模板列表中确定目标预设工程模板的确定方式的步骤,包括:
对所述描述信息进行转换,得到对应所述用户针对所述模板列表中初始项目工程的选择请求的文本信息;
根据预设筛选规则对所述文本信息进行筛选,获取所述文本信息内的关键词信息;
基于所述关键词信息在所述模板列表中确定目标预设工程模板。
可选的,所述接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程的步骤,包括:
基于所述组件配置文件和所述信息配置文件生成创建项目工程的参数表格;
基于所述配置数据修改和/或补充所述参数表格;
基于修改和/或补充后的参数表格生成满足所述用户创建项目工程的配置请求的项目工程代码;
根据所述项目工程代码生成目标项目工程。
本申请实施例还提供了一种项目工程的生成装置,所述装置包括:
数据获取模块,用于接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
选择模块,用于接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
读取模块,用于接收所述用户针对所述目标预设工程模板的调整请求,得到针对所述目标预设工程模板的调整信息;
生成模块,用于基于所述目标预设工程模板的调整信息、所述组件配置文件和所述信息配置文件,生成目标项目工程接收目标项目工程。
可选的,所述选择模块,还用于获取所述用户针对所述模板列表中初始项目工程的选择请求的请求类型;基于所述请求类型选择确定所述目标预设工程模板的确定方式;根据所述确定方式在所述模板列表中确定目标预设工程模板。
可选的,所述选择模块,具体用于根据以下步骤确定所述目标预设工程模板:
若所述请求类型为用户通过触碰屏幕产生的电信号,则选择基于所述电信号确定对应所述电信号的预设工程模板为目标预设工程模板的确定方式。
可选的,所述选择模块还用于:
若所述请求类型为通过用户的描述信息获取的文字类型,则选择基于文本信息在所述模板列表中筛选目标预设工程模板的确定方式。
可选的,所述选择模块具体用于:
对所述描述信息进行转换,得到对应所述用户针对所述模板列表中初始项目工程的选择请求的文本信息;
根据预设筛选规则对所述文本信息进行筛选,获取所述文本信息内的关键词信息;
基于所述关键词信息在所述模板列表中确定目标预设工程模板。
可选的,所述生成模块具体用于根据以下步骤生成目标项目工程:
基于所述组件配置文件和所述信息配置文件生成创建项目工程的参数表格;
基于所述调整信息修改和/或补充所述参数表格;
基于修改和/或补充后的参数表格生成满足所述用户创建项目工程的配置请求的项目工程代码;
根据所述项目工程代码生成目标项目工程。
本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的项目工程的生成方法的步骤。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的项目工程的生成方法的步骤。
本申请实施例提供的项目工程的生成方法及装置,与现有技术中的项目工程的生成方法相比,无需再记忆相关创建工程的cli语句和项目所需要的配置信息,分步引导使用者完成新项目工程的生成,降低了对研发人员的专业性要求,对低代码能力的人员更加友好。因为每个模板的配置信息都是专门配置的,会满足不同模板的需求,更加灵活。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种项目工程的生成方法的流程图;
图2示出了本申请实施例所提供的一种项目工程的生成装置的结构示意图;
图3示出了本申请实施例所提供的一种电子设备的结构示意图;
图4示出了本申请实施例所提供的一种计算机存储介质的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于研发人员进行项目工程创建的场景。
经研究发现,现有技术中在进行项目工程创建时,需要使用命令行的形式下载项目模板,长时间不使用的话可能会忘记,并且其中有很多复杂的配置参数,需要临时查找,研发效率低下。
基于此,本申请实施例提供了一种项目工程的生成方法,以避免现有技术中使用命令行的形式下载项目模板,手动为项目模板配置参数,进而引起研发效率低下的问题。
如图1中所示,一种项目工程的生成方法,所述方法包括:
S101、接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
示例性的,所述预设模板库内的任一预设工程模板包括模板内容、与所述模板内容对应的组件配置文件和与所述模板内容对应的信息配置文件,以保障后续调取与所述目标预设工程模板对应的组件配置文件和信息配置文件的过程。
示例性的,根据预设模板库内的预设工程模板的功能等属性信息,生成模板列表,展示模板列表使得本申请所述方法有利于面向低代码能力的用户群,同时,避免预设模板库内的预设工程模板过多时,不便于展示的问题。
示例性的,预设模板对应的组件配置文件为:
{ "name": "component", //模板库名称"version": "1.0.0", //模板库版本号"publish": true, //该模板是否发布"description": "XXX组件库", //模板库简介"order": 2, //序号"image": "预览图url地址" //显示模板的图片}。
示例性的,预设模板对应的信息配置文件为:
{ "prompts": [{"name": "name","type": "text","message": "项目名称"},"name": "version", "type": "text", "message": "项目版本", "initial": "1.0.0" },{ "name": "description", "type": "text", "message": "项目描述", "initial": "solution" }, { "name": "author", "type": "text", "message": "项目作者姓名" },{ "name": "email", "type": "text", "message": "项目作者email"}],}其中,name为填写项对应字段,type为填写项类型,message为填写项名称,initial为填写项默认参数。
示例性的,将所有预设工程模板打包上传,生成列表文件:
version: '1.0.0', publish: true, description: '模板A', order:1,image: '图片A' }, { name: 'projectB', version: '1.0.0', publish: true,description: '模板B', order:1, image: '图片B' }]
基于所述列表文件生成模板列表。
S102、接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
在一种可能的实施方式中,所述接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板的步骤,包括:
获取所述用户针对所述模板列表中初始项目工程的选择请求的请求类型;
基于所述请求类型选择确定所述目标预设工程模板的确定方式;
根据所述确定方式在所述模板列表中确定目标预设工程模板。示例性的,所述用户针对所述模板列表中初始项目工程的选择请求可以为用户直接点击屏幕或者通过按键等方式在所述模板列表中选择目标预设工程模板,此时,客户端内通过接收所述用户针对所述模板列表中初始项目工程的选择请求可以直接确定目标预设工程模板,而当所述用户针对所述模板列表中初始项目工程的选择请求为用户对目的预设工程模板的文字描述,则客户端内无法通过接收所述用户针对所述模板列表中初始项目工程的选择请求可以直接确定目标预设工程模板。
在一种可能的实施方式中,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,包括:
若所述请求类型为用户通过触碰屏幕产生的电信号,则选择基于所述电信号确定对应所述电信号的预设工程模板为目标预设工程模板的确定方式。
在一种可能的实施方式中,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,还包括:
若所述请求类型为通过用户的描述信息获取的文字类型,则选择基于文本信息在所述模板列表中筛选目标预设工程模板的确定方式。
在一种可能的实施方式中,所述基于文本信息在所述模板列表中确定目标预设工程模板的确定方式的步骤,包括:
对所述描述信息进行转换,得到对应所述用户针对所述模板列表中初始项目工程的选择请求的文本信息;
根据预设筛选规则对所述文本信息进行筛选,获取所述文本信息内的关键词信息;
基于所述关键词信息在所述模板列表中确定目标预设工程模板。
示例性的,根据预设数目个关键词提取模型从文本语料中提取出预设数目个结果;所述预设数目个结果与所述预设数目个关键词提取模型一一对应;所述预设数目至少为2;
将所述预设数目个结果根据融合方式进行融合得到融合结果;
输出所述融合结果;
对所述融合结果进行评估,更新所述融合方式。
所述预设数目个关键词提取模型包括依赖分词的关键词提取模型;
当所述关键词提取模型为所述依赖分词的关键词提取模型时,所述根据预设数目个关键词提取模型从文本语料中提取出预设数目个结果,包括:
将所述文本语料进行分词得到分词语料;
根据依赖分词的关键词提取模型从所述分词语料中提取出预设数目个结果。
所述分词语料包括多个词语;所述依赖分词的关键词提取模型包括依赖分词的基于词汇关联信息的模型和/或依赖分词基于词频信息的模型,所述依赖分词的基于词汇关联信息的模型包括熵和互信息模型。
当所述依赖分词的关键词提取模型为所述熵和互信息模型时,所述根据依赖分词的关键词提取模型从所述分词语料中提取出预设数目个结果,包括:
分别计算所述多个词语的熵值和互信息值;
根据所述多个词语的熵值和互信息值得到熵阈值和互信息阈值;
提取所述熵值大于所述熵阈值的多个词语和所述互信息值大于所述互信息阈值的多个词语作为所述预设数目个结果。
所述多个关键词提取模型中除所述多个依赖分词的关键词提取模型外的关键词提取模型包括不依赖分词的基于词汇关联信息的模型和/或不依赖分词的基于词频信息的模型,所述不依赖分词的基于词汇关联信息的模型包括熵和互信息模型。
当除所述预设数目个依赖分词的关键词提取模型外的关键词提取模型为所述熵和互信息模型时,所述根据预设数目个关键词提取模型从文本语料中提取出预设数目个结果,包括:
设置所要提取的关键词包含的最多的字符个数;
列举所述文本语料的所有字符串;
分别计算所述所有字符串的熵值和互信息值;
根据所述所有字符串的熵值和互信息值得到熵阈值和互信息阈值;
根据所述最多的字符个数提取所述熵值大于所述熵阈值的多个字符串和所述互信息值大于所述互信息阈值的多个字符串作为所述预设数目个结果。
所述将所述预设数目个结果根据反馈进行融合得到融合结果,包括:
对根据多个所述依赖分词的关键词提取模型从所述分词语料中提取出的预设数目个结果求取交集得到分词结果;
对根据除多个所述依赖分词的关键词提取模型之外的关键词提取模型从所述文本语料中提取出的预设数目个结果求取交集得到非分词结果;
将所述分词结果与所述非分词结果取并集得到融合结果。
所述将所述预设数目个结果根据反馈进行融合得到融合结果,包括:
对所述预设数目个结果两两求取交集得到多个交集结果;
对所述多个交集结果求取并集得到所述融合结果。
示例性的,建立预设关键词对比库,所述预设关键词对比库根据领域或者技术热度根据实际情况进行设置,获取到所述选择请求对应的文本信息后,将所述文本信息与所述预设关键词对比库进行对比,获取预设关键词库中对应的关键词,以保证关键词统一,也便于针对关键词调用预设工程模板。
S103、接收所述用户针对所述目标预设工程模板的调整请求,得到针对所述目标预设工程模板的调整信息;
示例性的,解析所述用户创建项目工程的配置请求,得到所述配置请求中携带的配置数据。
便于根据配置数据修正或者补充目标预设工程模板对应的所述组件配置文件和所述信息配置文件。
判断应用程序是否已更新;
若所述应用程序已更新,获取更新后的应用程序的版本信息以及预设的参数映射表;
根据所述更新后的应用程序的版本信息以及预设的参数映射表,获取所述更新后的应用程序对应的测试用例参数;
将更新前的应用程序对应的测试用例参数替换为所述更新后的应用程序对应的测试用例参数。
S104、基于所述目标预设工程模板的调整信息、所述组件配置文件和所述信息配置文件,生成目标项目工程。
在一种可能的实施方式中,所述接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程的步骤,包括:
基于所述组件配置文件和所述信息配置文件生成创建项目工程的参数表格;
基于所述配置数据修改和/或补充所述参数表格;
基于修改和/或补充后的参数表格生成满足所述用户创建项目工程的配置请求的项目工程代码;
根据所述项目工程代码生成目标项目工程。
示例性的,在接收用户创建项目工程的创建请求、用户创建项目工程的创建请求选择请求和用户创建项目工程的创建请求的配置请求时,为更合理运用存储空间,基于所述创建请求、所述选择请求和所述配置请求的读写类别,分配存储空间,以更合理运用存储空间,其中,所述创建请求和所述选择请求为读请求,所述配置请求为写请求;
采用一种混合式存储方式,包括:
请求分类模块:用于判断所到达的请求的类型,若所到达的请求为写请求,则系统进行写操作;若所到达的请求为读请求,则系统进行读操作。
请求分派器:用于当所到达的请求为写请求时,判断所到达写请求与其之前相邻达到的历史写请求的访问地址是否连续,若连续,则该写请求为连续请求,若非连续,则该写请求为分割请求;当所到达写请求为分割请求时,判断该分割请求和上一个分割请求之间的连续请求的个数,若连续请求的个数大于预设高阈值,则该分割请求和上一个分割请求之间的连续请求、和上一个分割请求组成一个大请求,将该大请求写到机械磁盘,若连续请求的个数小于等于预设高阈值,则该分割请求和上一个分割请求之间的连续请求、和上一个分割请求组成一个中请求,将中请求发送到固态盘。
进一步地,当所到达写请求为分割请求时若该分割请求和上一个分割请求之间的连续请求的个数小于预设低阈值,则该分割请求和上一个分割请求之间的连续请求、和上一个分割请求组成一个小请求,将该小请求写到机械磁盘的日志区域;若该分割请求和上一个分割请求之间的连续请求的个数小于等于预设高阈值且大于等于预设低阈值,则该分割请求和上一个分割请求之间的连续请求、和上一个分割请求组成一个中请求,将中请求发送到固态盘。
请求分派器采用“双阈值”法确定是将请求发送到固态盘缓存层或直接写到磁盘上,或者暂时写到磁盘的日志区域内。“双阈值”法的工作原理是设定一个低阈值(即预设低阈值)和一个高阈值(即预设高阈值),将到达的写请求分为“大请求”、“中请求”、“小请求”三种类型。请求分派器判断写请求为大请求、中请求或小请求时,保存了过去一定数量连续请求的访问记录,然后判断当前到达的写请求是否与它之前相邻到达的历史请求的访问地址是否连续,这在原理上与内存ghost缓存相似。与之前请求不连续的新到达请求叫做“分割请求”。系统每次遇到“分割请求”时,都将请求历史清零,并以该“分割请求”为起点对后续到达请求的连续性进行判断。比如连续请求3次后,第四次与前三次不是连续的,那么前面连续三次的请求为一个中请求。对于“大请求”,直接将其写到机械磁盘上,一方面可以利用机械磁盘的良好顺序访问性能,另一方面可以增加固态盘的有效缓存空间。对于“中请求”,则将其发送到固态盘上进行缓存,防止固态盘性能的快速下降以及延长了其使用寿命。对于“小请求”,则先将其缓存在与磁盘相关联的日志区域内,以避免磁盘的随机访问操作。“小请求”在日志区域内以访问地址的顺序排序等待并且在两种情况下被写到磁盘上,第一种情况叫做“乘机写”,即每次有“大请求”写到磁盘时,系统检查日志区域中是否存在与其连续的“小请求”,若存在则将“小请求”与“大请求”合并一起写到磁盘。第二种情况叫“迫写”,即当日志空间中的剩余空闲空间小于设定的最低值时,系统将日志区域清空,将所有缓存的“小请求”都写回到磁盘。
缓存管理器包括写请求管理单元和读请求管理单元。
写请求管理单元:用于当写请求到达固态盘时,寻找固态盘的空闲缓存块,若固态盘内存在空闲缓存块,则将到达的写请求写入空闲缓存块;若固态盘内无空闲缓存块,则释放固态盘的缓存块,并将到达的写请求写入释放出的缓存块。
读请求管理单元:用于当所到达的请求为读请求时,查找固态盘中的缓存块,若命中,则访问固态盘执行读操作;若未命中,则访问机械磁盘或访问机械磁盘的日志区域执行读操作,并判断所到达读请求所对应数据块的未命中次数是否超过预设最高次阈值,若该数据块的未命中次数超过预设最高次阈值,则将该数据块添加到第一迁移列表。
在本实施例中,为了提高固态盘的缓存效率,flashcache采用分层的缓存管理策略,将一定数量(如512)的块组合成一个组,将所有的缓存块划分成若干个组。请求到达时,先根据其所访问的地址按哈希算法找到其对应的组,然后再在该组内查找其对应的块。I/O请求到对应的组采用组相联策略,组内块采用全相联策略。
具体地,在固态盘中预设数量的缓存块组合成一个缓存组,所有缓存块划分为若干缓存组。
写请求管理单元在当写请求到达固态盘时,先根据该写请求访问的地址按哈希算法查找该写请求对应的缓存组,并寻找该缓存组内的空闲缓存块,若该缓存组内存在空闲缓存块,则将到达的写请求写入空闲缓存块;若该缓存组内无空闲缓存块,则释放该缓存组内的缓存块,并将到达的写请求写入释放出的缓存块。写请求管理单元按照先进先出算法(FIFO)和最近最少使用算法(LRU)释放缓存块,先进先出算法(FIFO)和最近最少使用算法(LRU)都是指同一组内的块替换算法,它们指分别按照缓存块访问的先后顺序和近期性来管理同组内的缓存块。
读请求管理单元在所到达的请求为读请求时,根据该读请求访问的地址按哈希算法查找该读请求对应的缓存组,在该缓存组内查找缓存块,若命中,则访问固态盘执行读操作;若未命中,则访问机械磁盘或访问机械磁盘的日志区域执行读操作。
缓存清理模块:用于周期性扫描固态盘的缓存块的状态,选择出待迁移的缓存块,并将待迁移的缓存块添加到第二迁移列表。清理功能可以在系统空闲的时候运行,减少写请求到达时由于没有空闲缓存块而引起的同步缓存块写回操作。缓存清理模块选择出需要写回的缓存块后,将它们按机械磁盘地址排序后插入到迁移的列表中。
数据迁移模块:用于扫描第一迁移列表和第二迁移列表,并将第一迁移列表中的数据块迁移到固态盘,将第二迁移列表中的缓存块写回机械磁盘。如前所述,缓存管理器监控未命中的读请求所访问的数据块,若数据块的未命中次数超过了设置的阈值,则说明该数据块的访问需求是很高的,因此将其从磁盘上迁移到固态盘缓存层中。数据迁移模块根据负载的实时特征在固态盘缓存层和磁盘之间进行数据迁移操作,确保了固态盘缓存的数据块是最优的,因而提高了系统总体性能。
进而实现通过模板库配置,实现不同种类工程的初始化,无需再记忆相关创建工程的cli语句和项目所需要的配置信息,分步引导使用者完成新项目工程的生成,降低了对研发人员的专业性要求,对低代码能力的人员更加友好。因为每个模板的配置信息都是专门配置的,会满足不同模板的需求,更加灵活。
如图2所示,本申请实施例还提供了一种项目工程的生成装置200,所述装置包括:
数据获取模块201,用于接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
选择模块202,用于接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
读取模块203,用于接收所述用户创建项目工程的配置请求,得到所述配置请求中携带的配置数据;
生成模块204,用于接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程。
在一种可能的实施方式中,所述选择模块202,还用于获取所述用户针对所述模板列表中初始项目工程的选择请求的请求类型;基于所述请求类型选择确定所述目标预设工程模板的确定方式;根据所述确定方式在所述模板列表中确定目标预设工程模板。
在一种可能的实时方式中,如图3所示,本申请实施例提供了一种电子设备300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时,实现:接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;接收所述用户创建项目工程的配置请求,得到所述配置请求中携带的配置数据;接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程。
在一种可能的实时方式中,如图4所示,本申请实施例提供了一种计算机可读存储介质400,其上存储有计算机程序311,该计算机程序311被处理器执行时实现:接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;接收所述用户创建项目工程的配置请求,得到所述配置请求中携带的配置数据;接收所述配置数据、所述目标预设工程模板对应的所述组件配置文件和所述信息配置文件,生成目标项目工程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种项目工程的生成方法,其特征在于,所述方法包括:
接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
接收所述用户针对所述目标预设工程模板的调整请求,得到针对所述目标预设工程模板的调整信息;
基于所述目标预设工程模板的调整信息、所述组件配置文件和所述信息配置文件,生成目标项目工程。
2.根据权利要求1所述的方法,其特征在于,所述接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板的步骤,包括:
获取所述用户针对所述模板列表中初始项目工程的选择请求的请求类型;
基于所述请求类型选择确定所述目标预设工程模板的确定方式;
根据所述确定方式在所述模板列表中确定目标预设工程模板。
3.根据权利要求2所述的方法,其特征在于,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,包括:
若所述请求类型为用户通过触碰屏幕产生的电信号,则选择基于所述电信号确定对应所述电信号的预设工程模板为目标预设工程模板的确定方式。
4.根据权利要求2所述的方法,其特征在于,所述基于所述请求类型选择确定所述目标预设工程模板的确定方式的步骤,还包括:
若所述请求类型为通过用户的描述信息获取的文字类型,则选择基于文本信息在所述模板列表中筛选目标预设工程模板的确定方式。
5.根据权利要求4所述的方法,其特征在于,所述基于文本信息在所述模板列表中确定目标预设工程模板的确定方式的步骤,包括:
对所述描述信息进行转换,得到对应所述用户针对所述模板列表中初始项目工程的选择请求的文本信息;
根据预设筛选规则对所述文本信息进行筛选,获取所述文本信息内的关键词信息;
基于所述关键词信息在所述模板列表中确定目标预设工程模板。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标预设工程模板的调整信息、所述组件配置文件和所述信息配置文件,生成目标项目工程的步骤,包括:
基于所述组件配置文件和所述信息配置文件生成创建项目工程的参数表格;
基于所述调整信息修改和/或补充所述参数表格;
基于修改和/或补充后的参数表格生成满足所述用户创建项目工程的配置请求的项目工程代码;
根据所述项目工程代码生成目标项目工程。
7.一种项目工程的生成装置,其特征在于,所述装置包括:
数据获取模块,用于接收用户创建项目工程的创建请求,展示预设模板库内的预设工程模板的模板列表;
选择模块,用于接收所述用户针对所述模板列表中初始项目工程的选择请求,在展示的所述预设工程模板的模板列表中确定的目标预设工程模板,调取与所述目标预设工程模板对应的组件配置文件和信息配置文件;
读取模块,用于接收所述用户针对所述目标预设工程模板的调整请求,得到针对所述目标预设工程模板的调整信息接收;
生成模块,用于基于所述目标预设工程模板的调整信息、所述组件配置文件和所述信息配置文件,生成目标项目工程接收目标项目工程。
8.根据权利要求7所述的项目工程的生成装置,其特征在于,所述生成模块具体用于根据以下步骤生成目标项目工程:
基于所述组件配置文件和所述信息配置文件生成创建项目工程的参数表格;
基于所述调整信息修改和/或补充所述参数表格;
基于修改和/或补充后的参数表格生成满足所述用户创建项目工程的配置请求的项目工程代码;
根据所述项目工程代码生成目标项目工程。
9.一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6中任一项所述的项目工程的生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的项目工程的生成方法。
CN202111372919.XA 2021-11-19 2021-11-19 一种项目工程的生成方法、装置、电子设备及存储介质 Withdrawn CN113805864A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111372919.XA CN113805864A (zh) 2021-11-19 2021-11-19 一种项目工程的生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111372919.XA CN113805864A (zh) 2021-11-19 2021-11-19 一种项目工程的生成方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113805864A true CN113805864A (zh) 2021-12-17

Family

ID=78938402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111372919.XA Withdrawn CN113805864A (zh) 2021-11-19 2021-11-19 一种项目工程的生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113805864A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048480A (zh) * 2023-04-04 2023-05-02 青岛普瑞盛医药科技有限公司 一种基于代码工具自动生成图表的方法及装置
CN116700698A (zh) * 2023-06-05 2023-09-05 上海东方怡动信息技术有限公司 一种数字模型生成及发布方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161881A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for creating and providing templates in a single file
CN108446398A (zh) * 2018-03-27 2018-08-24 北京邦邦共赢网络科技有限公司 一种数据库的生成方法及装置
CN108762743A (zh) * 2018-05-23 2018-11-06 浪潮软件集团有限公司 一种数据表操作代码生成方法及装置
CN109783081A (zh) * 2018-12-27 2019-05-21 百富计算机技术(深圳)有限公司 一种应用程序的开发方法、装置及集成开发工具
CN111752598A (zh) * 2020-06-30 2020-10-09 北京达佳互联信息技术有限公司 页面生成方法、装置、电子设备及存储介质
CN113296746A (zh) * 2021-05-31 2021-08-24 成都安恒信息技术有限公司 命令行搭建可配置Vue项目脚手架的系统及方法
CN113408260A (zh) * 2021-07-12 2021-09-17 网易(杭州)网络有限公司 一种项目工程生成方法、装置、计算机设备及存储介质
CN113535182A (zh) * 2021-06-30 2021-10-22 上海浦东发展银行股份有限公司 项目工程的构建方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161881A1 (en) * 2005-01-14 2006-07-20 Microsoft Corporation Systems and methods for creating and providing templates in a single file
CN108446398A (zh) * 2018-03-27 2018-08-24 北京邦邦共赢网络科技有限公司 一种数据库的生成方法及装置
CN108762743A (zh) * 2018-05-23 2018-11-06 浪潮软件集团有限公司 一种数据表操作代码生成方法及装置
CN109783081A (zh) * 2018-12-27 2019-05-21 百富计算机技术(深圳)有限公司 一种应用程序的开发方法、装置及集成开发工具
CN111752598A (zh) * 2020-06-30 2020-10-09 北京达佳互联信息技术有限公司 页面生成方法、装置、电子设备及存储介质
CN113296746A (zh) * 2021-05-31 2021-08-24 成都安恒信息技术有限公司 命令行搭建可配置Vue项目脚手架的系统及方法
CN113535182A (zh) * 2021-06-30 2021-10-22 上海浦东发展银行股份有限公司 项目工程的构建方法、装置、计算机设备和存储介质
CN113408260A (zh) * 2021-07-12 2021-09-17 网易(杭州)网络有限公司 一种项目工程生成方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116048480A (zh) * 2023-04-04 2023-05-02 青岛普瑞盛医药科技有限公司 一种基于代码工具自动生成图表的方法及装置
CN116700698A (zh) * 2023-06-05 2023-09-05 上海东方怡动信息技术有限公司 一种数字模型生成及发布方法和装置

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和系统
US9734158B2 (en) Searching and placeholders
CN111247518B (zh) 用于数据库分片的方法和系统
US7987160B2 (en) Status tool to expose metadata read and write queues
US9166866B2 (en) Hydration and dehydration with placeholders
US8738572B2 (en) System and method for storing data streams in a distributed environment
CN110018998B (zh) 一种文件管理方法、系统及电子设备和存储介质
JP5886447B2 (ja) ロケーション非依存のファイル
US10649905B2 (en) Method and apparatus for storing data
CN108090079B (zh) 一种即时聊天工具的聊天记录处理方法及装置
JP2008538627A (ja) ローカル・サムネイル・キャッシュ
CN113805864A (zh) 一种项目工程的生成方法、装置、电子设备及存储介质
CN112860750B (zh) 数据处理方法、装置、电子设备及存储介质
CN107710189B (zh) 文档间的内容多模式共享
CN111831618A (zh) 数据写入方法、数据读取方法、装置、设备及存储介质
US20080071992A1 (en) Method and Apparatus for Space Efficient Identification of Candidate Objects for Eviction from a Large Cache
CN111581247B (zh) 数据管理器、时序数据库及信息处理系统
CN107193754B (zh) 进行数据存储用于搜索的方法及设备
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN108271420A (zh) 管理文件的方法、文件系统和服务器系统
CN113688139A (zh) 对象存储方法、网关、设备及介质
US10372299B2 (en) Preserve input focus in virtualized dataset
CN116303267A (zh) 数据访问方法、装置、设备以及存储介质
CN114416676A (zh) 数据处理方法、装置、设备和存储介质
CN118120212A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211217