CN110209427B - 应用系统及其启动方法、电子设备、存储介质 - Google Patents
应用系统及其启动方法、电子设备、存储介质 Download PDFInfo
- Publication number
- CN110209427B CN110209427B CN201810166534.XA CN201810166534A CN110209427B CN 110209427 B CN110209427 B CN 110209427B CN 201810166534 A CN201810166534 A CN 201810166534A CN 110209427 B CN110209427 B CN 110209427B
- Authority
- CN
- China
- Prior art keywords
- tool
- application system
- interface
- library file
- library
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种应用系统及其启动方法、电子设备、存储介质。所述应用系统耦合有业务模块;在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:获取所述业务模块的指定版本的库文件;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及一种应用系统及其启动方法、电子设备、存储介质。
背景技术
随着计算机网络技术的发展,给人们生活工作带来了很多的便利。
多数计算机软件采用客户端和服务器的模式,通过客户端提供给使用者交互,通过服务器对应多个客户端,为多个客户端提供类似于平台的服务。
在服务器中运行的业务系统,可以耦合有一些业务模块。比如,订单系统中,除了订单系统正常流程需要的功能之外。还可能通过一些业务模块,对订单进行统计分析。
发明内容
本说明书实施方式提供一种应用系统及其启动方法、电子设备、存储介质。能够减少应用系统的运行错误。
本说明书实施方式提供一种应用系统启动方法,所述应用系统耦合有业务模块;所述方法包括:在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:获取所述业务模块的指定版本的库文件;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
本说明书实施方式提供一种应用系统,所述应用系统耦合有业务模块,所述应用系统包括:启动模块,在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化;所述引导加载器包括:获取模块,用于获取所述业务模块的指定版本的库文件;存放模块,用于将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
本说明书实施方式提供一种电子设备,包括:网络通信单元和处理器;所述网络通信单元用于在业务模块初始化过程中,获取业务模块的指定版本的库文件;所述处理器用于在应用系统启动过程中,对所述应用系统耦合的所述业务模块的引导加载器进行初始化;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
本说明书实施方式提供一种计算机存储介质。所述计算机存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现:在应用系统启动过程中,对应用系统耦合的业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:获取所述业务模块的指定版本的库文件;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
本说明书实施方式提供一种应用系统,在所述应用系统的系统文件包中包括引导加载器、接口工具包;所述系统文件包进行加载过程中,加载所述引导加载器;所述引导加载器获取客户端库包,将所述客户端库包中的接口工具放入所述接口工具包中,以用于所述应用系统在运行过程中在所述接口工具包中查找调用所述客户端库包的接口工具。
由以上本说明书实施方式提供的技术方案可见,本说明书实施方式提供的应用系统启动方法可以在应用系统启动阶段对其耦合的业务模块进行独立的初始化,并将业务模块的接口工具放入指定的工具集中,避免了与应用系统的工具混在一起。减少了可能因命名方式导致的运行问题,提升了系统运行的健壮性。
附图说明
为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施方式提供的一种应用系统的示意图;
图2为本说明书实施方式提供的一种应用系统启动方法的流程图;
图3为本说明书实施方式提供的一种推荐系统和订单系统交互的示意图;
图4为本说明书实施方式提供的一种应用系统启动方法的流程图;
图5为本说明书实施方式提供的一种应用系统启动方法的流程图;
图6为本说明书实施方式提供的一种应用系统启动方法的流程图;
图7为本说明书实施方式提供的一种应用系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施方式中的附图,对本说明书实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本说明书一部分实施方式,而不是全部的实施方式。基于本说明书中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本说明书保护的范围。
本说明书实施方式提供一种应用系统。所述应用系统可以运行于具有运算和网络交互功能的电子设备。所述电子设备可以是工作站、具有较强运算能力的台式电脑或笔记本电脑、或者服务器等。
所述应用系统可以是实现一个业务目的相关业务逻辑的功能集合。具体的,例如,应用系统可以是订单系统。如此,应用系统可以包括下单功能模块、订单处理模块等。应用系统可以是搜索系统,相应的可以包括实现搜索功能相关的功能模块。
所述应用系统可以耦合有业务模块。所述业务模块可以是为了实现一个特定功能的功能模块。业务模块可以依附于应用系统中,可以与应用系统的进行数据交互。在一些实施方式中,业务模块可以采集应用系统的数据,作为自身的数据输入,如此完成业务模块的功能。
在本实施方式中,应用系统与业务模块相耦合,可以为二者之间可以进行数据交互。业务模块实现自身的功能,需要依赖应用系统提供的数据。
请参阅图1。本说明书实施方式还提供一种应用系统启动方法,所述应用系统耦合有业务模块。所述方法包括:在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化。
在本实施方式中,在应用系统启动过程中对业务模块的引导加载器进行初始化,如此可以实现在应用系统完成启动之后,可以正常的运行,以及调用业务模块的工具。进而,可以较为正常的实现相关的业务功能。所述应用系统启动过程可以为所述应用系统开始被电子设备加载之后,为正常运行而做的准备工作。在一个具体的实施方式中,在所述应用系统启动过程中,优先对所述业务模块的引导加载器进行初始化。如此,实现业务模块和应用系统可以分开时间顺序加载,有利于减少在加载过程中,因工具命名问题出错。
在本实施方式中,所述引导加载器可以是业务模块的加载工具。引导加载器可以是一个软件功能模块,其业务逻辑为对业务模块中进行加载工作。在本实施方式中,业务模块的初始化可以至少包括以下之一:对工具的实例化、定义变量、加载工具至内存中。
在本实施方式中,所述应用系统与所述业务模块的引导加载器和所述接口工具存在依赖关系。依赖关系可以是指应用系统与引导加载器和接口工具之间存在关联,应用系统需要基于引导加载器或者接口工具才能够实现相应的业务逻辑。具体的,例如,应用系统需要通过引导加载器实现对业务模块的工具的加载。使得,应用系统与引导加载器之间存在依赖关系。再者,应用系统需要通过接口工具与业务模块进行交互,调用业务模块实现的业务逻辑的业务工具。如此,应用系统与接口工具之间存在依赖关系。
请参阅图2。所述业务模块的引导加载器在进行初始化过程中可以包括以下步骤。
步骤S10:获取所述业务模块的指定版本的库文件。
在本实施方式中,业务模块的工具可以是通过软件封装实现的方法集合。一个工具可以包括至少一个方法。通过工具中方法的执行,可以实现相应的业务逻辑,从而实现相应的功能。具体的,例如,工具可以是面向对象软件中的类。
在本实施方式中,所述库文件可以包括所述业务模块的全部工具。使得库文件可以是由业务模块的工具形成的集合。库文件可以作为一个整体,通过库版本号进行标识。不同库版本号所标识的库文件至少具有部分不同的工具。即不同库版本号所标识的库文件之间,至少部分工具被增加、删除、修改等。
在本实施方式中,引导加载器在初始化业务模块的过程中,主动获取业务模块的库文件。如此使得业务模块被加载指定的版本。实现了业务模块在发生升级或修改等变化时,在启动应用系统时,便可以加载相应升级或修改后的库文件,如此实现便于业务模块的管理。
在本实施方式中,获取库文件的方式可以包括:应用系统向库文件管理系统请求获得库文件;应用系统读取本地存储的库文件。
在本实施方式中,指定版本可以是应用系统中设定有对应的库版本号,进而基于该库版本号获得相应的库文件。指定版本也可以是应用系统向库文件管理系统请求获得库文件时,库文件管理系统向应用系统发送所述业务模块的最新版本的库文件。
步骤S12:将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
在本实施方式中,将接口工具放入接口工具集,如此避免将接口工具与应用系统的工具混在一起。在一些情况下,业务模块和应用系统可能会分属于不同的开发人员团队进行管理维护,使得二者之间可能会存在一些工具的名称相同,但功能或逻辑不同。如果,直接将业务模块和应用系统的工具混在一起,可能会因为一些工具名称相同导致运行中的错误。本实施方式中,应用系统与业务模块之间,通过接口工具进行数据交互,如此减少了因应用系统中工具与业务模块中工具的命名带来的运行错误。再者,通过将接口工具单独存放于接口工具集中,而与应用系统的工具分开存放,进一步减少了因命名带来的运行错误,
在本实施方式中,应用系统在运行过程中,查找接口工具集中的接口工具,可以是根据工具的名称在接口工具集中进行查找。在本实施方式中,接口工具集可以是业务模块的接口工具形成的数据集合。具体的,例如,接口工具集可以通过数据表、数组等。
在本实施方式中,所述应用系统通过所述接口工具调用所述业务模块的业务工具。工具可以根据实现的功能进行区分为接口工具和业务工具。接口工具可以用于调用业务工具。业务工具可以用于实现一定的业务逻辑。具体的,例如,业务工具是用于在数据库中,根据关键词进行查询得到结果集,而接口工具用于与应用系统直接交互。应用系统将关键词提供给接口工具,接口工具负责将关键词给业务工具,并将结果集反馈给应用系统。如此设置,降低了应用系统与业务工具之间的耦合度,便于业务工具的更新维护。
请参阅图3。在一个场景示例中,推荐系统中耦合有用户偏好模块。推荐系统可以用于在用户访问商品或服务页面时,向用户推荐可能引起该用户兴趣的商品或服务。用户偏好模块可以在订单系统中采集用户的订单数据,根据订单数据分析用户的个人兴趣、购买偏好等。用户偏好模块输出的数据可以用于推荐系统,为用户推荐商品或服务。
在本场景示例中,推荐系统在启动时可以先初始化用户偏好模块的引导加载器,如此可以通过引导记载器进一步初始化用户偏好模块。具体的,以采用Java语言开发的推荐系统和用户偏好模块为例。用户偏好模块的引导加载器可以被配置为推荐系统的Javaagent。
在本场景示例中,用户偏好模块的引导加载器在初始化的过程中,会获取业务模块的库文件。引导加载器可以向库文件管理系统发送版本号获取请求。库文件管理系统接收到该版本号获取请求之后,可以将业务模块的库文件的最新库版本号“V6”反馈给引导加载器。引导加载器将获得的库版本号“V6”与应用系统已有的库文件的库版本号“V5”进行比较,发现获得的库版本号高于已有库文件的库版本号。引导加载器向库文件管理系统发送库文件获取请求,以请求获取库版本号“V6”的库文件。库文件管理系统接收到该库文件获取请求之后,反馈相应的库文件。
在本场景示例中,引导加载器得到用户偏好模块的库文件之后,对库文件进行解包处理。可以得到至少一个工具包。具体的,例如工具包的数量为3个,分别为订单数据读取工具包、订单数据分析工具包和用户标记工具包。所述订单数据读取工具包中的工具用于读取订单数据。所述订单数据分析工具包中的工具用于对订单数据指向的商品或服务进行分析。所述用户标记工具包中的工具用于根据前述分析结果,对订单数据对应的用户分配标签。该标签用于表达用户的偏好或兴趣。
在本场景示例中,引导加载器进一步加载工具包。具体的,引导加载器可以实例化一个加载工具来加载用户偏好模块解包后的工具包。
在本场景示例中,每个工具包中可以包括业务工具和接口工具。接口工具用于调用业务工具。引导加载器将每个工具包中的接口工具放入接口工具集。如此,推荐系统和业务模块之间,可以通过接口工具进行数据交互。在一个具体的示例中,业务模块的一个业务工具的名称可以为“TextSend”,而推荐系统自身的业务工具的名称也可以为“TextSend”。由于,用户偏好模块采用独立的引导加载器进行加载,使得二者加载的方式不同,所以减少了因命名带来的运行错误。再者,在调用时,用户偏好模块的业务工具通过接口工具进行调用,实现用户偏好模块的业务工具与推荐系统的业务工具的调用方式也不同,进一步减少了可能的运行错误。
在本场景示例中,用户偏好模块的接口工具放入接口工具集,而并没有与推荐系统的工具混在一起。推荐系统在运行过程中,可以先将调用的工具名称在接口工具集中查找,没有找到后再到推荐系统自身的工具集中查找。减少了因用户偏好模块的接口工具的命名与推荐系统的工具命名冲突带来的问题。
请参阅图4。在本实施方式中,在获取库文件的步骤中可以包括以下步骤。
步骤S14:向库文件管理系统发送版本号获取请求,用于向所述库文件管理模块获取库版本号。
在本实施方式中,库版本号可以是针对库文件的编号。库版本号与库文件存在对应关系,通过库版本号可以确定对应的库文件。具体的,例如,一个业务模块的库版本号可是“V1”,用于表示第一个版本。
在本实施方式中,库文件管理系统可以用于管理库文件。开发团队人员可以通过库文件管理系统进行发布新的库文件,或者发布修改后的库文件,或者单独发布新的、或修改的工具。库文件管理系统可以对应库文件保存有库版本号。如此,是的库文件管理系统接收到版本号获取请求时,可以反馈相应的库版本号。
在本实施方式中,应用系统启动过程中,业务模块的引导加载器可以向库文件管理系统获取库版本号,如此可以进一步判断应用系统中业务模块的库文件是否需要被升级。版本号获取请求可以是遵循网络通信协议的请求命令。具体的,例如,版本号获取请求可以是遵循HTTP、TCP/IP、FTP等协议的网络通信请求。
步骤S16:将所述获取的库版本号与所述系统中的库文件的库版本号进行比对;在二者不同的情况下,获取所述获取的库版本号对应的库文件。
在本实施方式中,引导加载器对比获取的库版本号和已有的库版本号,如此可以判断是否需要更新已有的库文件。如果获取的库版本号高于已有的库文件的库版本号,可以认为需要针对业务模块的库文件进行更新。如果获取的库版本号与已有的库文件的库版本号相同,可以进行进一步的加载工作。如果获取的库版本号低于已有的库文件的库版本号,可以不进行更新。但在一些情况下,一个库文件发布之后,发现新版本的库文件肯能存在问题,此时如果应用系统中已经使用了最新版本的库文件,那么可能需要变更至较低版本的库文件。如此,在获取的库版本号低于已有的库文件的库版本号时,可以获取低版本的库文件。
请参阅图5。在一个实施方式中,在获取库文件的步骤中可以包括以下步骤。
步骤S18:在所述应用系统中没有库文件的情况下,向库文件管理系统发出库文件获取请求。
步骤S20:接收所述库文件管理系统反馈的库文件。
在本实施方式中,应用系统启动时,可以没有业务模块的库文件,而由引导加载器从库文件管理系统获得。如此,可以通过管理维护库文件管理系统中的库文件,便可以对应用系统中使用的库文件进行更新。在一些情况下,一个业务模块可能被应用于多个应用系统,如此通过库文件管理系统进行统一维护,降低了系统维护的工作量。
请参阅图6。在一个实施方式中,在将所述业务模块库文件中的接口工具放入接口工具集可以包括以下步骤。
步骤S22:对获取的所述库文件进行解包处理,得到工具包。
在本实施方式中,获取的库文件可以是作为一个整体,以便于保存和数据传输。所以,引导加载器获得库文件之后,需要进行一定的处理。通常,在库文件中会包括有至少一个工具包,每个工具包中可以包括至少一个工具。每个工具包可以是对工具的用途进行归类形成。具体的,例如,可以将接口工具形成一个工具包,可以将调用数据库的工具形成一个工具包,可以将数据统计的工具形成一个工具包等等。
步骤S24:加载所述工具包。
步骤S26:将所述工具包中的接口工具放入所述接口工具集。
在本实施方式中,引导加载器加载工具包,以得到工具包中的工具。进一步的,引导加载器将工具包中的接口工具放入接口工具集,如此便于应用系统进行查找调用,以及减少因命名带来的运行错误。依照工具包形成的归类不同,一个工具包中可能会包括接口工具,也可能没有接口工具,而将全部接口工具进行统一形成一个工具包。引导加载器加载工具包之后,会进行查找是否有接口工具,将接口工具放入接口工具集。
本说明书实施方式还提供一种应用系统。所述应用系统耦合有业务模块。所述应用系统可以包括启动模块。
所述启动模块,在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化。
所述引导加载器可以包括获取模块和存放模块。
获取模块,用于获取所述业务模块的指定版本的库文件。
存放模块,用于将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
在本实施方式中,所涉及模块实现的功能和效果,可以参照其它实施方式对照解释。
本说明书实施方式还提供一种电子设备。所述应用系统可以包括:网络通信单元和处理器。
所述网络通信单元用于在业务模块初始化过程中,获取业务模块的指定版本的库文件。
所述处理器用于在应用系统启动过程中,对所述应用系统耦合的所述业务模块的引导加载器进行初始化;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
本实施方式方式提供的电子设备,其实现的具体功能和效果,可以与本说明书中的前述实施方式方式相对照解释。
本说明书实施方式还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现:在应用系统启动过程中,对应用系统耦合的业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:获取所述业务模块的指定版本的库文件;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具。
在本实施方式中,所述计算机存储介质可以包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)或者存储卡(Memory Card)。
在本实施方式中,所述计算机程序指令被执行时实现的功能和效果,可以参照其它实施方式对照解释。
请参阅图7。本说明书实施方式还提供一种应用系统,在所述应用系统的系统文件包中包括引导加载器、接口工具包;所述系统文件包进行加载过程中,加载所述引导加载器;所述引导加载器获取客户端库包,将所述客户端库包中的接口工具放入所述接口工具包中,以用于所述应用系统在运行过程中在所述接口工具包中查找调用所述客户端库包的接口工具。
在本实施方式中,应用系统的系统文件可以包括实现应用系统本身业务功能的文件包。再此之上,系统文件包括引导加载器和接口工具包。本实施方式中,并不局限应用系统要实现的业务功能,应用系统可以是一种业务平台,在该业务平台上可以介入第三方应用。具体的,例如,应用系统可以是手机京东。当然,应用系统也可以是实现特定功能的应用,其可以调用第三方应用,而并不是业务平台。具体的,例如,应用系统是天气预报应用。
在本实施方式中,引导加载器可以包括多个文件。每个文件中可以包括实现功能的计算机指令。在该多个文件的计算机指令被执行时,实现客户端记载器的功能。引导加载器用于获取客户端库包,将所述客户端库包中的接口工具放入所述接口工具包中。引导加载器可以获取的客户端库包。引导加载器不限于获得指定版本的客户端库包,还可以为引导加载器仅仅向库文件管理系统发出获取请求,并不限定版本,而由库文件管理系统进行版本管控。
在本实施方式中,客户端库包可以是一种库文件,其包括实现客户端的业务功能的文件,也包括有客户端的接口工具。可以通过接口工具调用实现业务功能的文件。客户端库包可以介入应用系统中。在客户端库包中的文件被执行时,可以与应用系统进行数据交互。
在本实施方式中,接口工具包可以是接口工具形成的数据集。具体的,接口工具包可以是应用系统单独存放客户端的接口工具的文件包。如此,接口工具包中的接口工具不会与应用系统自身的系统文件中的文件进行混淆。通过接口工具包中的接口工具调用客户端的业务功能的文件。避免了可能因命名相同导致客户端文件与应用系统的文件的冲突问题等。
在一个实施方式中,所述应用系统具有系统工具包和用于调用工具的工具加载器;其中,所述工具加载器在调用工具的过程中,接收工具加载指令,所述工具加载指令包括工具名称;根据所述工具名称在所述接口工具包中进行查询;在所述接口工具包中没有找到名称为所述工具名称的接口工具的情况下,在所述系统工具包中查询名称为所述工具名称的系统工具。
在本实施方式中,工具加载器可以用于加载应用系统运行过程中需要调用的工具。从而,使得应用系统可以通过调用不同的工具,而实现相应的业务功能。在一个具体的实施方式中,工具加载器对于工具的加载至少包括以下之一:工具的实例化、定义变量、加载工具至内存。
在本实施方式中,应用系统在运行过程中,需要调用工具,可以产生工具加载指令。如此,来声明要被加载的工具。工具加载指令中可以包括有工具名称,如此实现工具加载指令具有一定的指向性。工具名称可以用于标识一个工具。
在本实施方式中,工具加载器接收到工具加载指令之后,会按照一定顺序在接口工具包和系统工具包中查找工具。在一些情况下,接口工具包和系统工具包中存在工具名称相同的工具。通过按照一定顺序分别查找接口工具包和系统工具包,避免了加载工具在查找工具名称对应的工具时,出现混乱的情况,减少了因接口工具包和系统工具包中存在相同工具名称的工具,导致的系统故障的机率。
在本实施方式中,在所述接口工具包中包括名称为所述工具名称的接口工具的情况下,反馈名称为所述工具名称的接口工具。如此,实现接口工具可以优先被调用,可以较好的支撑第三方的软件。工具加载器在接口工具包中没有找到对应的接口工具的情况下,再从系统工具包中进行查找系统工具。如此,在实现一些功能,而接口工具包中没有相应的工具时,还可以通过调用系统工具包中的系统工具,如此,满足了整个应用系统功能多样化的需求。
在一个实施方式中,所述应用系统还包括用于管理客户端库包的管理子系统;所述引导加载器从所述管理子系统获取所述客户端库包。
在本实施方式中,管理子系统可以用于管理客户端库包。具体的,管理子系统可以提供客户端库包的存储、更新等功能。以及,管理子系统在接收到客户端库包的获取请求的情况下,响应获取请求提供客户端库包。
在本实施方式中,通过管理子系统进行对客户端库包进行管理,便于客户端库包的更新。当客户端库包发生变更时,可以对管理子系统中的客户端库包进行版本更新,如此便实现了应用系统获取的客户端库包为更新后的客户端库包。便于应用系统调用的客户端库包的升级。再者,通过管理子系统管理客户端库包,应用系统可以无需关注客户端库包具体的状态,在应用系统需要加载客户端库包时,便向管理子系统发出请求获取,减少了应用系统的维护人员的工作量。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。
本说明书实施方式中提及的服务器,可以是具有一定运算处理能力的电子设备。其可以具有网络通信端子、处理器和存储器等。当然,上述服务器也可以是指运行于所述电子设备中的软体。上述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field ProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式或者实施方式的某些部分所述的方法。
虽然通过实施方式描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种应用系统启动方法,其特征在于,所述应用系统耦合有业务模块;所述方法包括:在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:
获取所述业务模块的指定版本的库文件;
将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具;所述应用系统与所述业务模块之间通过所述接口工具进行数据交互。
2.根据权利要求1所述的方法,其特征在于,在获取库文件的步骤中包括:
向库文件管理系统发送版本号获取请求,用于向所述库文件管理模块获取库版本号;
将所述获取的库版本号与所述系统中的库文件的库版本号进行比对;在二者不同的情况下,获取所述获取的库版本号对应的库文件。
3.根据权利要求1所述的方法,其特征在于,在获取库文件的步骤中包括:
在所述应用系统中没有库文件的情况下,向库文件管理系统发出库文件获取请求;
接收所述库文件管理系统反馈的库文件。
4.根据权利要求1所述的方法,其特征在于,在将所述业务模块库文件中的接口工具放入接口工具集包括:
对获取的所述库文件进行解包处理,得到工具包;
加载所述工具包;
将所述工具包中的接口工具放入所述接口工具集。
5.根据权利要求1所述的方法,其特征在于,所述应用系统通过所述接口工具调用所述业务模块的业务工具。
6.根据权利要求1所述的方法,其特征在于,所述指定版本为所述库文件的最新版本。
7.根据权利要求1所述的方法,其特征在于,在所述应用系统启动过程中,优先对所述业务模块的引导加载器进行初始化。
8.根据权利要求1所述的方法,其特征在于,所述应用系统与所述业务模块的引导加载器和所述接口工具存在依赖关系。
9.一种应用系统,其特征在于,所述应用系统耦合有业务模块,所述应用系统包括:
启动模块,在所述应用系统启动过程中,对所述业务模块的引导加载器进行初始化;
所述引导加载器包括:
获取模块,用于获取所述业务模块的指定版本的库文件;
存放模块,用于将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具;所述应用系统与所述业务模块之间通过所述接口工具进行数据交互。
10.一种电子设备,其特征在于,包括:网络通信单元和处理器;
所述网络通信单元用于在业务模块初始化过程中,获取业务模块的指定版本的库文件;
所述处理器用于在应用系统启动过程中,对所述应用系统耦合的所述业务模块的引导加载器进行初始化;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具;所述应用系统与所述业务模块之间通过所述接口工具进行数据交互。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现:在应用系统启动过程中,对应用系统耦合的业务模块的引导加载器进行初始化;其中,所述业务模块的引导加载器在进行初始化过程中包括:获取所述业务模块的指定版本的库文件;将所述业务模块库文件中的接口工具放入接口工具集;以用于所述应用系统运行过程中在所述接口工具集中查找接口工具;所述应用系统与所述业务模块之间通过所述接口工具进行数据交互。
12.一种应用系统,其特征在于,在所述应用系统的系统文件包中包括引导加载器、接口工具包;所述系统文件包进行加载过程中,加载所述引导加载器;所述引导加载器获取客户端库包,将所述客户端库包中的接口工具放入所述接口工具包中,以用于所述应用系统在运行过程中在所述接口工具包中查找调用所述客户端库包的接口工具。
13.根据权利要求12所述的系统,其特征在于,所述应用系统具有系统工具包和用于调用工具的工具加载器;其中,所述工具加载器在调用工具的过程中接收工具加载指令,所述工具加载指令包括工具名称;根据所述工具名称在所述接口工具包中进行查询;在所述接口工具包中没有找到名称为所述工具名称的接口工具的情况下,在所述系统工具包中查询名称为所述工具名称的系统工具。
14.根据权利要求13所述的系统,其特征在于,所述工具加载器在调用工具的过程中还包括:在所述接口工具包中包括名称为所述工具名称的接口工具的情况下,反馈名称为所述工具名称的接口工具。
15.根据权利要求12所述的系统,其特征在于,所述应用系统还包括用于管理客户端库包的管理子系统;所述引导加载器从所述管理子系统获取所述客户端库包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810166534.XA CN110209427B (zh) | 2018-02-28 | 2018-02-28 | 应用系统及其启动方法、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810166534.XA CN110209427B (zh) | 2018-02-28 | 2018-02-28 | 应用系统及其启动方法、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209427A CN110209427A (zh) | 2019-09-06 |
CN110209427B true CN110209427B (zh) | 2022-07-15 |
Family
ID=67778611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810166534.XA Active CN110209427B (zh) | 2018-02-28 | 2018-02-28 | 应用系统及其启动方法、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209427B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001053937A2 (en) * | 2000-01-21 | 2001-07-26 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101008901A (zh) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | 实现应用系统动态升级的方法及系统 |
CN105022630A (zh) * | 2015-06-30 | 2015-11-04 | 中标软件有限公司 | 一种组件管理系统及组件管理方法 |
CN105404524A (zh) * | 2014-09-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Java应用中的类加载隔离方法及装置 |
CN107038045A (zh) * | 2017-03-30 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 加载库文件的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424002B (zh) * | 2013-09-10 | 2017-12-12 | 中国科学院声学研究所 | 一种基于插件机制的动态加载组件方法和系统 |
CN104714824B (zh) * | 2015-01-09 | 2017-12-22 | 青岛海信电器股份有限公司 | 一种应用程序启动方法 |
-
2018
- 2018-02-28 CN CN201810166534.XA patent/CN110209427B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001053937A2 (en) * | 2000-01-21 | 2001-07-26 | Sun Microsystems, Inc. | Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer |
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN101008901A (zh) * | 2007-01-31 | 2007-08-01 | 华为技术有限公司 | 实现应用系统动态升级的方法及系统 |
CN105404524A (zh) * | 2014-09-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Java应用中的类加载隔离方法及装置 |
CN105022630A (zh) * | 2015-06-30 | 2015-11-04 | 中标软件有限公司 | 一种组件管理系统及组件管理方法 |
CN107038045A (zh) * | 2017-03-30 | 2017-08-11 | 腾讯科技(深圳)有限公司 | 加载库文件的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110209427A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772838B2 (en) | Firmware update discovery and distribution | |
US8812627B2 (en) | System and method for installation and management of cloud-independent multi-tenant applications | |
US9235404B2 (en) | Firmware update system | |
US9110761B2 (en) | Resource data structures for firmware updates | |
US20180196665A1 (en) | Managing, using, and updating application resources | |
CN101297286B (zh) | 添加设备驱动程序的方法 | |
US20210133002A1 (en) | Using scripts to bootstrap applications with metadata from a template | |
US8819708B2 (en) | System and method to abstract hardware routing via a correlatable identifier | |
US20080294764A1 (en) | Storage medium bearing hba information provision program, hba information provision method and hba information provision apparatus | |
US20060252406A1 (en) | System and method for providing bundle group termination in an OSGi service platform | |
US8407713B2 (en) | Infrastructure of data summarization including light programs and helper steps | |
US10855750B2 (en) | Centralized management of webservice resources in an enterprise | |
CN110688096A (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
US9411618B2 (en) | Metadata-based class loading using a content repository | |
US20130124611A1 (en) | Unified repository & tool infrastructure | |
US20220391748A1 (en) | Method and system for application programming interface based container service for supporting multiple machine learning applications | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN110209427B (zh) | 应用系统及其启动方法、电子设备、存储介质 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
US20180341475A1 (en) | Just In Time Deployment with Package Managers | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
CN110968566A (zh) | 基于迁移工具的国产化应用系统迁移方法 | |
CN117311698B (zh) | 软件包发布方法、软件包下载方法、终端设备及存储介质 | |
CN116382719A (zh) | 插件处理方法、装置、计算机设备及存储介质 | |
CN116795488A (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 |