一种业务逻辑的执行方法和装置的制造方法

文档序号:10471008阅读:172来源:国知局
一种业务逻辑的执行方法和装置的制造方法
【专利摘要】本发明属于计算机技术领域,提供了一种业务逻辑的执行方法和装置。该方法包括:加载业务逻辑容器,并初始化所述业务逻辑容器;获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据;将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端;接收所述业务逻辑容器发送的所述业务逻辑的执行结果。通过本发明可避免使用通讯中间件,从而精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
【专利说明】
一种业务逻辑的执行方法和装置
技术领域
[0001 ]本发明属于计算机技术领域,尤其涉及一种业务逻辑的执行方法和装置。
【背景技术】
[0002]中间件与操作系统、数据库并列为三大基础软件平台。目前,中间件包括通讯中间件、交易中间件、对象中间件、安全中间件、数据访问中间件、应用服务器中间件等分支。互联网数据中心(Internet Data Center,IDC)是这样定义中间件的:中间件是一种独立的系统软件和服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机和服务器的操作系统之上,管理计算资源和网络通信。
[0003]交易中间件是中间件的一个重要分支,主要用在联机事务处理系统(One-LineTransact1n Processing,0LTP)中。90年代之前建设的商业应用系统结构比较单一,主要以主机-终端模式及客户-服务器模式为主,客户-服务器模式也称为二层结构。90年代之后,随着计算机应用水平的飞速发展,企业信息化水平的不断提高,企业客户的不断增加以及新业务的不断出现,越来越多的计算机应用系统在并发处理、关键业务联机交易处理、跨平台、跨广域网、多数据源等方面提出了更高的要求,为了解决这些实际需求,诞生了以交易中间件为基础框架的应用模式,这种架构业界称之为三层结构。三层结构的核心概念是利用中间件将用户界面、业务逻辑和数据逻辑分为三个不同的处理层,以中间件为基础的三层结构系统,不仅具备大型机的系统稳定、安全、处理能力高的优点,同时也具有开放式系统成本低、可扩展性强、开发周期短、易维护等优点。
[0004]在实际生产环境部署时,将交易中间件与通讯中间件同时进行部署,通讯中间件作为交易中间件的通讯层,屏蔽了底层的通讯细节,客户端程序和交易中间件只需调用通讯中间件提供的应用程序编程接口(Applicat1n Programming Interface ,API),即可进行通讯和交互。上述部署是一种完整部署方法,但该部署方法存在这样的使用场景:例如只测试交易中间件中业务逻辑的耗时和性能,如果采用上述完整部署方法进行测试,则测试出的耗时和性能包括了通讯中间件上的处理耗时,不能精确的获得业务逻辑的耗时。而且,在物理资源紧张的情况下,也无法满足完整部署方法对物理资源的需求。
[0005]故,有必要提出一种新的技术方案,以解决上述技术问题。

【发明内容】

