当前位置: 首页 > news >正文

信用网站建设成效建网站哪个平台好

信用网站建设成效,建网站哪个平台好,为什要做网站,wordpress 付费下载RSclient是实现Rserve通信的R语言客户端程序,对于统计人员使用RSclient调用Rserve运行R语言脚本,感觉会很奇怪。但对于实际应用架构来说却是很有帮助的,不仅可以统一Rserve的接口,还可以从架构上实现R语言的跨虚拟机的分步式程序设…

RSclient是实现Rserve通信的R语言客户端程序,对于统计人员使用RSclient调用Rserve运行R语言脚本,感觉会很奇怪。但对于实际应用架构来说却是很有帮助的,不仅可以统一Rserve的接口,还可以从架构上实现R语言的跨虚拟机的分步式程序设计。

目录

  1. Rserve和RSclient介绍
  2. Rserve系统环境
  3. RSclient安装
  4. RSclient的API
  5. RSclient使用
  6. 两个客户端同时访问

1. Rserve和RSclient介绍

Rserve介绍

Rserve是一个基于TCP/IP协议的,允许R语言与其他语言通信的C/S结构的程序,支持C/C++,Java,PHP,Python,Ruby,Nodejs等。 Rserve提供远程连接,认证,文件传输等功能。我们可以设计R做为后台服务,处理统计建模,数据分析,绘图等的任务。

Rserve的使用请参考文章:R语言服务器程序 Rserve详解, Rserve与Java的跨平台通信

RSclient介绍

RSclient是Rserve客户端的R语言实现,通过RSclient可以访问Rserve服务器实例。

官方介绍:http://www.rforge.net/RSclient/

2. Rserve系统环境

服务器系统环境

  • Linux: Ubuntu 12.04.2 LTS 64bit
  • R: 3.0.1 x86_64-pc-linux-gnu
  • Rserve: Rserve v1.7-1

启动Rserve服务器


~ R CMD Rserve~ ps -aux|grep Rserve
conan    28339  0.0  1.2 116292 25240 ?        Ss   22:31   0:00 /usr/lib/R/bin/Rserve~ netstat -ntlp|grep Rserve
tcp        0      0 0.0.0.0:6311            0.0.0.0:*               LISTEN      28339/Rserve

Rserve环境

  • IP: 192.168.1.201,允许远程访问
  • 端口: 6311
  • 登陆认证: 用户名:conan, 密码:conan
  • 字符编码: utf-8

~ R CMD Rserve --RS-settings
Rserve v1.7-1config file: /etc/Rserv.conf
working root: /tmp/Rserv
port: 6311
local socket: [none, TCP/IP used]
authorization required: yes
plain text password: allowed
passwords file: [none]
allow I/O: yes
allow remote access: yes
control commands: yes
interactive: yes
max.input buffer size: 262144 kB

3. RSclient安装

客户端环境,远程访问

  • Win7 64bit
  • R: 3.0.1 x86_64-w64-mingw32/x64 b4bit

RSclient安装和加载


~ R> install.packages("RSclient")
> library(RSclient)

4. RSclient的API

RSclient的API分为两组,Rclient(旧版本)和RCC(新版本)。

Rclient 旧版本API:函数名是大小写连写的

RSassign           RSattach           RSclose
RSconnect          RSdetach           RSeval             RSevalDetach
RShowDoc           RSiteSearch        RSlogin            RSserverEval
RSserverSource     RSshutdown         RSclient::

RCC 新版本API:函数名以.分隔的

RS.assign          RS.authkey         RS.close           RS.collect
RS.connect         RS.eval            RS.eval.qap        RS.login
RS.oobCallbacks    RS.server.eval     RS.server.shutdown RS.server.source
RS.switch

我主要介绍新版本API的使用

客户端操作函数

  • RS.connect: 创建与Rserve的连接
  • RS.close: 关闭与Rserve的连接
  • RS.login: 登陆认证
  • RS.authkey: 设置认证时加密算法
  • RS.eval: 在Rserve远程执行R语句
  • RS.eval.qap: 远程执行R语句,使用Rserve QAP序列化对象代替本地对象
  • RS.collect: 等待异步执行的eval的结果,一起返回
  • RS.assign: 远程执行赋值
  • RS.switch: 协议转换,从QAP1到TLS QAP1
  • RS.oobCallbacks: 回调函数, 通过OOB_SEND函数和OOB_MSG函数中执行

服务器管理函数:Rserve启动时,需要设置–RS-enable-control

  • RS.server.eval: 服务器控制函数,执行脚步
  • RS.server.shutdown: 服务器控制函数,关闭服务器
  • RS.server.source: 服务器控制函数,执行服务器端本地文件

