CN104932881A - 双引擎的实现方法和系统 - Google Patents

双引擎的实现方法和系统 Download PDF

Info

Publication number
CN104932881A
CN104932881A CN201510293558.8A CN201510293558A CN104932881A CN 104932881 A CN104932881 A CN 104932881A CN 201510293558 A CN201510293558 A CN 201510293558A CN 104932881 A CN104932881 A CN 104932881A
Authority
CN
China
Prior art keywords
engine
core engine
interface engine
execution result
interface
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
Application number
CN201510293558.8A
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.)
Kingdee Intelligent Technology (Shenzhen) Co., Ltd.
Original Assignee
SHENZHEN JINDIE YOUSHANG E-BUSINESS SERVICE 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 JINDIE YOUSHANG E-BUSINESS SERVICE Co Ltd filed Critical SHENZHEN JINDIE YOUSHANG E-BUSINESS SERVICE Co Ltd
Priority to CN201510293558.8A priority Critical patent/CN104932881A/zh
Publication of CN104932881A publication Critical patent/CN104932881A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种双引擎的实现方法,所述方法包括:界面引擎接收指令;所述界面引擎根据所述指令调用内核引擎;所述内核引擎将执行结果返回给所述界面引擎;其中,所述界面引擎和内核引擎的运行时环境是相互独立的。采用该双引擎的实现方法,能够提高安全性。此外,还提供了一种双引擎的实现系统。

Description

