WO2019061636A1 - 调用系统工具的方法、装置、可读存储介质及设备 - Google Patents

调用系统工具的方法、装置、可读存储介质及设备 Download PDF

Info

Publication number
WO2019061636A1
WO2019061636A1 PCT/CN2017/108263 CN2017108263W WO2019061636A1 WO 2019061636 A1 WO2019061636 A1 WO 2019061636A1 CN 2017108263 W CN2017108263 W CN 2017108263W WO 2019061636 A1 WO2019061636 A1 WO 2019061636A1
Authority
WO
WIPO (PCT)
Prior art keywords
calling
lua
call
data packet
calling service
Prior art date
Application number
PCT/CN2017/108263
Other languages
English (en)
French (fr)
Inventor
何绍富
张文明
陈少杰
Original Assignee
武汉斗鱼网络科技有限公司
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 武汉斗鱼网络科技有限公司 filed Critical 武汉斗鱼网络科技有限公司
Publication of WO2019061636A1 publication Critical patent/WO2019061636A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Definitions

  • the present invention relates to the field of software development technologies, and in particular, to a method, an apparatus, a readable storage medium and a device for calling a system tool.
  • the call of a system tool will block the entire Lua virtual machine running, and this blocking is essentially different from the general network request blocking.
  • the network request blocking only blocks the current network request, and the system Blocking of tool calls will block all Lua processing, greatly reducing the parallel processing power of Nginx and Lua.
  • the present invention has been made in order to provide a method, apparatus, readable storage medium and apparatus for invoking a system tool that overcomes the above problems or at least partially solves the above problems.
  • An embodiment of the present invention provides a method for calling a system tool, where the method includes:
  • the Lua process establishes a network connection with a pre-created calling service for assisting in processing the calling task;
  • the calling service performs a call to the target object by the target system tool according to the calling data packet, and sends feedback information including the calling result to the Lua process after the call is completed;
  • the Lua process feeds back the result of the call to the user according to the feedback information.
  • said call data packet includes a data packet header and a data packet content, said data packet header having a predefined format negotiated by said Lua process and said calling service, said data packet content being used to indicate said The target object makes a call to the target system tool.
  • the calling service performs a call of the target system tool to the target object according to the calling data packet, including:
  • the calling service performs a call to the target system tool for the target object according to the parsed data.
  • the sending after the call is completed, sending feedback information including the result of the call to the Lua process, include:
  • said call data packet includes a data packet header and a data packet content, said data packet header having a predefined format negotiated by said Lua process and said calling service, said data packet content being used to indicate said The target object makes a call to the target system tool.
  • the calling service performs a call to the target object by the target system tool according to the calling data packet, and sends feedback information including the calling result to the Lua process after the call is completed;
  • FIG. 1 is a flow chart showing a method of calling a system tool in an embodiment of the present invention
  • FIG. 2 is a structural diagram of an apparatus for calling a system tool in an embodiment of the present invention
  • FIG. 3 is a schematic diagram showing the physical structure of a computer device in an embodiment of the present invention.
  • Step 101 The Lua process establishes a network connection with a pre-created calling service for assisting in processing the calling task.
  • the application additionally creates a calling service in the Nginx server independently of the Lua process, and the calling service is pre-created, which is used to assist in processing the calling task.
  • the calling service is a service program compiled based on the C++ language.
  • TCP Transmission Control Protocol
  • the calling data packet includes a data packet header and a data packet content
  • the data packet header has a predefined format negotiated by the Lua process and the calling service, and the data packet content is used to indicate the target system tool for the target object.
  • the predefined format of the packet header is a format customized by the Lua process and the calling service in advance, and the content of the packet is encoded according to the packet header when encoding.
  • the Lua process After determining the packet header and the contents of the data packet, the packet header and the packet content are encapsulated to form a TCP data segment, and the TCP data segment is the calling data packet.
  • the Lua process sends the calling packet to the calling service over the network connection. Specifically, the Lua process sends it through the lua sock:send() interface.
  • the Lua process sends it through the lua sock:send() interface.
  • adding a read asynchronous read event to the epoll, waiting for the arrival of the data packet.
  • the feedback information including the result of the call is sent to the Lua process.
  • the calling service first uses the callback function to obtain the calling result, and then according to the data packet.
  • the header encapsulates the result of the call, obtains feedback information, and finally calls the service to send feedback information to the Lua process.
  • step 104 the Lua process feeds back the result of the call to the user according to the feedback information.
  • the Lua process calls the lua sock:receive() interface, and the blocking waits for the service response to be called.
  • the feedback information of the calling service arrives, the feedback information is received, and the calling result is parsed through the packet header, and the result is called. Feedback to the user, where the user is the caller.
  • an embodiment of the present invention further provides an apparatus for calling a system tool.
  • the apparatus includes:
  • the network connection module 201 is configured to control the Lua process to establish a network connection with a pre-created calling service for assisting in processing the calling task;
  • the sending module 202 is configured to control the Lua process to send a call data packet to the calling service by using the network connection;
  • the feedback module 204 is configured to control the Lua process to feed back the call result to the user according to the feedback information.
  • a parsing unit configured to control the calling service to parse the content of the data packet according to the data packet header

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种调用系统工具的方法,包括步骤:Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接(101);所述Lua进程通过所述网络连接发送调用数据包给所述调用服务(102);所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程(103);所述Lua进程根据所述反馈信息将所述调用结果反馈给用户(104)。该方法由于利用调用服务完成对目标对象进行目标系统工具的调用,避免Lua利用自带的os库进行调用对所有Lua工作任务的阻塞,提高了Nginx和Lua的并行处理能力。

