欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技

开发云服务器的简单过程介绍

科普小知识2023-10-07 21:15:21
...

云服务器服务是云计算服务的重要服务之一,目前常见的用途非常广泛,主要有把云服务器当虚拟主机使用;对网络品质有要求的电子商务等平台;数据共享平台;软件应用平台等。

一、云服务器接收采集数据

建立好云服务器之后,接下来即是如何把采集的数据传输给云服务器。这包含两项工作。

第一项是在云服务器上建立一个接收处理程序,这个接收处理程序有多种形式,只要能够提供接收数据的连接即可。通常我们可以使用以下方式:

l TCP服务:创建socket -》 绑定端口 -》 listen监听 -》 accept tcp 连接 -》 处理数据 -》 关闭连接。

l UDP服务:创建socket -》 绑定端口-》 接收数据 -》 处理数据

l HTTP服务:创建IIS或apache站点,指定站点端口,在站点中建立数据接收处理代码文件,形成“http://云服务器ip:端口/处理程序”的URL,接收get或post数据。

第二项工作是将采集的数据连接到云服务器提供的接收处理程序,完成数据的上传。数据的上传途径也可使用多种方式:

l 使用GPRS,采集结点增加GPRS处理模块,将采集的数据通过GPRS传输给云服务器,数据传输的协议视云服务器接收处理程序定,TCP、UDP或是HTTP。

l 将采集数据通过串口传输至PC机,再由PC建立数据传输程序,通过TCP、UDP或是HTTP传输给云服务器

l 采集数据通过网口或串口转网口等设备,使用TCP、UDP或是HTTP连接至云服务器进行传输。

二、 云服务器上存储采集数据

当云服务器的接收处理程序接收到数据后,可以根据需要进行存储,存储的方式根据需要可以有多种形式:

l 以文本形式存储,即如写入记事本,数据的方式可以是一行一行的简单文本,也可以是xml形式,均可,只要便于后续读取即可。

l 以数据库形式存储,可以将数据存储到数据库表中,数据库可以是Access,SQL Server,Oracle,MySql,PortgreSQL等,均可。

由于采集的数据与具体业务相关,对数据本身如果有协议约定,可以按协议约定进行解析。如接收到“10,25”,可能约定是“设备标识,温度”,则可以在数据库中存储为一个拥有这两个字段的表,每个字段存储相应的值。

三、 终端上显示采集数据

数据一旦存储在文本文件或数据库中,即随时可以读取最新的采集数据和历史数据,并以丰富的形式展现出来。

通过,我们会采用web的方式展现,即创建IIS或apache站点,在站点中建立用于显示的页面,读取数据库中的内容形成html返回给浏览器,访问方式为浏览器打开“http://云服务器ip/显示页”的URL。以上述接收到的数据为例,即接收到“10,25”,原样存储在文本文件 data.txt ,刚可以制作如下显示页。

《!doctypehtml》

《html》

《head》《TItle》动态数据《/TItle》《/head》

《body》

设备号:《% =File.ReadText().Split(‘,’)[0] %》《br /》

温度值:《% =File.ReadText().Split(‘,’)[1] + “度” %》

《body》

《/html》

显示页制作之后,我们即可访问多种终端访问“http://云服务器ip/显示页”,可以是PC浏览器,手机浏览器,也可是微信公众号内部访问。

四、 锐米云服务器开发实例

使用锐米通信的网关产品,它集成了向云服务器传输的客户端功能,只要配置使用TCP、UDP或http地址即可在接收到数据时自动按指定的方式上传数据。下边是用于演示的云服务器端示例代码,使用的是HTTP方式,HTTP方式有其优点,可以把接收和显示功能做在一个站点里,使用不同的处理页即可。

开发云服务器的简单过程介绍

【数据接收】

publicparTIal class test_R : System.Web.UI.Page

{

protected void Page_Load(object sender,EventArgs e)

{

string data =Request[“data”]; // 取得接收的数据

// 存储在全局变量中,同为显示页为同一站点,

// 因此显示页可访问到此变量。存储至文件也是可以的

ApplicaTIon[“data”] = data;

}

}

【数据显示】

显示页解析接收保存在全局变量(或文件)中的数据

private string GetContent() {

string s =Application[“data”] as string;

if (!String.IsNullOrEmpty(s)) {

string[] items = s.Split(‘,’);

string date =Regex.Replace(items[0],@“(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})”, “$1-$2-$3$4:$5:$6”);

s = String.Format(“原始数据:{3} 《br》 解析结果 - 数据日期: {0} 用户标识:{1} 数据内容: {2}”, date, items[1],items[2].Replace(‘:’, ‘ ’), s);

}

return s;

}

示例运行环境,windows系统 IIS7 .net 4.0,