开发云服务器的简单过程介绍
云服务器服务是云计算服务的重要服务之一,目前常见的用途非常广泛,主要有把云服务器当虚拟主机使用;对网络品质有要求的电子商务等平台;数据共享平台;软件应用平台等。
一、云服务器接收采集数据
建立好云服务器之后,接下来即是如何把采集的数据传输给云服务器。这包含两项工作。
第一项是在云服务器上建立一个接收处理程序,这个接收处理程序有多种形式,只要能够提供接收数据的连接即可。通常我们可以使用以下方式:
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,
推荐阅读