调用系统工具的方法、装置、可读存储介质及设备制造方法及图纸

技术编号:17565449 阅读:49 留言:0更新日期:2018-03-28 15:00
本发明专利技术涉及软件开发技术领域,尤其涉及调用系统工具的方法、装置、可读存储介质及设备,所述方法包括:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。本申请由于利用调用服务完成对目标对象进行目标系统工具的调用,避免Lua利用自带的os库进行调用对所有Lua工作任务的阻塞,提高了Nginx和Lua的并行处理能力。

【技术实现步骤摘要】
调用系统工具的方法、装置、可读存储介质及设备
本专利技术涉及软件开发
,尤其涉及调用系统工具的方法、装置、可读存储介质及设备。
技术介绍
在嵌入有Lua语言的Nginx服务器中进行Unix服务端开发的过程中,由于Lua语言提供的可用库较少,需要经常调用Unix系统工具做辅助处理,如调用tar工具进行文件压缩,在这种情况下,现有技术采用的方法是利用Lua自带的os库调用系统工具。然而,若采用上述方法,一个系统工具的调用将会阻塞整个Lua虚拟机运行,而这种阻塞又与一般的网络请求阻塞有着本质的不同,网络请求阻塞仅会阻塞当前的网络请求,而系统工具调用的阻塞会将整个Lua处理全部阻塞,从而极大的降低了Nginx和Lua的并行处理能力。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的调用系统工具的方法、装置、可读存储介质及设备。本专利技术实施例提供一种调用系统工具的方法,所述方法包括:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。优选的,所述调用服务为基于C++语言编译的服务程序。优选的,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对所述目标对象进行所述目标系统工具的调用。优选的,所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,包括:所述调用服务根据所述数据包包头对所述数据包内容进行解析;所述调用服务根据解析后得到的数据执行对所述目标对象进行所述目标系统工具的调用。优选的,所述在调用完成后发送包含调用结果的反馈信息给所述Lua进程,包括:所述调用服务利用回调函数获得所述调用结果,根据所述数据包包头对所述调用结果进行封装,获得所述反馈信息;所述调用服务将所述反馈信息发送给所述Lua进程。本专利技术实施例提供一种调用系统工具的装置,所述装置包括:网络连接模块,用于控制Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;发送模块,用于控制所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;调用模块,用于控制所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;反馈模块,用于控制所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。优选的,所述调用服务为基于C++语言编译的服务程序。优选的,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对所述目标对象进行所述目标系统工具的调用。本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。本专利技术实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。本专利技术实施例中的一个或多个技术方案,至少具有如下技术效果或优点:在本申请中,预先创建用于辅助处理调用任务的调用服务,并,通过Lua进程与调用服务建立网络连接,在网络连接建立成功之后,Lua进程通过网络连接发送调用数据包给调用服务,调用服务根据调用数据包对目标对象进行目标系统工具的调用,在调用完成后发送包含调用结果的反馈信息给Lua进程,Lua进程根据反馈信息将调用结果反馈给用户,由于利用调用服务完成对目标对象进行目标系统工具的调用,避免Lua利用自带的os库进行调用对所有Lua工作任务的阻塞,提高了Nginx和Lua的并行处理能力。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:图1示出了本专利技术实施例中的一种调用系统工具的方法的流程图;图2示出了本专利技术实施例中的一种调用系统工具的装置的结构图;图3示出了本专利技术实施例中的计算机设备的实体结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本申请实施例提供一种调用系统工具的方法,应用于嵌入有Lua语言的Nginx服务器中,在该Nginx服务器运行有Lua进程,如图1所示,所述方法包括:步骤101:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接。对于步骤101而言,本申请在Nginx服务器中独立于Lua进程另外创建一调用服务,该调用服务预先创建好,其用于辅助处理调用任务。具体地,该调用服务为基于C++语言编译的服务程序。进一步,对于Lua进程和调用服务如何建立网络连接,下面给出详细介绍:在Lua进程端,创建与调用服务对应的传输控制协议(TCP)连接,具体可以通过向调用服务发送网络连接请求进行实现,其中,需要传入调用服务的IP通常为127.0.0.1。在调用服务端,创建网络监听事件以对网络连接请求进行监听,具体地,通过网络基础库创建socket,并调用listen接口创建监听系统端口事件,并设置为非阻塞模式,接着,使用epoll异步处理模型开启监听事件,并添加到epoll等到事件队列中,等待网络连接请求的到来,当监听到网络连接请求,调用accept接口取出,完成与Lua进程的网络连接的建立。在完成步骤101之后,执行步骤102:Lua进程通过网络连接发送调用数据包给调用服务。具体来讲,在本申请中,调用数据包包含数据包包头和数据包内容,数据包包头具有经Lua进程和调用服务协商的预定义格式,数据包内容用于指示对目标对象进行目标系统工具的调用。其中,数据包包头的预定义格式为Lua进程和调用服务预先协商后自定义的格式,数据包内容在编码时依据该数据包包头进行编码。在确定出数据包包头和数据包内容后,将数据包包头和数据包内容进行封装,组成成一个TCP数据段,该TCP数据段即为调用数据包。本文档来自技高网...
调用系统工具的方法、装置、可读存储介质及设备

【技术保护点】
一种调用系统工具的方法,其特征在于,所述方法包括:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。

【技术特征摘要】
1.一种调用系统工具的方法,其特征在于,所述方法包括:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。2.如权利要求1所述的方法,其特征在于,所述调用服务为基于C++语言编译的服务程序。3.如权利要求1所述的方法,其特征在于,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对所述目标对象进行所述目标系统工具的调用。4.如权利要求3所述的方法,其特征在于,所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,包括:所述调用服务根据所述数据包包头对所述数据包内容进行解析;所述调用服务根据解析后得到的数据执行对所述目标对象进行所述目标系统工具的调用。5.如权利要求3所述的方法,其特征在于,所述在调用完成后发送包含调用结果的反馈信息给所述Lua进程,包括:所述调用服务利用回调函数获得所述调用结果;根据所述数据包包头对所述调用结果进行封装,获得所述反馈信息;所述调用服务将所述反馈信息发送给所述Lua进程。6.一种调用系统工具的装置,其特征在于,所述装置包括:网络连接模块,用于控制Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;发送模块,用于控制所述Lua进程通过所述网络连接发送调用数据包给所述...

【专利技术属性】
技术研发人员:何绍富张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1