一种在Thrift RPC环境下高效率使用Python脚本的方法技术

技术编号:19634827 阅读:18 留言:0更新日期:2018-12-01 15:35
一种在Thrift RPC环境下高效率使用Python脚本的方法:执行下述步骤:1)在人机交互界面中进入想要执行功能块所在的界面,选择其中某一个或者几个功能;2)启动Thrift RPC客户端,连接RPC服务端;3)通过Thrift RPC客户端将所选择的功能发送给服务端。相对于现有技术:1)本发明专利技术,提高了远程调用Python脚本运用的灵活性,使得远程调用脚本时不再局限于某一个或几个脚本。2)提高了远程调用脚本的效率,原本需要执行多个脚本,现在只需要执行一个脚本就能解决,有效的降低了时间,提高了效率。3)安全性有所提高,将数据放入缓冲区中执行,执行之后再清空缓冲区,可以有效的防止脚本被恶意篡改或删除。

An Efficient Method of Using Python Script in Thrift RPC Environment

A method of using Python script efficiently in Thrift RPC environment: perform the following steps: 1) enter the interface where you want to execute the function blocks in the human-computer interaction interface and select one or more of them; 2) start the Thrift RPC client and connect the RPC server; 3) select the function through the Thrift RPC client. Functions are sent to the server. Compared with the prior art: 1) The invention improves the flexibility of remote calling Python scripts, so that remote calling scripts is no longer limited to one or more scripts. 2) It improves the efficiency of remote calling scripts. Originally, many scripts need to be executed. Now, only one script can be executed to solve the problem, which effectively reduces the time and improves the efficiency. 3) Security has been improved. Putting data into the buffer to execute and then clearing the buffer after execution can effectively prevent scripts from being maliciously tampered with or deleted.

