CN103377046A - 引擎开发方法和装置 - Google Patents
引擎开发方法和装置 Download PDFInfo
- Publication number
- CN103377046A CN103377046A CN2012101309969A CN201210130996A CN103377046A CN 103377046 A CN103377046 A CN 103377046A CN 2012101309969 A CN2012101309969 A CN 2012101309969A CN 201210130996 A CN201210130996 A CN 201210130996A CN 103377046 A CN103377046 A CN 103377046A
- Authority
- CN
- China
- Prior art keywords
- engine
- plug
- server
- unit
- module
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种引擎开发方法,包括:将插件存储在引擎的目录中;引擎将插件加载到内存中;将引擎的信息注册到服务器;服务器根据信息调用插件执行客户端请求的任务。本发明提供了一种引擎开发装置,包括:存储模块,用于将插件存储在引擎的目录中;加载模块,用于引擎将插件加载到内存中;注册模块,用于将引擎的信息注册到服务器;调用模块,用于服务器根据信息调用插件执行客户端请求的任务。本发明降低了引擎开发成本。
Description
技术领域
本发明涉及软件开发领域,具体而言,涉及一种引擎开发方法和装置。
背景技术
引擎是运行于网络中,通用的、可伸缩的,用于处理耗时耗资源的任务的框架系统。服务器通过运行引擎,向客户端提供各种服务。在现有技术中,各种引擎的功能比较固定,当用户需要新的应用时,通常通过针对新的应用开发新的引擎,并部署到服务器上,以满足用户的新应用需求。然而,这种方式开发成本较高,可扩张性较差。
发明内容
本发明旨在提供一种引擎开发方法和装置,以解决引擎开发成本较高的问题。
在本发明的实施例中,提供了一种引擎开发方法,包括:将插件存储在引擎的目录中;引擎将插件加载到内存中;将引擎的信息注册到服务器;服务器根据信息调用插件执行客户端请求的任务。
在本发明的实施例中,提供了一种引擎开发装置,包括:存储模块,用于将插件存储在引擎的目录中;加载模块,用于引擎将插件加载到内存中;注册模块,用于将引擎的信息注册到服务器;调用模块,用于服务器根据信息调用插件执行客户端请求的任务。
本发明上述实施例的引擎开发方法和装置采用插件机制降低了引擎开发成本。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的引擎开发方法的流程图;
图2示出了根据本发明优选实施例的服务器根据信息调用插件执行客户端请求的任务的流程图;
图3示出了根据本发明实施例的引擎开发装置的示意图;
图4示出了根据本发明优选实施例的调用模块的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的引擎开发方法的流程图,包括:
步骤S10,将插件存储在引擎的目录中
步骤S20,引擎将插件加载到内存中;
步骤S30,将引擎的信息注册到服务器;
步骤S40,服务器根据信息调用插件执行客户端请求的任务。
使用插件机制,可以开发出高度可扩展的引擎,提高引擎的可扩展性、适应性和稳定性。可以根据不同的需求制定不同的引擎来处理不同的任务,将这些引擎存放到不同的服务器上,调度处理器可以根据不同的客户端发送来的业务类型寻找合适的引擎来执行。
采用本方法不再需要针对每种业务类型的应用都开发一种新的引擎,而只需开发一个插件即可,因此降低了引擎开发成本。
优选地,本方法还包括预先建立接口标准,插件具有符合接口标准的接口;步骤S10包括:引擎通过接口将插件加载到内存中。
引擎可以加载不同功能的引擎插件,不需要事先知道插件所完成的功能。当然,类似如何加载插件这样的基本方法程序是约定好的。可以将第三方编写好后的引擎插件或自己编写的引擎插件放到引擎相应的目录中,以便引擎启动后可以寻找到。
为了管理插件,需要为插件提供一个统一的管理接口。插件与引擎通过接口进行交流。具体的实施中,如约定引擎插件需要实现IService接口,IService接口定义如下:
Name()方法为引擎插件的业务类型,即执行具体的业务名称,具体的可以为文档转换引擎、图像转换引擎等。
Do(string command)方法为具体的执行此次业务的方法。
引擎插件只需要实现IService接口中的方法即可。
优选地,一个引擎加载一个或多个插件,每个插件用于实现一种应用,并将其加载为引擎中的一种业务类型。现有技术中,一个服务器为了实现多少个任务,需要注册多少个引擎,而现在一个服务器只需要注册较少的引擎就可以实现较多业务类型的任务,从而为服务器减轻了压力。通过插件机制,应用程序可以获得可扩展性、适应性和稳定性,而且便于软件的维护和升级。插件机制可以方便地向系统添加功能。
优选地,步骤S30包括:引擎通过tcp协议连接服务器;将引擎的CPU内核数量、物理内存、IP地址和业务类型告知服务器。服务器接收到引擎的注册后,将引擎的业务类型等存储到内存中,以便查询和分配使用。
图2示出了根据本发明优选实施例的服务器根据信息调用插件执行客户端请求的任务的流程图。优选地,步骤S40包括:
步骤S402,服务器接收到来自客户端的应用请求;
步骤S404,服务器在所注册的引擎信息中查找对应于应用请求的业务类型;
步骤S406,服务器确定具有业务类型的引擎中具有符合调度规则的CPU内核数量和物理内存的引擎;
步骤S408,服务器根据所确定的引擎的IP地址,向所确定的引擎发送应用请求;
步骤S410,所确定的引擎调用应用请求的业务类型所对应的插件执行应用请求,并将运行结果通知服务器;
步骤S412,服务器将运行结果通知客户端。
本优选实施例提供了加载插件后的引擎的运行方法。
图3示出了根据本发明实施例的引擎开发装置的示意图,包括:
存储模块10,用于将插件存储在引擎的目录中;
加载模块20,用于引擎将插件加载到内存中;
注册模块30,用于将引擎的信息注册到服务器;
调用模块40,用于服务器根据信息调用插件执行客户端请求的任务。
本装置降低了引擎开发的成本。
优选地,插件具有符合接口标准的接口;加载模块用于引擎通过接口将插件加载到内存中。
优选地,一个引擎加载一个或多个插件,每个插件用于实现一种应用,并将其加载为引擎中的一种业务类型。
优选地,注册模块包括:连接模块,用于引擎通过tcp协议连接服务器;告知模块,用于将引擎的CPU内核数量、物理内存、IP地址和业务类型告知服务器。
图4示出了根据本发明优选实施例的调用模块的示意图。优选地,调用模块包括:
接收模块402,用于服务器接收到来自客户端的应用请求;
查找模块404,用于服务器在所注册的引擎信息中查找对应于应用请求的业务类型;
确定模块406,用于服务器确定具有业务类型的引擎中具有符合调度规则的CPU内核数量和物理内存的引擎;
发送模块408,用于服务器根据所确定的引擎的IP地址,向所确定的引擎发送应用请求;
执行模块410,用于所确定的引擎调用应用请求的业务类型所对应的插件执行应用请求,并将运行结果通知服务器;
通知模块412,用于服务器将运行结果通知客户端。
通过上述实施例,可以看出,本发明降低了引擎开发成本。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种引擎开发方法,其特征在于,包括:
将插件存储在引擎的目录中;
所述引擎将所述插件加载到内存中;
将所述引擎的信息注册到服务器;
所述服务器根据所述信息调用所述插件执行客户端请求的任务。
2.根据权利要求1所述的方法,其特征在于,还包括预先建立接口标准,所述插件具有符合所述接口标准的接口;将插件存储在引擎的目录中包括:
所述引擎通过所述接口将所述插件加载到内存中。
3.根据权利要求2所述的方法,其特征在于,一个所述引擎加载一个或多个所述插件,每个所述插件用于实现一种应用,并将其加载为所述引擎中的一种业务类型。
4.根据权利要求3所述的方法,其特征在于,将所述引擎的信息注册到服务器包括:
所述引擎通过tcp协议连接所述服务器;
将所述引擎的CPU内核数量、物理内存、IP地址和业务类型告知所述服务器。
5.根据权利要求4所述的方法,其特征在于,所述服务器根据所述信息调用所述插件执行客户端请求的任务包括:
所述服务器接收到来自客户端的应用请求;
所述服务器在所注册的引擎信息中查找对应于所述应用请求的业务类型;
所述服务器确定具有所述业务类型的引擎中具有符合调度规则的CPU内核数量和物理内存的引擎;
所述服务器根据所确定的引擎的IP地址,向所确定的引擎发送所述应用请求;
所确定的引擎调用所述应用请求的业务类型所对应的插件执行所述应用请求,并将运行结果通知所述服务器;
所述服务器将所述运行结果通知所述客户端。
6.一种引擎开发装置,其特征在于,包括:
存储模块,用于将插件存储在引擎的目录中;
加载模块,用于所述引擎将所述插件加载到内存中;
注册模块,用于将所述引擎的信息注册到服务器;
调用模块,用于所述服务器根据所述信息调用所述插件执行客户端请求的任务。
7.根据权利要求6所述的装置,其特征在于,所述插件具有符合接口标准的接口;所述加载模块用于所述引擎通过所述接口将所述插件加载到内存中。
8.根据权利要求7所述的装置,其特征在于,一个所述引擎加载一个或多个所述插件,每个所述插件用于实现一种应用,并将其加载为所述引擎中的一种业务类型。
9.根据权利要求8所述的装置,其特征在于,所述注册模块包括:
连接模块,用于所述引擎通过tcp协议连接所述服务器;
告知模块,用于将所述引擎的CPU内核数量、物理内存、IP地址和业务类型告知所述服务器。
10.根据权利要求9所述的装置,其特征在于,所述调用模块包括:
接收模块,用于所述服务器接收到来自客户端的应用请求;
查找模块,用于所述服务器在所注册的引擎信息中查找对应于所述应用请求的业务类型;
确定模块,用于所述服务器确定具有所述业务类型的引擎中具有符合调度规则的CPU内核数量和物理内存的引擎;
发送模块,用于所述服务器根据所确定的引擎的IP地址,向所确定的引擎发送所述应用请求;
执行模块,用于所确定的引擎调用所述应用请求的业务类型所对应的插件执行所述应用请求,并将运行结果通知所述服务器;
通知模块,用于所述服务器将所述运行结果通知所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101309969A CN103377046A (zh) | 2012-04-27 | 2012-04-27 | 引擎开发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101309969A CN103377046A (zh) | 2012-04-27 | 2012-04-27 | 引擎开发方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103377046A true CN103377046A (zh) | 2013-10-30 |
Family
ID=49462213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101309969A Pending CN103377046A (zh) | 2012-04-27 | 2012-04-27 | 引擎开发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103377046A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590217A (zh) * | 2021-07-26 | 2021-11-02 | 北京百度网讯科技有限公司 | 基于引擎的函数管理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158835A1 (en) * | 2002-02-19 | 2003-08-21 | International Business Machines Corporation | Plug-in parsers for configuring search engine crawler |
CN101018318A (zh) * | 2007-02-25 | 2007-08-15 | 华为技术有限公司 | 一种流媒体系统、信令转发设备以及流媒体发送方法 |
CN101539855A (zh) * | 2008-12-25 | 2009-09-23 | 厦门亿力吉奥信息科技有限公司 | 一种业务基础软件平台 |
CN101685459A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 一种多媒体搜索的方法和装置 |
CN101719188A (zh) * | 2009-12-28 | 2010-06-02 | 中国航空工业集团公司第六三一研究所 | Cfd计算作业管理系统及方法 |
CN102404615A (zh) * | 2011-11-29 | 2012-04-04 | 广东威创视讯科技股份有限公司 | 基于云计算的视频处理系统 |
-
2012
- 2012-04-27 CN CN2012101309969A patent/CN103377046A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158835A1 (en) * | 2002-02-19 | 2003-08-21 | International Business Machines Corporation | Plug-in parsers for configuring search engine crawler |
CN101018318A (zh) * | 2007-02-25 | 2007-08-15 | 华为技术有限公司 | 一种流媒体系统、信令转发设备以及流媒体发送方法 |
CN101685459A (zh) * | 2008-09-28 | 2010-03-31 | 华为技术有限公司 | 一种多媒体搜索的方法和装置 |
CN101539855A (zh) * | 2008-12-25 | 2009-09-23 | 厦门亿力吉奥信息科技有限公司 | 一种业务基础软件平台 |
CN101719188A (zh) * | 2009-12-28 | 2010-06-02 | 中国航空工业集团公司第六三一研究所 | Cfd计算作业管理系统及方法 |
CN102404615A (zh) * | 2011-11-29 | 2012-04-04 | 广东威创视讯科技股份有限公司 | 基于云计算的视频处理系统 |
Non-Patent Citations (1)
Title |
---|
郑依华 等: "面向会议活动的科研协同云平台实现", 《华中科技大学学报(自然科学报)》, vol. 39, 17 June 2011 (2011-06-17) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590217A (zh) * | 2021-07-26 | 2021-11-02 | 北京百度网讯科技有限公司 | 基于引擎的函数管理方法、装置、电子设备及存储介质 |
CN113590217B (zh) * | 2021-07-26 | 2022-12-02 | 北京百度网讯科技有限公司 | 基于引擎的函数管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10243875B2 (en) | Cloud service management system | |
CN103209223A (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN102375894B (zh) | 一种管理不同类型文件系统的方法 | |
CN103312660A (zh) | 一种基于能力开放平台的业务实现方法及能力开放平台 | |
CN102404149B (zh) | 一种业务特性的管理系统和方法 | |
CN104601702B (zh) | 集群远程过程调用方法及系统 | |
CN102291243A (zh) | 业务处理服务器、系统和方法 | |
CN104144202B (zh) | Hadoop分布式文件系统的访问方法、系统和装置 | |
CN106331135A (zh) | 一种部分界面更新方法、系统、客户端和服务端 | |
CN110851248A (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN103780685A (zh) | 多样化智能设备间自适应数据共享的方法 | |
CN105516250B (zh) | 物联网服务调用平台和系统 | |
CN110191186A (zh) | Cdn服务器调度方法、设备及计算机可读存储介质 | |
CN112433863A (zh) | 微服务调用方法、装置、终端设备以及存储介质 | |
CN106230977A (zh) | 一种客户端功能加载方法、系统、客户端和服务端 | |
CN104660689A (zh) | 分布式计算系统 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN105427149A (zh) | 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置 | |
CN115550354A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
WO2018068655A1 (zh) | 一种许可管理方法和系统 | |
US20180027049A1 (en) | Computing system and method of operating the computer system | |
CN104463619A (zh) | 基于ldap的互联网产品目录销售系统及控制方法 | |
CN103377046A (zh) | 引擎开发方法和装置 | |
CN101867484A (zh) | 一种设备升级的方法及系统 | |
CN106302639A (zh) | 一种资源下载方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131030 |
|
RJ01 | Rejection of invention patent application after publication |