双引擎的实现方法和系统
技术领域
本发明涉及计算机技术领域,特别是涉及一种双引擎的实现方法和系统。
背景技术
软件程序通常包括界面引擎和内核引擎,界面引擎是负责界面及交互的应用程序,内核引擎是负责业务运算及数据存储的程序。传统技术中,如图1所示,界面引擎为可执行程序(exe文件),而内核引擎为动态库文件(DLL文件),界面引擎和内核引擎之间的交互则可通过共享内存的方式实现,从而使得界面引擎和内核引擎在同一个运行时环境中。然而这种双引擎的实现方法中,当内核引擎出现异常崩溃时,会影响导致界面引擎也崩溃,从而安全性不高,会影响到软件的性能。
发明内容
基于此,有必要提供一种更安全的双引擎的实现方法和系统。
一种双引擎的实现方法,所述方法包括:
界面引擎接收指令;
所述界面引擎根据所述指令调用内核引擎;
所述内核引擎将执行结果返回给所述界面引擎;
其中,所述界面引擎和内核引擎的运行时环境是相互独立的。
在其中一个实施例中,所述界面引擎根据所述指令调用内核引擎的步骤为:
所述界面引擎以消息方式向所述内核引擎发送参数调用;
所述内核引擎将执行结果返回给所述界面引擎的步骤为:所述内核引擎以消息的方式将执行结果返回给所述界面引擎。
在其中一个实施例中,所述方法还包括:
当所述界面引擎超过预设时间没有收到所述内核引擎返回的执行结果,则再次以消息的方式向所述内核引擎发送参数调用;
所述内核引擎异常崩溃后若接收到界面引擎所发送的参数调用,则进行初始化。
在其中一个实施例中,所述进行初始化的步骤之后还包括:
所述内核引擎接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎。
在其中一个实施例中,所述内核引擎和界面引擎都为可执行程序。
一种双引擎的实现系统,所述系统包括:
界面引擎模块,用于接收指令,并根据所述指令调用内核引擎模块;
内核引擎模块,用于将执行结果返回给所述界面引擎模块;
其中,所述界面引擎模块和内核引擎模块的运行时环境是相互独立的。
在其中一个实施例中,所述界面引擎模块还用于以消息方式向内核引擎模块发送参数调用;
所述内核引擎模块还用于以消息的方式将执行结果返回给界面引擎模块。
在其中一个实施例中,所述界面引擎模块还用于当超过预设时间没有收到所述内核引擎模块返回的执行结果时,则再次以消息的方式向所述内核引擎模块发送参数调用;
所述内核引擎模块还用于在异常崩溃后若接收到界面引擎模块所发送的参数调用,则进行内核引擎的初始化。
在其中一个实施例中,所述内核引擎模块还用于在初始化后接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎模块。
在其中一个实施例中,所述内核引擎模块和界面引擎模块都为可执行程序。
上述双引擎的实现方法和系统,由于界面引擎和内核引擎的运行时环境是相互独立的,当内核引擎出现异常崩溃时,不会影响到界面引擎,因此提高了安全性。
附图说明
图1为现有技术的双引擎方法的示意图;
图2为一个实施例中双引擎的实现方法的流程图;
图3为一个实施例中界面引擎和内核引擎的示意图;
图4为一个实施例中界面引擎与内核引擎之间进行交互的时序图;
图5为一个实施例中双引擎的实现系统的模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示,在一个实施例中,提供了一种双引擎的实现方法,该方法具体包括:
步骤110,界面引擎接收指令。
本实施例中,界面引擎是负责界面及交互的应用程序,提供了供用户输入指令的交互界面,界面引擎通过交互界面接收用户的指令。这里的指令可以是任何需要与应用软件进行交互的指令,需调用内核引擎对该指令进行处理。
步骤120,界面引擎根据所述指令调用内核引擎。
在本实施例中,内核引擎是负责业务运算及数据存储的程序,界面引擎接收到指令,需调用内核引擎以执行所述指令,得到执行结果。在一个实施例中,界面引擎以消息方式向内核引擎发送参数调用,以调用内核引擎执行所述指令。
步骤130,内核引擎将执行结果返回给界面引擎。
在一个实施例中,界面引擎根据指令调用内核引擎以执行指令,内核引擎正常时,内核引擎执行指令后会得到执行结果,再将执行结果以消息的方式返回给界面引擎。内核引擎如果异常崩溃,则无法执行指令,不能返回执行结果。
本实施例中,界面引擎和内核引擎的运行时环境是独立的。所谓运行时环境独立,是指界面引擎的运行并不涉及到内核引擎,而内核引擎的运行也不会涉及到界面引擎,也就是两者是在相互独立的环境中运行的,不会共享任何数据。
具体的,参阅图3,界面引擎和内核引擎都为可执行程序,即界面引擎和内核引擎都为exe文件格式。可执行程序之间的运行是相互独立的,不会以共享内存的方式共享数据,两个可执行程序之间若要进行交互,可通过消息的方式实现。也就是说,界面引擎和内核引擎之间的数据传递可以消息的方式进行。
本实施例中,由于界面引擎和内核引擎的运行时环境是相互独立的,当内核引擎出现异常崩溃时,不会影响到界面引擎,因此提高了安全性。
在一个实施例中,上述双引擎的实现方法还包括:当界面引擎超过预设时间没有收到所述内核引擎返回的执行结果,则再次以消息的方式向所述内核引擎发送参数调用;内核引擎异常崩溃后若再次接收到界面引擎所发送的参数调用,则进行初始化。
本实施例中,预先设置了内核引擎在异常崩溃后若再次接收到界面引擎发送的参数调用,则进行自身的初始化。内核引擎如果异常崩溃,则无法执行指令,也就无法向界面引擎返回执行结果。如果界面引擎以消息方式发送参数调用给内核引擎后,超过预设时间没有收到内核引擎返回的执行结果,则表明内核引擎很有可能已异常崩溃,此时,界面引擎再次以消息的方式向内核引擎发送参数调用。内核引擎接收到界面引擎发送的参数调用是在异常崩溃后,进行初始化。
本实施例中,由于内核引擎异常崩溃后再次收到界面引擎发送的参数调用会进行初始化,因此内核引擎异常崩溃后还能重新恢复正常,既进一步提高了安全性,又不会影响指令的执行,提高了软件的性能。
进一步的,在一个实施例中,在内核引擎进行初始化之后,还包括:内核引擎接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎。
本实施例中,在内核引擎初始化恢复正常后,根据接收到的参数调用生成执行结果,以消息方式返回给界面引擎,从而使得内核引擎异常崩溃后还能恢复执行指定,提高了软件的性能。
在一个实施例中,为了更好的说明界面引擎和内核引擎之间的交互方式,如图4所示,界面引擎和内核引擎之间的交互过程如下:
1)界面引擎接收到指令后以消息方式发送参数调用给内核引擎,以调用内核引擎执行所述指令。
2)内核引擎正常时执行指令,并将执行指令得到的执行结果以消息方式返回给界面引擎,或者,内核引擎处于异常崩溃状态,则没有返回执行结果。
3)界面引擎超过预设时间没有收到内核引擎的执行结果,也就是应答数据,则再次以消息方式发送参数调用到内核引擎。
4)内核引擎异常崩溃后收到若接收到参数调用,则进行初始化,以恢复正常。
5)之后内核引擎执行所述指令,并将执行结果以消息方式返回给界面引擎。
在一个实施例中,如图5所示,还提供了一种双引擎的实现系统,包括界面引擎模块502和内核引擎模块504,其中:
界面引擎模块502,用于接收指令,并根据所述指令调用内核引擎模块504。
内核引擎模块504,用于将执行结果返回给所述界面引擎模块502。
本实施例中,所述界面引擎模块502和内核引擎模块504的运行时环境是相互独立的。
在一个实施例中,界面引擎模块502还用于以消息方式向内核引擎模块504发送参数调用。
内核引擎模块504还用于以消息的方式将执行结果返回给界面引擎模块502。
在一个实施例中,界面引擎模块502还用于当超过预设时间没有收到所述内核引擎模块504返回的执行结果时,则再次以消息的方式向所述内核引擎模块504发送参数调用。
内核引擎模块504还用于在异常崩溃后若接收到界面引擎模块502所发送的参数调用,则进行内核引擎的初始化。
在一个实施例中,内核引擎模块504还用于在初始化后接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎模块502。
在一个实施例中,内核引擎模块502和界面引擎模块504都为可执行程序。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种双引擎的实现方法,所述方法包括:
界面引擎接收指令;
所述界面引擎根据所述指令调用内核引擎;
所述内核引擎将执行结果返回给所述界面引擎;
其中,所述界面引擎和内核引擎的运行时环境是相互独立的。
2.根据权利要求1所述的方法,其特征在于,所述界面引擎根据所述指令调用内核引擎的步骤为:
所述界面引擎以消息方式向所述内核引擎发送参数调用;
所述内核引擎将执行结果返回给所述界面引擎的步骤为:所述内核引擎以消息的方式将执行结果返回给所述界面引擎。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述界面引擎超过预设时间没有收到所述内核引擎返回的执行结果,则再次以消息的方式向所述内核引擎发送参数调用;
所述内核引擎异常崩溃后若接收到界面引擎所发送的参数调用,则进行初始化。
4.根据权利要求3所述的方法,其特征在于,所述进行初始化的步骤之后还包括:
所述内核引擎接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述内核引擎和界面引擎都为可执行程序。
6.一种双引擎的实现系统,其特征在于,所述系统包括:
界面引擎模块,用于接收指令,并根据所述指令调用内核引擎模块;
内核引擎模块,用于将执行结果返回给所述界面引擎模块;
其中,所述界面引擎模块和内核引擎模块的运行时环境是相互独立的。
7.根据权利要求6所述的系统,其特征在于,所述界面引擎模块还用于以消息方式向内核引擎模块发送参数调用;
所述内核引擎模块还用于以消息的方式将执行结果返回给界面引擎模块。
8.根据权利要求6所述的系统,其特征在于,
所述界面引擎模块还用于当超过预设时间没有收到所述内核引擎模块返回的执行结果时,则再次以消息的方式向所述内核引擎模块发送参数调用;
所述内核引擎模块还用于在异常崩溃后若接收到界面引擎模块所发送的参数调用,则进行内核引擎的初始化。
9.根据权利要求8所述的系统,其特征在于,所述内核引擎模块还用于在初始化后接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎模块。
10.根据权利要求6至9任意一项所述的系统,其特征在于,所述内核引擎模块和界面引擎模块都为可执行程序。
CN201510293558.8A 2015-06-01 2015-06-01 双引擎的实现方法和系统 Pending CN104932881A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510293558.8A CN104932881A (zh) 2015-06-01 2015-06-01 双引擎的实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510293558.8A CN104932881A (zh) 2015-06-01 2015-06-01 双引擎的实现方法和系统