[0006]鉴于此,本发明实施例提供一种业务逻辑的执行方法和装置,以在业务逻辑执行环境中,避免使用通讯中间件,从而精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
[0007]本发明实施例的第一方面,提供一种业务逻辑的执行方法,所述方法包括:
[0008]加载业务逻辑容器,并初始化所述业务逻辑容器;
[0009]获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据;
[0010]将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端;
[0011 ]接收所述业务逻辑容器发送的所述业务逻辑的执行结果。
[0012]本发明实施例的第二方面,提供一种业务逻辑的执行方法,所述方法包括:
[0013]接收客户端发送的第一预设格式的数据;
[0014]将所述第一预设格式的数据转换成第二预设格式的数据;
[0015]根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,以获得所述业务逻辑的执行结果;
[0016]将所述业务逻辑的执行结果发送给所述客户端。
[0017]本发明实施例的第三方面,提供一种业务逻辑的执行装置,所述装置包括:
[0018]加载模块、获取模块、发送模块以及接收模块;
[0019]所述加载模块,用于加载业务逻辑容器,并初始化所述业务逻辑容器;
[0020]所述获取模块,用于获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据;
[0021]所述发送模块,用于将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端;
[0022]所述接收模块,用于接收所述业务逻辑容器发送的所述业务逻辑的执行结果。
[0023]本发明实施例与现有技术相比存在的有益效果是:本发明实施例将业务逻辑容器加载到客户端,通过业务逻辑容器调用业务逻辑并执行业务逻辑,使得客户端无需通过通讯中间件,即可获得业务逻辑的执行结果,避免了通讯中间件的使用,从而可精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
【附图说明】
[0024]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1是本发明实施例一提供的业务逻辑的执行方法的实现流程图;
[0026]图2是本发明实施例二提供的业务逻辑的执行方法的实现流程图;
[0027]图3是本发明实施例三提供的业务逻辑的执行装置的组成示意图。
【具体实施方式】
[0028]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0029]实施例一:
[0030]图1示出了本发明实施例一提供的业务逻辑的执行方法的实现流程,所述实现流程详述如下:
[0031]在步骤SlOl中,加载业务逻辑容器,并初始化所述业务逻辑容器;
[0032]在本发明实施例中,所述业务逻辑容器提供业务逻辑的执行环境,所述业务逻辑位于交易中间件中,所述执行环境包括但不限于执行业务逻辑时的应用服务器进程数、日志配置和共享内存大小等,使得所述业务逻辑和所述业务逻辑的相关配置,无需进行修改,即可在所述业务逻辑容器上执行。所述业务逻辑的相关配置包括但不限于业务逻辑的名称、动态库所在路径、业务逻辑类型、最大并发数和可用时间等。
[0033]在本发明实施例中,通过动态库的方式提供所述业务逻辑容器,该动态库对外提供如下接口:初始化接口:Open,资源释放接口:Close,发送请求接口:Send,返回应答接口:Receive。客户端通过Open接口完成所述业务逻辑容器的初始化,通过Close接口完成所述业务逻辑容器的资源释放,即反初始化,通过Send接口向所述业务逻辑容器发送请求信息,通过Recei ve接口接收所述业务逻辑容器返回的应答信息。
[0034]在本发明实施例中,客户端加载所述业务逻辑容器,并通过Open接口从交易中间件的配置文件中读取配置信息,根据所述配置信息完成所述业务逻辑容器的初始化,所述配置信息包括但不限于应用服务器进程数、共享内存大小、是否启动并发控制和业务逻辑的相关配置等。
[0035]在步骤S102中,获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据;
[0036]在本发明实施例中,客户端获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成可在所述业务逻辑容器中运行的第一预设格式的数据,所述第一预设格式包括但不限于KDMID格式,所述第一预设格式的数据包括但不限于所述业务逻辑请求信息。
[0037]在步骤S103中,将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端;
[0038]在本发明实施例中,所述第二预设格式包括但不限于二进制流格式、key/value格式等,所述第二预设格式的数据包括但不限于所述业务逻辑请求信息。
[0039]进一步的,所述将所述第一预设格式的数据发送给所述业务逻辑容器包括:
[0040]标识第一时间戳,并调用所述业务逻辑容器的Send接口,通过所述Send接口将所述第一预设格式的数据发送给所述业务逻辑容器。
[0041 ]在步骤S104中,接收所述业务逻辑容器发送的所述业务逻辑的执行结果。
[0042]进一步的,所述接收所述业务逻辑容器发送的所述业务逻辑的执行结果包括:
[0043]调用所述业务逻辑容器的Receive接口,通过所述Receive接口接收所述业务逻辑容器发送的所述业务逻辑的执行结果,并在接收完执行结果后标识第二时间戳。
[0044]进一步的,根据所述第一时间戳和所述第二时间戳,计算所述业务逻辑的执行时间。
[0045]在本发明实施例中,在调用所述业务逻辑容器的Send接口前标识第一时间戳,在通过所述业务逻辑容器的Receive接口接收完所述业务逻辑的执行结果后标识第二时间戳,所述第一时间戳与所述第二时间戳之间的时间差,即为所述业务逻辑的执行时间。
[0046]在本发明实施例中,客户端接收完所述业务逻辑容器发送的所述业务逻辑的执行结果后,调用所述业务逻辑容器的Close接口,通过所述Close接口释放所述业务逻辑容器的资源,完成对所述业务逻辑容器的反初始化,所述资源包括但不限于共享内存、信号量、进程和线程等。
[0047]本发明实施例将业务逻辑容器加载到客户端,通过业务逻辑容器调用业务逻辑并执行业务逻辑,使得客户端无需通过通讯中间件,即可获得业务逻辑的执行结果,避免了通讯中间件的使用,从而可精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
[0048]实施例二:
[0049]图2示出了本发明实施例二提供的业务逻辑的执行方法的实现流程,所述实现流程详述如下:
[0050]在步骤S201中,接收客户端发送的第一预设格式的数据;
[0051]在本发明实施例中,业务逻辑容器接收客户端发送的第一预设格式的数据,所述第一预设格式的数据为可在业务逻辑容器中运行的数据,所述第一预设格式包括但不限于KDMID格式,所述第一预设格式的数据包括但不限于所述业务逻辑请求信息。
[0052]在步骤S202中,将所述第一预设格式的数据转换成第二预设格式的数据;
[0053]在本发明实施例中,业务逻辑容器将所述第一预设格式的数据转换成可在交易中间件中运行的第二预设格式的数据,所述第二预设格式包括但不限于二进制流格式、key/value格式等,所述第二预设格式的数据包括但不限于所述业务逻辑请求信息。
[0054]在步骤S203中,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,以获得所述业务逻辑的执行结果;
[0055]示例性的,若所述第二预设格式的数据为查询某段时间的航班信息,业务逻辑容器调用相应某段时间的航班信息的业务逻辑并执行所述业务逻辑,获得相应某段时间的航班信息查询结果。
[0056]在步骤S204中,将所述业务逻辑的执行结果发送给所述客户端。
[0057]在本发明实施例中,业务逻辑容器将所述业务逻辑的执行结果发送给所述客户端。
[0058]本发明实施例通过业务逻辑容器调用业务逻辑并执行业务逻辑,将业务逻辑的执行结果发送给客户端,使得客户端无需通过通讯中间件,即可获得业务逻辑的执行结果,避免了通讯中间件的使用,从而可精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
[0059]实施例三:
[0060]图3示出了本发明实施例三提供的业务逻辑的执行装置的组成示意图,该装置应用于客户端,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0061 ]加载模块31,用于加载业务逻辑容器,并初始化所述业务逻辑容器;
[0062]获取模块32,用于获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据;
[0063]发送模块33,用于将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端;
[0064]进一步的,所述发送模块33用于:
[0065]标识第一时间戳,并调用所述业务逻辑容器的Send接口,通过所述Send接口将所述第一预设格式的数据发送给所述业务逻辑容器。
[0066]接收模块34,用于接收所述业务逻辑容器发送的所述业务逻辑的执行结果。
[0067]进一步的,所述接收模块34用于:
[0068]调用所述业务逻辑容器的Receive接口,通过所述Receive接口接收所述业务逻辑容器发送的所述业务逻辑的执行结果,并在接收完执行结果后标识第二时间戳。
[0069]进一步的,所述接收模块34还用于:
[0070]根据所述第一时间戳和所述第二时间戳,计算所述业务逻辑的执行时间。
[0071]本发明实施例提供的业务逻辑的执行装置可以使用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
[0072]所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即所述装置的内部结构划分成不同的功能模块,上述功能模块既可以采用硬件的形式实现,也可以采用软件的形式实现。另外,各功能模块的具体名称也只是为了便于相互区别,并不用于限制本申请的保护范围。
[0073]综上所述,本发明实施例将业务逻辑容器加载到客户端,通过业务逻辑容器调用业务逻辑并执行业务逻辑,使得客户端无需通过通讯中间件,即可获得业务逻辑的执行结果,避免了通讯中间件的使用,从而可精确测试业务逻辑的执行时间和性能,并降低对物理资源的需求。
[0074]本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括R0M/RAM、磁盘、光盘等。
[0075]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种业务逻辑的执行方法,其特征在于,所述方法包括: 加载业务逻辑容器,并初始化所述业务逻辑容器; 获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据; 将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端; 接收所述业务逻辑容器发送的所述业务逻辑的执行结果。2.根据权利要求1所述的方法,其特征在于,所述将所述第一预设格式的数据发送给所述业务逻辑容器包括: 标识第一时间戳,并调用所述业务逻辑容器的Send接口,通过所述Send接口将所述第一预设格式的数据发送给所述业务逻辑容器。3.根据权利要求2所述的方法,其特征在于,所述接收所述业务逻辑容器发送的所述业务逻辑的执行结果包括: 调用所述业务逻辑容器的Receive接口,通过所述Receive接口接收所述业务逻辑容器发送的所述业务逻辑的执行结果,并在接收完执行结果后标识第二时间戳。4.根据权利要求3所述的方法,其特征在于,所述方法还包括: 根据所述第一时间戳和所述第二时间戳,计算所述业务逻辑的执行时间。5.一种业务逻辑的执行方法,其特征在于,所述方法包括: 接收客户端发送的第一预设格式的数据; 将所述第一预设格式的数据转换成第二预设格式的数据; 根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,以获得所述业务逻辑的执行结果; 将所述业务逻辑的执行结果发送给所述客户端。6.一种业务逻辑的执行装置,其特征在于,所述装置包括: 加载模块、获取模块、发送模块以及接收模块; 所述加载模块,用于加载业务逻辑容器,并初始化所述业务逻辑容器; 所述获取模块,用于获取业务逻辑请求信息,并将所述业务逻辑请求信息转换成第一预设格式的数据; 所述发送模块,用于将所述第一预设格式的数据发送给所述业务逻辑容器,以使得所述业务逻辑容器在接收到所述第一预设格式的数据后,将该数据转换成第二预设格式的数据,根据所述第二预设格式的数据调用业务逻辑,并执行所述业务逻辑,将所述业务逻辑的执行结果发送给客户端; 所述接收模块,用于接收所述业务逻辑容器发送的所述业务逻辑的执行结果。7.根据权利要求6所述的装置,其特征在于,所述发送模块用于: 标识第一时间戳,并调用所述业务逻辑容器的Send接口,通过所述Send接口将所述第一预设格式的数据发送给所述业务逻辑容器。8.根据权利要求7所述的装置,其特征在于,所述接收模块用于: 调用所述业务逻辑容器的Receive接口,通过所述Receive接口接收所述业务逻辑容器发送的所述业务逻辑的执行结果,并在接收完执行结果后标识第二时间戳。9.根据权利要求8所述的装置,其特征在于,所述接收模块还用于: 根据所述第一时间戳和所述第二时间戳,计算所述业务逻辑的执行时间。
【文档编号】G06F9/54GK105824712SQ201610190315
【公开日】2016年8月3日
【申请日】2016年3月30日
【发明人】杜玉巍, 陈洪涛, 易其亮
【申请人】深圳市金证科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1