Description

调用系统工具的方法、装置、可读存储介质及设备 技术领域
本发明涉及软件开发技术领域,尤其涉及调用系统工具的方法、装置、可读存储介质及设备。
背景技术
在嵌入有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 sock:send()接口进行发送。对应的,在调用服务端,添加read异步读事件到epoll中,等待调用数据包的到来。
在完成步骤102之后,执行步骤103:调用服务根据调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给Lua进程。
在具体实施过程中,在调用服务端,当调用数据包到来后,调用服务首先对调用数据包中的数据包包头进行解析,若解析失败,则添异步加写事件,将解析错误以及对应的错误码进行记录,若解析成功,则根据数据包包头对调用数据包中的数据包内容进行解析,同样,若解析失败,则对解析错误以及对应的错误码进行记录,若解析成功,则根据解析后得到的数据执行对目标对象进行目标系统工具的调用。
进一步,调用服务的具体调用过程如下:
调用服务通过解析得到的数据将与数据包内容对应的任务分发到对应的处理事件中,处理事件函数添加处理任务,并将处理任务投射到初始化好的处理队列中,其中,每个处理队列对应一个线程,然后注册处理完成回调函数,删除epoll中的读写事件,在调用时,每个处理任务对应一种处理接口,同一种处理任务可以抛到不同任务中实现并发操作,例如,若调用任务为压缩文件处理,只有一个压缩接口,但多个压缩任务可以抛到多个线程中同时进行。
进一步,调用服务在完成调用之后,将会发送包含调用结果的反馈信息给Lua进程,具体地,调用服务先利用回调函数获得调用结果,再根据数据包包 头对调用结果进行封装,获得反馈信息,最后调用服务将反馈信息发送给Lua进程。
在完成步骤103之后,执行步骤104:Lua进程根据反馈信息将调用结果反馈给用户。
在具体实施过程中,Lua进程调用lua sock:receive()接口,阻塞等待调用服务响应,当调用服务的反馈信息到来后,接收反馈信息,并通过数据包包头解析出调用结果,并将调用结果反馈给用户,此处的用户即调用者。
基于同一发明构思,本发明实施例还提供一种调用系统工具的装置,如图2所示,所述装置包括:
网络连接模块201,用于控制Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
发送模块202,用于控制所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
调用模块203,用于控制所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
反馈模块204,用于控制所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
优选的,所述调用服务为基于C++语言编译的服务程序。
优选的,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对目标对象进行目标系统工具的调用。
优选的,调用模块,包括:
解析单元,用于控制所述调用服务根据所述数据包包头对所述数据包内容进行解析;
调用单元,用于控制所述调用服务根据解析后得到的数据执行对所述目标对象进行所述目标系统工具的调用。
优选的,调用模块,包括:
第一获得单元,用于控制所述调用服务利用回调函数获得调用结果;
第二获得单元,用于控制根据所述数据包包头对所述调用结果进行封装,获得所述反馈信息;
发送单元,用于控制所述调用服务将所述反馈信息发送给所述Lua进程。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
本发明实施例还提供了一种计算机设备,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以计算机设备为手机为例:
图3示出的是与本发明实施例提供的计算机设备相关的部分结构的框图。参考图3,该计算机设备包括:存储器301和处理器302。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对计算机设备的各个构成部件进行具体的介绍:
存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储数据(比如音频数据、电话本等)等。此外,存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器302是计算机设备的控制中心,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行各种功能和处理数据。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。
在本发明实施例中,该计算机设备所包括的处理器302可以具有以下功能:
Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
总之,在本申请中,预先创建用于辅助处理调用任务的调用服务,并,通 过Lua进程与调用服务建立网络连接,在网络连接建立成功之后,Lua进程通过网络连接发送调用数据包给调用服务,调用服务根据调用数据包对目标对象进行目标系统工具的调用,在调用完成后发送包含调用结果的反馈信息给Lua进程,Lua进程根据反馈信息将调用结果反馈给用户,由于利用调用服务完成对目标对象进行目标系统工具的调用,避免Lua利用自带的os库进行调用对所有Lua工作任务的阻塞,提高了Nginx和Lua的并行处理能力。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中, 所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

  1. 一种调用系统工具的方法,其特征在于,所述方法包括:
    Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
    所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
    所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
    所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
  2. 如权利要求1所述的方法,其特征在于,所述调用服务为基于C++语言编译的服务程序。
  3. 如权利要求1所述的方法,其特征在于,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对所述目标对象进行所述目标系统工具的调用。
  4. 如权利要求3所述的方法,其特征在于,所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,包括:
    所述调用服务根据所述数据包包头对所述数据包内容进行解析;
    所述调用服务根据解析后得到的数据执行对所述目标对象进行所述目标系统工具的调用。
  5. 如权利要求3所述的方法,其特征在于,所述在调用完成后发送包含调用结果的反馈信息给所述Lua进程,包括:
    所述调用服务利用回调函数获得所述调用结果;
    根据所述数据包包头对所述调用结果进行封装,获得所述反馈信息;
    所述调用服务将所述反馈信息发送给所述Lua进程。
  6. 一种调用系统工具的装置,其特征在于,所述装置包括:
    网络连接模块,用于控制Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
    发送模块,用于控制所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
    调用模块,用于控制所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
    反馈模块,用于控制所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
  7. 如权利要求6所述的装置,其特征在于,所述调用服务为基于C++语言 编译的服务程序。
  8. 如权利要求6所述的装置,其特征在于,所述调用数据包包含数据包包头和数据包内容,所述数据包包头具有经所述Lua进程和所述调用服务协商的预定义格式,所述数据包内容用于指示对所述目标对象进行所述目标系统工具的调用。
  9. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
    Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
    所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
    所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
    所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
  10. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
    Lua进程与预先创建的用于辅助处理调用任务的调用服务建立网络连接;
    所述Lua进程通过所述网络连接发送调用数据包给所述调用服务;
    所述调用服务根据所述调用数据包执行对目标对象进行目标系统工具的调用,并在调用完成后发送包含调用结果的反馈信息给所述Lua进程;
    所述Lua进程根据所述反馈信息将所述调用结果反馈给用户。