【技术实现步骤摘要】
一种在ThriftRPC环境下高效率使用Python脚本的方法
本专利技术涉及一种在ThriftRPC环境下高效率使用Python脚本的方法。
技术介绍
Python作为一种完全面向对象的语言,是当下最为实用的脚本语言(scriptlanguage)之一,在实际脚本使用过程中,Python脚本的调用可以大致归结为两类:第一类为本地调用,第二类为远程调用。本地调用是指在本机上已存在一个现成脚本,并在本机上运行脚本命令./run.py或pythonrun.py调用python解释器来运行该现成脚本。远程调用是指本机上已存在一个功能固定的脚本,另外一台机器通过网络与本机进行交互,当需要执行该脚本时向本机发送请求,本机收到请求自动执行该固定功能的脚本,此过程为远程调用。无论是本地调用还是远程调用脚本,前提条件为本机必须有一个或多个已经存在的脚本供使用。在windows平台上无论是本地调用还是远程调用其本质都是执行某一个脚本的功能,不过远程调用不同于本地调用的地方是远程调用多了一个网络交互的过程,而且调用者也不同,本地调用的调用者是本机的程序使用者,远程调用的调用者是另外一台机器的使用者。1.Windows环境下如果你想远程调用一个脚本,那么在被调用的机器上就必须得有一个现成的具备该功能的脚本,这个时候如果你想要把一些功能放进这个脚本中,那么你就得去手动更改这个脚本或者重新建立一个新的脚本,这样的话会给使用者和维护者带来不便,很不灵活。2.远程调用的时候,如果你想使用多个功能块,那么被调用者就必须得拥有相应数量的脚本,脚本的数量和功能块的数量一一对应,如果这些功能块的功能比较类似,并且原有的脚本又不方便更改,那么这些相似功能的脚本就无法融合成一个脚本,这样就会出现繁琐性和功能重复性的问题,不利于程序的运行,效率也比较低。
技术实现思路
为解决上述问题,本专利技术提供一种在ThriftRPC环境下高效率使用Python脚本的方法。本专利技术的技术方案具体为:一种在ThriftRPC环境下高效率使用Python脚本的方法:执行下述步骤:1)在人机交互界面中进入想要执行功能块所在的界面,选择其中某一个或者几个功能;2)启动ThriftRPC客户端,连接RPC服务端;3)通过ThriftRPC客户端将所选择的功能发送给服务端;4)服务端接收来自人工交互界面用户所选择的功能;5)将所接收到的功能与功能所需要的函数对应起来;6)按照接收到的功能顺序,将已经对应好的函数依照此顺序排列成一个有序的序列;7)开辟一个缓冲区,将执行功能所需要的、已经正确建立排列关系的函数写进缓冲区中;8)调用Python脚本执行部分,执行该缓冲区的脚本。进一步的:所述人工交互界面采用web界面。进一步的:所述步骤3)在ThriftRPC客户端与服务端传输过程中对所选择的功能进行封装。进一步的:所述步骤8)具体执行下述过程:1)从缓冲区当中读取Python脚本;2)如果执行脚本过程中有依赖其他的库,则加载依赖库,没有的话可以跳过此步骤;3)执行脚本,执行完成之后清空缓冲区。相对于现有技术,本专利技术的技术效果为;1)本专利技术,提高了远程调用Python脚本运用的灵活性,使得远程调用脚本时不再局限于某一个或几个脚本。2)提高了远程调用脚本的效率,原本需要执行多个脚本,现在只需要执行一个脚本就能解决,有效的降低了时间,提高了效率。3)安全性有所提高,将数据放入缓冲区中执行,执行之后再清空缓冲区,可以有效的防止脚本被恶意篡改或删除。附图说明图1是本专利技术的设计整体流程图。具体实施方式本专利技术提出的一种在ThriftRPC环境下高效率使用Python脚本的方法总体设计上分为三部分:web界面部分、ThriftRPC远程数据处理部分、Python执行部分。Web界面部分主要是开放给用户使用,这部分的主要功能是用户能够选择要执行的某一个或者几个功能。ThriftRPC远程数据处理部分的主要功能是负责远程数据通讯,并且处理得到的数据。Python执行部分的主要功能是执行某一个或者几个功能,这些功能和web界面部分用户所选择的功能相一一对应。整体的流程图如图1所示:1)在web界面中进入想要执行的功能块所在的界面,选择其中某一个或者几个功能;2)启动ThriftRPC客户端,连接RPC服务端;3)通过ThriftRPC客户端将所选择的功能发送给服务端;4)服务端接收来自web界面用户所选择的功能;5)将所接收到的功能与功能所需要的函数对应起来;6)按照接收到的功能顺序,将已经对应好的函数依照此顺序排列成一个有序的序列;7)开辟一个缓冲区,将执行功能所需要的、已经正确建立排列关系的函数写进缓冲区当中;8)调用Python脚本执行部分,执行该缓冲区的脚本。在进行8)调用Python脚本执行部分,执行该缓冲区的脚本时执行下述步骤:1)从缓冲区当中读取Python脚本;2)如果执行脚本过程中有依赖其他的库,则加载依赖库,没有的话可以跳过此步骤;3)执行脚本,执行完成之后清空缓冲区。结合上述流程对web界面部分、ThriftRPC远程数据处理部分、Python执行部分进行详细解释如下:1.Web界面部分由于这部分是面向用户开放的,因此在界面打开时,用户能够选择性的进入你想要操控功能所在的界面。1)进入想要执行的功能块所在的界面,选择其中某一个或者几个功能。2)启动ThriftRPC客户端,连接RPC服务端。3)通过客户端将所选择的功能发送给服务端。在客户端将所选择的功能发送给服务端的传输过程中对所选择的功能进行了封装,以解决传输过程中格式丢失的问题,同时保证了传输安全和效率;2.ThriftRPC远程数据处理部分这部分的功能是整个优化方案的核心部分,它能够起到一个承上启下的作用,上能同web界面部分打交道,下能和Python执行部分打交道。同时,在整个优化方案中,这部分也承载着服务端的角色,在机器刚开机启动的时候,ThriftRPC服务端也会随着机器启动而启动运行。1)接收来自web界面用户所选择的功能。2)将所接收到的功能与本部分执行该功能所需要的函数对应起来。3)按照接收到的功能顺序,将已经对应好的函数依照此顺序排列成一个有序的序列。4)开辟一个缓冲区,将执行功能所需要的、已经正确建立排列关系的函数写进缓冲区当中。5)调用Python脚本执行部分,执行该缓冲区的脚本。在1)接收来自web界面用户所选择的功能当中,服务端接收来自客户端的请求,由此,服务端能够知晓用户所选择的一系列功能。在现存的旧方案当中,当服务端接收到来自客户端的功能请求时,会去马上调用已经现存的脚本,例如服务端接收到客户端请求的两个功能A和B,那么现存的调用方法就会去本地检索对应功能的脚本A.py和B.py然后把这个脚本执行起来,但是如果功能非常多的话这样做显然是非常不合理的,这样的话计算机当中就得存在很多个脚本来对应这些功能,另外如果有人去更改或删除这些脚本的话,那么对应的功能肯定不能执行成功,有很大的风险性,非常不利于使用和维护。所以在本方案中采取了另外一种新的方法来改变这种现状。在第二步中,接收到要执行的功能之后,不再去本地检索脚本,而是将这些执行这些功能所需的函数在程序中检索出来,检索出来之后执行第三步按照本文档来自技高网
...

【技术保护点】
1.一种在Thrift RPC环境下高效率使用Python脚本的方法,其特征在于:执行下述步骤:1)在人机交互界面中进入想要执行功能块所在的界面,选择其中某一个或者几个功能;2)启动Thrift RPC客户端,连接RPC服务端;3)通过Thrift RPC客户端将所选择的功能发送给服务端;4)服务端接收来自人工交互界面用户所选择的功能;5)将所接收到的功能与功能所需要的函数对应起来;6)按照接收到的功能顺序,将已经对应好的函数依照此顺序排列成一个有序的序列;7) 开辟一个缓冲区,将执行功能所需要的、已经正确建立排列关系的函数写进缓冲区中;8)调用Python脚本执行部分,执行该缓冲区的脚本。

【技术特征摘要】
1.一种在ThriftRPC环境下高效率使用Python脚本的方法,其特征在于:执行下述步骤:1)在人机交互界面中进入想要执行功能块所在的界面,选择其中某一个或者几个功能;2)启动ThriftRPC客户端,连接RPC服务端;3)通过ThriftRPC客户端将所选择的功能发送给服务端;4)服务端接收来自人工交互界面用户所选择的功能;5)将所接收到的功能与功能所需要的函数对应起来;6)按照接收到的功能顺序,将已经对应好的函数依照此顺序排列成一个有序的序列;7)开辟一个缓冲区,将执行功能所需要的、已经正确建立排列关系的函数写进缓冲区中;8)调用Python脚本执行部分,执行该缓冲区的脚本...

【专利技术属性】
技术研发人员:刘远锋白鸿钧张明凯陈宇
申请(专利权)人:河南思维轨道交通技术研究院有限公司
类型:发明
国别省市:河南,41

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

1