5. RSclient的使用


~ R
> library(RSclient)#建立连接
> conn<-RS.connect(host="192.168.1.201")
> connRserve QAP1 connection 0x000000000445cd60 (socket 308, queue length 0)#登陆认证
> RS.login(conn,"conan","conan",authkey=RS.authkey(conn))
[1] TRUE#执行脚本
> RS.eval(conn,rnorm(5))
[1] -2.6762608  1.4435144 -0.4298395 -0.7046573 -1.4056073#设置变量
> RS.assign(conn,"xx",99)
raw(0)
> RS.eval(conn,xx-55)
[1] 44#同步执行
> RS.eval(conn,head(rnorm(10000000)),wait=TRUE)
[1] -4.20217390  0.22353317 -1.70256992  0.30053213 -0.01427486 -0.70522254#异步执行
> RS.eval(conn,head(rnorm(10000000)),wait=FALSE)
NULL
> RS.collect(conn)
[1] -0.2814752  0.3215521 -1.0978825 -0.8534461 -0.2459560 -0.4804882#关闭连接
> RS.close(conn)
NULL
> connClosed Rserve connection 0x000000000445cc80

6. 两个客户端同时访问

客户端A


~ R 
library(RSclient)
conn<-RS.connect(host="192.168.1.201")
RS.login(conn,"conan","conan",authkey=RS.authkey(conn))
RS.assign(conn,"A",1234)> RS.eval(conn,A)
[1] 1234> RS.eval(conn,getwd())
[1] "/tmp/Rserv/conn29039"

客户端B


~ R 
library(RSclient)
conn<-RS.connect(host="192.168.1.201")
RS.login(conn,"conan","conan",authkey=RS.authkey(conn))
RS.assign(conn,"B",5678)> RS.eval(conn,B)
[1] 5678
> RS.eval(conn,ls())
[1] "B"
> RS.eval(conn,getwd())
[1] "/tmp/Rserv/conn29040"

我们看到A,B两个客户端建立接口后,服务器端的Rserve会在两个单独的空间运行。因此,A,B两个客户端的访问是独立的。

在客户端A,设置服务器全局变量


> RS.server.eval(conn, "G<-999") :command failed with status code 0x48: access denied

注:出现拒绝访问的错误,虽然我们已经打开了--RS-enable-control,还是有错误,不知道是不是Rserve的bug。

通过RSclient,我们就可以远程连接Rserve。如果大家发散一下想法,就可以通过Rserve和RSclient构建一个纯R的分步式计算环境。下篇文章我将模拟构建一个这样的环境!!

http://www.lbrq.cn/news/2388511.html

相关文章:

  • 科学小制作西安百度快照优化
  • 如何做平台软件seo产品是什么意思
  • 做flash音乐网站的开题报告bing搜索引擎下载
  • 将台地区网站建设腾讯域名
  • 海口网站建设咨询石家庄
  • 做网站霸屏公司销售好做吗seo内容优化是什么
  • 淘客网站怎么做淘口令建站系统哪个比较好
  • 宁津做网站公司今日时事新闻
  • 西宁高端网站制作公司seo的方式有哪些
  • 易讯企业建站系统2022年app拉新推广项目
  • 网站开发课程百度云泉州seo网站排名
  • 网站导航怎么做的济南市新闻最新消息
  • 电子印章在线制作生成器免费seo的内容主要有哪些方面
  • 哈尔滨网站建设代理商网站入口百度
  • 设计公司网站源码网站推广的营销策划方案
  • 西安网站建设网络营销师报名入口
  • 临沂做商城网站友情链接软件
  • 电子商务网站建设与管理的感受东莞网站推广策划
  • github搭建个人博客搜索引擎优化好做吗
  • 思帽网站建设站长工具seo诊断
  • 赤峰网站建设招聘营销策略案例
  • 石家庄站布局图郑州网站推广公司电话
  • 中企动力总部在哪里seo千享科技
  • 优秀vi设计案例分析ppt宁波seo
  • 净化网络环境网站该怎么做网络推广平台公司
  • 荆州做网站哪家好如何制作自己的公司网站
  • sharepoint做门户网站漂亮的网页设计
  • mp3网站源码电子商务网站推广
  • 中国建筑一局北京seo做排名
  • 怎么给网站做优化app运营需要做哪些
  • Jenkins 实现项目的构建和发布
  • 多式联运物流管理系统的设计与实现(原创)
  • 《汇编语言:基于X86处理器》第8章 高级过程(3)
  • OpenAI最强ChatGPT智能体发布:技术突破与应用前景分析
  • 网络爬虫的介绍
  • Jmeter 性能测试响应时间过长怎么办?