PCT/CN2017/108263 2017-09-28 2017-10-30 调用系统工具的方法、装置、可读存储介质及设备 WO2019061636A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710895749.0 2017-09-28
CN201710895749.0A CN107846449B (zh) 2017-09-28 2017-09-28 调用系统工具的方法、装置、可读存储介质及设备

Publications (1)

Publication Number Publication Date
WO2019061636A1 true WO2019061636A1 (zh) 2019-04-04

Family

ID=61661481

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/108263 WO2019061636A1 (zh) 2017-09-28 2017-10-30 调用系统工具的方法、装置、可读存储介质及设备

Country Status (2)

Country Link
CN (1) CN107846449B (zh)
WO (1) WO2019061636A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538706A (zh) * 2020-04-21 2020-08-14 惠州Tcl移动通信有限公司 数据压缩方法、装置、存储介质及移动终端
CN112788103A (zh) * 2020-12-25 2021-05-11 江苏省未来网络创新研究院 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法
CN113726674A (zh) * 2021-08-27 2021-11-30 猪八戒股份有限公司 基于Nginx+Lua的流量调度方法及设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110049280B (zh) * 2019-03-14 2022-01-11 视联动力信息技术股份有限公司 监控数据的处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106102A (zh) * 2013-01-14 2013-05-15 百度在线网络技术(北京)有限公司 一种web应用程序的运行方法及移动终端
CN103713927A (zh) * 2013-12-27 2014-04-09 珠海全志科技股份有限公司 一种刷机工具及通过刷机工具刷机的方法
US20140143762A1 (en) * 2012-11-21 2014-05-22 Fujitsu Limited Symbolic execution of dynamic programming languages
CN104298534A (zh) * 2014-10-23 2015-01-21 广州华多网络科技有限公司 基于Lua语言的编程方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461522B (zh) * 2014-11-26 2018-05-01 论客科技(广州)有限公司 基于脚本的辅助业务实现方法
CN106209795A (zh) * 2016-06-30 2016-12-07 大连楼兰科技股份有限公司 实现lua解析内网数据方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140143762A1 (en) * 2012-11-21 2014-05-22 Fujitsu Limited Symbolic execution of dynamic programming languages
CN103106102A (zh) * 2013-01-14 2013-05-15 百度在线网络技术(北京)有限公司 一种web应用程序的运行方法及移动终端
CN103713927A (zh) * 2013-12-27 2014-04-09 珠海全志科技股份有限公司 一种刷机工具及通过刷机工具刷机的方法
CN104298534A (zh) * 2014-10-23 2015-01-21 广州华多网络科技有限公司 基于Lua语言的编程方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538706A (zh) * 2020-04-21 2020-08-14 惠州Tcl移动通信有限公司 数据压缩方法、装置、存储介质及移动终端
CN111538706B (zh) * 2020-04-21 2023-11-14 惠州Tcl移动通信有限公司 数据压缩方法、装置、存储介质及移动终端
CN112788103A (zh) * 2020-12-25 2021-05-11 江苏省未来网络创新研究院 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法
CN112788103B (zh) * 2020-12-25 2022-08-02 江苏省未来网络创新研究院 一种基于nginx+lua解决同应用多实例web代理访问冲突的方法
CN113726674A (zh) * 2021-08-27 2021-11-30 猪八戒股份有限公司 基于Nginx+Lua的流量调度方法及设备
CN113726674B (zh) * 2021-08-27 2023-11-14 猪八戒股份有限公司 基于Nginx+Lua的流量调度方法及设备

