CN113986338B - 项目扫包方法、系统、设备及计算机可读存储介质 - Google Patents

项目扫包方法、系统、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113986338B
CN113986338B CN202111615991.0A CN202111615991A CN113986338B CN 113986338 B CN113986338 B CN 113986338B CN 202111615991 A CN202111615991 A CN 202111615991A CN 113986338 B CN113986338 B CN 113986338B
Authority
CN
China
Prior art keywords
project
classification
package
classes
relation
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
Application number
CN202111615991.0A
Other languages
English (en)
Other versions
CN113986338A (zh
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.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud 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 Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202111615991.0A priority Critical patent/CN113986338B/zh
Publication of CN113986338A publication Critical patent/CN113986338A/zh
Application granted granted Critical
Publication of CN113986338B publication Critical patent/CN113986338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种项目扫包方法、系统、设备及计算机可读存储介质,涉及数据处理技术领域。所述项目扫包方法包括以下步骤:获取项目中所有类的分类信息;根据所述分类信息,计算得出所有类的分类关系;将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。本发明提高了项目扫包的效率。

Description

项目扫包方法、系统、设备及计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种项目扫包方法、系统、设备及计算机可读存储介质。
背景技术
随着计算机科学技术的高速发展,应用软件开发工作的效率也越发受到重视。在使用JAVA语言开发一个完整的项目的时候,有一部分很重要的工作,就是扫描到所有类放到应用程序框架中。例如,Spring项目中,需要扫描需要用到的包名,在启动的main方法所在的类上添加注解,在项目启动时则会扫描包中带有相应注解的类,并把这些类纳入进Spring容器中管理进行。传统的Spring项目的扫包方式,可能存在整个项目不是在同一个父包目录下或每个包的差异性比较大等原因,需要手动一个个地配置包的路径,因而降低了扫包的效率。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种项目扫包方法,旨在解决项目扫包的效率较低的技术问题。
为实现上述目的,本发明提供一种项目扫包方法,所述项目扫包方法包括以下步骤:
获取项目中所有类的分类信息;
根据所述分类信息,计算得出所有类的分类关系;
将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。
优选地,所述获取项目中所有类的分类信息的步骤包括:
获取所述项目的预设分类规则,并根据所述预设分类规则调用预设配置工具对项目中所有类进行配置,获得项目中所有类的分类信息。
优选地,所述根据所述分类信息,计算得出所有类的分类关系的步骤包括:
根据预设分类规则和所述分类信息进行内存计算,获得所有类的分类关系并将所述分类关系存储在预设存储位置。
优选地,所述将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系的步骤包括:
将所述分类关系配置至所述项目的容器的环境变量中;
当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
优选地,所述将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系的步骤之后包括:
当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包。
优选地,所述将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系的步骤之后包括:
当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务。
优选地,所述项目扫包方法还包括:
获取并输出所述项目的不同业务间的调用信息;
根据基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。
此外,为实现上述目的,本发明还提供一种项目扫包系统,所述项目扫包系统包括:
采集模块,用于获取项目中所有类的分类信息;
运算模块,用于根据所述分类信息,计算得出所有类的分类关系;
配置模块,用于将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。
此外,为实现上述目的,本发明还提供一种项目扫包设备,所述项目扫包设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的项目扫包程序,所述项目扫包程序被所述处理器执行时实现如上所述任一项所述的项目扫包方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有项目扫包程序,所述项目扫包程序被处理器执行时实现如上所述任一项所述的项目扫包方法的步骤。
本发明提出的一种项目扫包方法,首先通过获取项目中所有类的分类信息,所述分类信息是指用于将所述项目中各个类进行分类的信息,其后对项目中所有类的分类信息进行分析,获得项目中所有类的分类关系。将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。将所述分类关系配置至所述项目的容器的环境变量中;当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。从而在执行扫包操作时加载所述分类关系,以扫描出对应的包,并将目标的类纳入进Spring容器中管理。本实施例中通过在Spring容器中配置项目中所有类的分类关系,从而可以根据所述分类关系快速对应包和类,从而提高了项目扫包的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明项目扫包方法第一实施例的流程示意图;
图2为本发明项目扫包方法第二实施例的流程示意图;
图3为本发明项目扫包方法第三实施例的流程示意图;
图4为本发明实施例方案涉及的项目扫包系统的示意图;
图5是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如S100、S200等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S200后执行S100等,但这些均应在本申请的保护范围之内。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
参照图1,本发明第一实施例提供一种项目扫包方法,所述项目扫包方法包括:
步骤S100,获取项目中所有类的分类信息;
具体地,类(class)是一种用户定义的引用数据类型,也称类类型,每个类包含数据说明和一组操作数据或传递消息的函数。所述分类信息是指用于将所述项目中各个类进行分类的信息,例如,可以通过所述分类信息确定该类所属的包、该包所属的业务单元以及该业务单元所属的应用模块。
更进一步地,在另一实施例中,步骤S100包括:
步骤S110,获取所述项目的预设分类规则,并根据所述预设分类规则调用预设配置工具对项目中所有类进行配置,获得项目中所有类的分类信息。
具体地,为了更好地组织类,java提供了包机制。包(package)用于分隔类名空间。可以根据所述项目的预设分类规则,调用预设配置工具(如manifest)对项目中所有类进行配置,进而获得项目中所有类的分类信息。假设,采用manifest按照预设分类规则对类进行定义,获得对应的分类信息,该分类信息为所述项目中不同的类做分类用,如,所述分类信息包括:
AppCode: 0096
BusinessCode: 00960101
BasePackages: com.mysoft.example.cost。
其中,AppCode为一级分类,应用编码;BusinessCode为二级分类,业务单元编码;BasePackages为包前缀,用来区分不同的包。更进一步地,所述业务单元的拆分可以是开发人员根据具体需求进行,大规模系统架构的设计一般原则就是尽可能地拆分,以达到更好的独立扩展与伸缩、更灵活的部署、更好的隔离和容错、更好的开发效率。
步骤S200,根据所述分类信息,计算得出所有类的分类关系;
具体地,获得项目中所有类的分类信息,然后对该分类信息进行分析,获得项目中所有类的分类关系。例如,所述分类信息为manifest文件,则读取所有定义的manifest文件,在项目启动时进行内存计算,得到项目中所有类的分类关系。
其中,步骤S200包括:
步骤S210,根据预设分类规则和所述分类信息进行内存计算,获得所有类的分类关系并将所述分类关系存储在预设存储位置。
具体地,所述分类信息为manifest文件,则读取所有定义的manifest文件,在项目启动时进行内存计算,得到项目中所有类的分类关系,并将所述分类关系存储在预设存储位置如内存或者redis等中间件中。
步骤S300,将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。
具体地,以Spring框架为例,所述容器为Spring容器,通过将所述分类关系放入Spring的环境变量(environment)中,然后再通过注解的方式将所述分类关系注册至Spring容器中,以完成将所述分类关系配置至所述项目的容器中的步骤。从而在执行扫包操作时加载所述分类关系,以扫描出对应的包,并将目标的类纳入进Spring容器中管理。
其中,步骤S300包括:
步骤S310,将所述分类关系配置至所述项目的容器的环境变量中;
步骤S320,当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
具体地,先将所述分类关系配置至所述项目的容器的环境变量中,例如,先自定义SpringApplicationRunListener,在项目启动后,将所述分类关系放入environment(Spring的环境变量),其中key参数为mysoft.scanBasePackage,然后在main方法所在的类上添加如下注解: @SpringBootApplication(scanBasePackages = "${mysoft.scanBasePackages}"),从而在执行扫包操作时加载所述分类关系,以扫描出对应的包,并将目标的类纳入进Spring容器中管理。
在本发明第一实施例中,首先通过获取项目中所有类的分类信息,所述分类信息是指用于将所述项目中各个类进行分类的信息,其后对项目中所有类的分类信息进行分析,获得项目中所有类的分类关系。将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。将所述分类关系配置至所述项目的容器的环境变量中;当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。从而在执行扫包操作时加载所述分类关系,以扫描出对应的包,并将目标的类纳入进Spring容器中管理。本实施例中通过在Spring容器中配置项目中所有类的分类关系,从而可以根据所述分类关系快速对应包和类,从而提高了项目扫包的效率。
进一步地,参照图2,本发明第二实施例提供一种项目扫包方法,基于上述图1所示的实施例,所述项目扫包方法还包括:
步骤S400,当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包。
具体地,所述集中部署为所述项目中各个类打包而成的包都部署在同一个Spring容器中。若采用集中部署的方式,则在接收到第一调用指令时,可以不需要区分包所在的分类,通过反射的方式调用对应的包。其中,所述第一调用指令可以是RPC(Remote ProcedureCall,远程过程调用)。
进一步地,参照图3,本发明第二实施例提供一种项目扫包方法,基于上述图1所示的实施例,所述项目扫包方法还包括:
步骤S500,当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务。
具体地,所述分离部署为所述项目中各个类打包而成的包部署在一个以上的Spring容器中,可以根据业务单元的不同分别部署在对应的Spring容器中,从而可以实现项目中各业务的快速拆分和合并,同时满足微服务架构,提高了开发过程的灵活性。所述第二调用指令为跨业务调用指令,若接收到第二调用指令,则调用第一业务,然后根据分类信息自动路由至其他业务,其中不同的业务之间的调用可以使用HTTP请求进行调用,在调用的时候根据分类信息,从而进行路由。其中,所述第二调用指令可以是RPC(RemoteProcedure Call,远程过程调用)。
在另一实施例中,当所述项目中各个类打包而成的包为分离部署时,所述项目扫包方法还包括:
步骤S510,获取并输出所述项目的不同业务间的调用信息;
步骤S511,根据基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。
具体地,当所述项目中各个类打包而成的包为分离部署时,可以获取并输出所述项目的不同业务间的调用信息,其中所述调用信息包括各个HTTP请求的耗时、服务器负载等信息。获取所述项目的不同业务间的调用信息,将所述调用信息输出后,开发人员可以根据所述调用信息确定各业务之间的调用情况,从而下发对应的调整指令。从而可以根据开发人员基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。从而降低服务器的负载,提升整体的调用效率。
如图4所示,图4为本发明实施例方案涉及的项目扫包系统的示意图,本发明实施例提出一种项目扫包系统,所述项目扫包系统包括:
采集模块10,用于获取项目中所有类的分类信息;
运算模块20,用于根据所述分类信息,计算得出所有类的分类关系;
配置模块30,用于将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。
更进一步地,所述项目扫包系统还包括:所述采集模块10包括配置模块和加载模块;
配置模块,用于调用预设配置工具对项目中所有类进行配置,获得项目中所有类的配置文件;
加载模块,用于加载所述配置文件,并对所述配置文件进行分析获得项目中所有类的分类信息。
更进一步地,所述项目扫包系统还包括:
运算模块20,根据预设分类规则和所述分类信息进行内存计算,获得所有类的分类关系并将所述分类关系存储在预设存储位置。
更进一步地,所述项目扫包系统还包括:
配置模块30,还用于将所述分类关系配置至所述项目的容器的环境变量中;
配置模块30,还用于当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
更进一步地,所述项目扫包系统还包括:调用模块40;
调用模块40,用于当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包。
更进一步地,所述项目扫包系统还包括:
调用模块40,还用于当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务。
更进一步地,所述项目扫包系统还包括:调整模块50;
调整模块50,用于获取并输出所述项目的不同业务间的调用信息;
调整模块50,用于根据基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。
如图5所示,图5是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图5所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图5中示出的设备结构并不构成对项目扫包设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及项目扫包应用程序。
在图5所示的装置中,处理器1001可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
获取项目中所有类的分类信息;
根据所述分类信息,计算得出所有类的分类关系;
将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
获取所述项目的预设分类规则,并根据所述预设分类规则调用预设配置工具对项目中所有类进行配置,获得项目中所有类的分类信息。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
根据预设分类规则和所述分类信息进行内存计算,获得所有类的分类关系并将所述分类关系存储在预设存储位置。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
将所述分类关系配置至所述项目的容器的环境变量中;
当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务。
更进一步地,处理器1001还可以用于调用存储器1005中存储的项目扫包程序,并执行以下操作:
获取并输出所述项目的不同业务间的调用信息;
根据基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的项目扫包方法中的操作,具体实现步骤可参照上述实施例,在此不多赘述。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (7)

1.一种项目扫包方法,其特征在于,所述项目扫包方法包括以下步骤:
获取项目中所有类的分类信息,其中,所述分类信息包括用于将所述项目中所有类进行分类的信息;
根据所述分类信息,计算得出所有类的分类关系;
将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系;
当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包;
当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务;
所述将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系的步骤包括:
将所述分类关系配置至所述项目的容器的环境变量中;
当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
2.如权利要求1所述的项目扫包方法,其特征在于,所述获取项目中所有类的分类信息的步骤包括:
获取所述项目的预设分类规则,并根据所述预设分类规则调用预设配置工具对项目中所有类进行配置,获得项目中所有类的分类信息。
3.如权利要求1所述的项目扫包方法,其特征在于,所述根据所述分类信息,计算得出所有类的分类关系的步骤包括:
根据预设分类规则和所述分类信息进行内存计算,获得所有类的分类关系并将所述分类关系存储在预设存储位置。
4.如权利要求1所述的项目扫包方法,其特征在于,所述项目扫包方法还包括:
获取并输出所述项目的不同业务间的调用信息;
根据基于所述调用信息反馈的调整指令,调整所述项目中各个类打包而成的包的部署。
5.一种项目扫包系统,其特征在于,所述项目扫包系统包括:
采集模块,用于获取项目中所有类的分类信息,其中,所述分类信息包括用于将所述项目中所有类进行分类的信息;
运算模块,用于根据所述分类信息,计算得出所有类的分类关系;
配置模块,用于将所述分类关系配置至所述项目的容器,以使执行预设扫包操作时加载所述分类关系;
调用模块,用于当所述项目中各个类打包而成的包为集中部署时,则根据接收到的第一调用指令通过反射调用对应的包;
调用模块,用于当所述项目中各个类打包而成的包为分离部署时,若接收到第二调用指令,并根据所述分类关系路由至所述项目中的目标业务;
所述项目扫包系统还包括:
配置模块,还用于将所述分类关系配置至所述项目的容器的环境变量中;
配置模块,还用于当所述项目启动时,加载所述分类关系并根据所述分类关系执行扫包操作。
6.一种项目扫包设备,其特征在于,所述项目扫包设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的项目扫包程序,所述项目扫包程序被所述处理器执行时实现如权利要求1至4中任一项所述的项目扫包方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有项目扫包程序,所述项目扫包程序被处理器执行时实现如权利要求1至4中任一项所述的项目扫包方法的步骤。
CN202111615991.0A 2021-12-28 2021-12-28 项目扫包方法、系统、设备及计算机可读存储介质 Active CN113986338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111615991.0A CN113986338B (zh) 2021-12-28 2021-12-28 项目扫包方法、系统、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111615991.0A CN113986338B (zh) 2021-12-28 2021-12-28 项目扫包方法、系统、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113986338A CN113986338A (zh) 2022-01-28
CN113986338B true CN113986338B (zh) 2022-04-15

Family

ID=79734607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111615991.0A Active CN113986338B (zh) 2021-12-28 2021-12-28 项目扫包方法、系统、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113986338B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
CN109284327A (zh) * 2018-11-26 2019-01-29 杭州安恒信息技术股份有限公司 通过模拟数据库连接驱动包扫描数据库类型的方法及装置
CN110058879A (zh) * 2019-04-08 2019-07-26 浙江天正电气股份有限公司 一种智能终端快速组态方法
CN110175275A (zh) * 2019-06-20 2019-08-27 深圳市掌握时代互联网应用科技有限公司 一种电商扫码锁粉系统
WO2020083020A1 (zh) * 2018-10-23 2020-04-30 腾讯科技(深圳)有限公司 确定用户对物品的兴趣度的方法与装置、设备和存储介质
CN111143296A (zh) * 2019-11-22 2020-05-12 贵州电网有限责任公司 变电站scd文件分类方法、装置、终端及存储介质
CN111443901A (zh) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 一种基于Java反射的业务扩展方法及装置
CN113032004A (zh) * 2019-12-09 2021-06-25 伊姆西Ip控股有限责任公司 在开发环境中管理开发作业的方法、设备和程序产品

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430170B2 (en) * 2016-10-31 2019-10-01 Servicenow, Inc. System and method for creating and deploying a release package
US10528343B2 (en) * 2018-02-06 2020-01-07 Smartshift Technologies, Inc. Systems and methods for code analysis heat map interfaces
CN108874464B (zh) * 2018-05-31 2023-03-21 康键信息技术(深圳)有限公司 中间件自动扫描装配方法、装置及存储介质
CN111259067B (zh) * 2020-01-21 2023-06-06 褚晶晶 一种基于Spring实现DAO接口的方法、装置及设备
CN113535220B (zh) * 2020-04-15 2023-11-03 北京京东振世信息技术有限公司 一种代码包管理方法和装置
US11210110B2 (en) * 2020-05-11 2021-12-28 Jpmorgan Chase Bank, N.A. Application library analytics tool
CN113626441A (zh) * 2021-08-18 2021-11-09 百度在线网络技术(北京)有限公司 基于扫描设备的文本管理方法、装置、设备以及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
WO2020083020A1 (zh) * 2018-10-23 2020-04-30 腾讯科技(深圳)有限公司 确定用户对物品的兴趣度的方法与装置、设备和存储介质
CN109284327A (zh) * 2018-11-26 2019-01-29 杭州安恒信息技术股份有限公司 通过模拟数据库连接驱动包扫描数据库类型的方法及装置
CN111443901A (zh) * 2018-12-27 2020-07-24 北京奇虎科技有限公司 一种基于Java反射的业务扩展方法及装置
CN110058879A (zh) * 2019-04-08 2019-07-26 浙江天正电气股份有限公司 一种智能终端快速组态方法
CN110175275A (zh) * 2019-06-20 2019-08-27 深圳市掌握时代互联网应用科技有限公司 一种电商扫码锁粉系统
CN111143296A (zh) * 2019-11-22 2020-05-12 贵州电网有限责任公司 变电站scd文件分类方法、装置、终端及存储介质
CN113032004A (zh) * 2019-12-09 2021-06-25 伊姆西Ip控股有限责任公司 在开发环境中管理开发作业的方法、设备和程序产品

Also Published As

Publication number Publication date
CN113986338A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
US11128633B2 (en) Microservice deployment
CN111291103B (zh) 接口数据的解析方法、装置、电子设备及存储介质
CN109062563B (zh) 用于生成页面的方法和装置
CN107609004B (zh) 应用程序埋点方法和装置、计算机设备和存储介质
CN110018860B (zh) 工作流管理方法、装置、设备和计算机存储介质
US20210288891A1 (en) Microservice Generation System
CN111045683A (zh) 小程序代码编译方法、装置、设备及介质
CN111401650A (zh) 客户端订单接入管理方法和系统
CN111782516A (zh) 一种代码测试方法及装置、存储介质
CN111628938B (zh) 分支合并的方法、装置、电子设备及计算机存储介质
CN111796865A (zh) 一种字节码文件修改方法、装置、终端设备及介质
CN114020850B (zh) 数据库数据同步方法、装置、设备及可读存储介质
CN115357282A (zh) 应用实现方法、装置、电子设备及存储介质
CN114640727A (zh) 协议解析方法、装置及计算机可读存储介质
CN107707602B (zh) 数据通信处理终端、方法及计算机可读存储介质
CN113986338B (zh) 项目扫包方法、系统、设备及计算机可读存储介质
CN111666074B (zh) 一种web应用定制的方法、相关装置及系统
CN112199254B (zh) 数据模型的扫描方法、系统、计算机设备及存储介质
CN113672311A (zh) 结构体赋值方法、赋值器及计算机可读存储介质
CN110336693B (zh) 网络块设备的管理方法、装置、设备和存储介质
CN111752563A (zh) 动态修改界面方法、装置、终端及计算机可读存储介质
CN113918499B (zh) 开放接口生成方法、网络设备及计算机可读存储介质
CN112306469A (zh) 一种无障碍组件构建方法、装置、设备及存储介质
CN111030848A (zh) 电子产品自动配置方法、装置和存储介质
CN111782713B (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