Publications (1)

Publication Number Publication Date
CN104932881A true CN104932881A (zh) 2015-09-23

Family

ID=54120057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510293558.8A Pending CN104932881A (zh) 2015-06-01 2015-06-01 双引擎的实现方法和系统

Country Status (1)

Country Link
CN (1) CN104932881A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1506826A (zh) * 2002-12-09 2004-06-23 联想(北京)有限公司 计算机应用软件自纠错自重起方法
JP2009111795A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 監視システム
CN101583022A (zh) * 2009-06-11 2009-11-18 中兴通讯股份有限公司 视频监控客户端播放方法和系统
CN102033780A (zh) * 2010-12-23 2011-04-27 北京锐安科技有限公司 一种提高播放器程序稳定性和扩展性的方法
CN102768624A (zh) * 2011-05-04 2012-11-07 北京积木恒硕科技有限公司 一种基于Web标准构建终端操作系统的方法
CN102915251A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 一种多页面浏览器处理消息的方法和装置
CN103377228A (zh) * 2012-04-25 2013-10-30 阿里巴巴集团控股有限公司 一种用于浏览器的页面内容呈现方法及装置
CN103441831A (zh) * 2013-08-22 2013-12-11 焦点科技股份有限公司 一种双进程间的全双工通信及互保方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1506826A (zh) * 2002-12-09 2004-06-23 联想(北京)有限公司 计算机应用软件自纠错自重起方法
JP2009111795A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd 監視システム
CN101583022A (zh) * 2009-06-11 2009-11-18 中兴通讯股份有限公司 视频监控客户端播放方法和系统
CN102033780A (zh) * 2010-12-23 2011-04-27 北京锐安科技有限公司 一种提高播放器程序稳定性和扩展性的方法
CN102768624A (zh) * 2011-05-04 2012-11-07 北京积木恒硕科技有限公司 一种基于Web标准构建终端操作系统的方法
CN102915251A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 一种多页面浏览器处理消息的方法和装置
CN103377228A (zh) * 2012-04-25 2013-10-30 阿里巴巴集团控股有限公司 一种用于浏览器的页面内容呈现方法及装置
CN103441831A (zh) * 2013-08-22 2013-12-11 焦点科技股份有限公司 一种双进程间的全双工通信及互保方法和系统