Also Published As

Publication number Publication date
CN107846449A (zh) 2018-03-27
CN107846449B (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
WO2019061636A1 (zh) 调用系统工具的方法、装置、可读存储介质及设备
US20200403843A1 (en) Method and system for inter-device service access
US7886308B2 (en) Time bounding notification delivery in an event driven system
US10142425B2 (en) Session reliability for a redirected USB device
US9501259B2 (en) Audio output device to dynamically generate audio ports for connecting to source devices
US10223321B2 (en) Combining redirected USB interfaces into a single composite device
CN112615822B (zh) 一种消息处理方法、装置、计算设备及可读存储介质
WO2017114190A1 (zh) 一种文件上传处理方法及装置
US20170310790A1 (en) Employing an auxiliary device to implement usb device redirection
WO2019056203A1 (zh) 一种低延时音视频传输方法、装置及计算机可读存储介质
KR100772175B1 (ko) 네트워크 로봇 시스템 및 네트워크 로봇 시스템에서의 통신방법
US20170034311A1 (en) Method for selecting between multiple RPC frameworks during a TCP/IP session
JP4943650B2 (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
US20210037064A1 (en) In-Line AI Virtual Assistant
WO2020173126A1 (zh) 基于区块链的会话数据处理方法、装置、设备及介质
JP5497009B2 (ja) メディア送信の取り扱いを動的にエスカレートするワイヤレス通信デバイス
CN110413354B (zh) 一种实现与第三方平台交互的方法、设备以及存储介质
US20050165983A1 (en) System and method for processing data in kernel area by a user command
CN113965628A (zh) 消息调度方法、服务器和存储介质
US10694551B2 (en) Method and apparatus for binding communication between mobile device and fixed device
US11929933B2 (en) Ephemeral data stream routing service
US20200252485A1 (en) Accelerating isochronous endpoints of redirected usb devices
CN116016487A (zh) 文件跨端处理方法、装置、存储介质及电子设备
CN114244758A (zh) 安卓平台的网络诊断方法、存储介质、电子设备及系统
CN111092916B (zh) 文件上传的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17926687

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17926687

Country of ref document: EP

Kind code of ref document: A1