双引擎的实现方法和系统的制作方法

文档序号:9217022阅读:321来源:国知局
双引擎的实现方法和系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种双引擎的实现方法和系统。
【背景技术】
[0002]软件程序通常包括界面引擎和内核引擎,界面引擎是负责界面及交互的应用程序,内核引擎是负责业务运算及数据存储的程序。传统技术中,如图1所示,界面引擎为可执行程序(exe文件),而内核引擎为动态库文件(DLL文件),界面引擎和内核引擎之间的交互则可通过共享内存的方式实现,从而使得界面引擎和内核引擎在同一个运行时环境中。然而这种双引擎的实现方法中,当内核引擎出现异常崩溃时,会影响导致界面引擎也崩溃,从而安全性不高,会影响到软件的性能。

【发明内容】

[0003]基于此,有必要提供一种更安全的双引擎的实现方法和系统。
[0004]一种双引擎的实现方法,所述方法包括:
[0005]界面引擎接收指令;
[0006]所述界面引擎根据所述指令调用内核引擎;
[0007]所述内核引擎将执行结果返回给所述界面引擎;
[0008]其中,所述界面引擎和内核引擎的运行时环境是相互独立的。
[0009]在其中一个实施例中,所述界面引擎根据所述指令调用内核引擎的步骤为:
[0010]所述界面引擎以消息方式向所述内核引擎发送参数调用;
[0011]所述内核引擎将执行结果返回给所述界面引擎的步骤为:所述内核引擎以消息的方式将执行结果返回给所述界面引擎。
[0012]在其中一个实施例中,所述方法还包括:
[0013]当所述界面引擎超过预设时间没有收到所述内核引擎返回的执行结果,则再次以消息的方式向所述内核引擎发送参数调用;
[0014]所述内核引擎异常崩溃后若接收到界面引擎所发送的参数调用,则进行初始化。
[0015]在其中一个实施例中,所述进行初始化的步骤之后还包括:
[0016]所述内核引擎接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎。
[0017]在其中一个实施例中,所述内核引擎和界面引擎都为可执行程序。
[0018]一种双引擎的实现系统,所述系统包括:
[0019]界面引擎模块,用于接收指令,并根据所述指令调用内核引擎模块;
[0020]内核引擎模块,用于将执行结果返回给所述界面引擎模块;
[0021]其中,所述界面引擎模块和内核引擎模块的运行时环境是相互独立的。
[0022]在其中一个实施例中,所述界面引擎模块还用于以消息方式向内核引擎模块发送参数调用;
[0023]所述内核引擎模块还用于以消息的方式将执行结果返回给界面引擎模块。
[0024]在其中一个实施例中,所述界面引擎模块还用于当超过预设时间没有收到所述内核引擎模块返回的执行结果时,则再次以消息的方式向所述内核引擎模块发送参数调用;
[0025]所述内核引擎模块还用于在异常崩溃后若接收到界面引擎模块所发送的参数调用,则进行内核引擎的初始化。
[0026]在其中一个实施例中,所述内核引擎模块还用于在初始化后接收参数调用,生成执行结果,以消息的方式将执行结果返回给所述界面引擎模块。
[0027]在其中一个实施例中,所述内核引擎模块和界面引擎模块都为可执行程序。
[0028]上述双引擎的实现方法和系统,由于界面引擎和内核引擎的运行时环境是相互独立的,当内核引擎出现异常崩溃时,不会影响到界面引擎,因此提高了安全性。
【附图说明】
[0029]图1为现有技术的双引擎方法的示意图;
[0030]图2为一个实施例中双引擎的实现方法的流程图;
[0031]图3为一个实施例中界面引擎和内核引擎的示意图;
[0032]图4为一个实施例中界面引擎与内核引擎之间进行交互的时序图;
[0033]图5为一个实施例中双引擎的实现系统的模块图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]如图2所示,在一个实施例中,提供了一种双引擎的实现方法,该方法具体包括:
[0036]步骤110,界面引擎接收指令。
[0037]本实施例中,界面引擎是负责界面及交互的应用程序,提供了供用户输入指令的交互界面,界面引擎通过交互界面接收用户的指令。这里的指令可以是任何需要与应用软件进行交互的指令,需调用内核引擎对该指令进行处理。
[0038]步骤120,界面引擎根据所述指令调用内核引擎。
[0039]在本实施例中,内核引擎是负责业务运算及数据存储的程序,界面引擎接收到指令,需调用内核引擎以执行所述指令,得到执行结果。在一个实施例中,界面引擎以消息方式向内核引擎发送参数调用,以调用内核引擎执行所述指令。
[0040]步骤130,内核引擎将执行结果返回给界面引擎。
[0041]在一个实施例中,界面引擎根据指令调用内核引擎以执行指令,内核引擎正常时,内核引擎执行指令后会得到执行结果,再将执行结果以消息的方式返回给界面引擎。内核引擎如果异常崩溃,则无法执行指令,不能返回执行结果。
[0042]本实施例中,界面引擎和内核引擎的运行时环境是独立的。所谓运行时环境独立,是指界面引擎的运行并不涉及到内核引擎,而内核引擎的运行也不会涉及到界面引擎,也就是两者是在相互独立的环境中运行的,不会共享任何数据。
[0043]具体的,参阅图3,界面引擎和内核引擎都为可执行程序,即界面引擎和内核引擎都为exe文件格式。可执行程序之间的运行是相互独立的,不会以共享内存的方式共享数据,两个可执行程序之间若要进行交互,可通过消息的方式实现。也就是说,界面引擎和内核引擎之间的数据传递可以消息的方式进行。
[0044]本实施例中,由于界面引擎和内核引擎的运行时环境是相互独立的,当内核引擎出现异常崩溃时,不会影响到界面引擎,因此提高了安全性。
[0045]在一个实施例中,上述双引擎的实现方法还包括:当界面引擎超过预设时间没有收到所述内核引擎返回的执行结果,则再次以消息的方式向所述内核引擎发送参数调用;内核引擎异常崩溃后若再次接收到界面引擎所发送的参数调用,则进行初始化。
[0046]本实施例中,预先设置了内核引擎在异常崩溃后若再次接收到界面引擎发送的参数调用,则进行自身的初始化。内核引擎如果异常崩溃,则无法执行指令,也就无法向界面引擎返回执行结果。如果界面引擎
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1