Similar Documents

Publication Publication Date Title
CN101699405B (zh) 一种宿主程序和插件及插件间进行交互的方法及装置
US11294735B2 (en) Method and apparatus for accessing desktop cloud virtual machine, and desktop cloud controller
US11249854B2 (en) Method and device for failover in HBase system, and non-transitory computer-readable storage medium
AU2019256257A1 (en) Processor core scheduling method and apparatus, terminal, and storage medium
CN109344062A (zh) 页面跨域跳转测试的方法及终端设备
CN115617420B (zh) 应用程序的生成方法、装置、设备以及存储介质
CN114144808A (zh) 用于基于内容缩减日志条目的机制
US9467532B2 (en) Server, arithmatic processing method, and arithmatic processing system
CN106940714B (zh) 一种数据处理方法、装置及电子设备
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
CN114327481A (zh) 代码处理方法、装置、设备以及存储介质
CN117036566B (zh) 远程图像渲染方法、系统、电子设备及可读存储介质
US20170235943A1 (en) Application Access Control Method and Apparatus
CN110770712B (zh) 运算方法、芯片、系统、可读存储介质及计算机程序产品
CN109522111B (zh) 异构生态系统的调用方法、装置、电子设备及存储介质
CN113407259B (zh) 加载场景的方法、装置、设备以及存储介质
CN104932881A (zh) 双引擎的实现方法和系统
CN105727556A (zh) 一种图像绘制的方法、相关设备及系统
CN114095758B (zh) 云图像截取方法、相关装置
CN115063123A (zh) 智能制造方法、系统及电子设备
CN111142972B (zh) 用于扩展应用程序的功能的方法、装置、系统及介质
CN111786965B (zh) Rpc报文的处理方法、装置、电子设备及可读存储介质
US20140325152A1 (en) Quadtree based data management for memory
CN103488530A (zh) 一种锁迁移方法及装置
CN106201508B (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
CB02 Change of applicant information

Address after: 518057, Shenzhen, Guangdong science and Technology Park, Nanshan District science and technology twelve South Road 2 Kingdee Software Park, A, 3 South Zone

Applicant after: Shenzhen Kingdee fine fighting cloud Network Technology Co., Ltd.

Address before: 518057 hi tech Industrial Village, Shennan Avenue, Shenzhen, Guangdong, Nanshan District W1-B4

Applicant before: Shenzhen Jindie Youshang E-Business Service Co., Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20180704

Address after: 518057 Kingdee Software Park, 2 Science and technology south twelve Road, Nanshan District science and Technology Park, Shenzhen, Guangdong

Applicant after: Shenzhen Kingdee Zhangwuyou Network Technology Co., Ltd.

Address before: 518057 Guangdong science and Technology Park, Shenzhen, Nanshan District, science and Technology Park, South Korea twelve Road 2 Kingdee Software Park A 3 story South

Applicant before: Shenzhen Kingdee fine fighting cloud Network Technology Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181109

Address after: 518057 Guangdong Nanshan District, Shenzhen City, Guangdong Province, Guangdong Province, Yuehai Street, Yuehai Street Science and Technology Park, No. 2 South Science and Technology Road, Jindi Software Park, Block A, 3 stories

Applicant after: Kingdee Intelligent Technology (Shenzhen) Co., Ltd.

Address before: 518057 Kingdee Software Park, 2 Science and technology south twelve Road, Nanshan District science and Technology Park, Shenzhen, Guangdong

Applicant before: Shenzhen Kingdee Zhangwuyou Network Technology Co., Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20150923

RJ01 Rejection of invention patent application after publication