具有web服务功能的嵌入式集中器系统的制作方法

文档序号:7795619阅读:168来源:国知局
具有web服务功能的嵌入式集中器系统的制作方法
【专利摘要】本发明公开了一种具有web服务功能的嵌入式集中器系统,包括采用SQLite数据库、并采用Buildroot完成Linux移植的嵌入式操作系统的微处理器;所述微处理器上设置外部看门狗电路;所述微处理器使用lighttpd作为web服务器软件,使用LIBGCC作为CGI开发的函数库;所述web服务器操作流程如下:首先:用户访问web服务器,浏览基本信息;其次:用户通过基本信息内的用户登录界面登录,进行参数配置、用电信息管理以及运行检测三方面的操作;最后:用户针对参数配置、用电信息管理以及运行检测三方面的操作完成后,安全退出。
【专利说明】具有web服务功能的嵌入式集中器系统
【技术领域】
[0001]本发明涉及智能电网技术,特别涉及了一种具有web服务功能的潜入式集中器系统。
【背景技术】
[0002]在我国“十二五”期间,智能电网是我国投资和发展的重点,对我国经济和社会发展有着重大意义。智能电网的建设,将推动智能小区、智能城市的快速发展,不断提升人民生活品质。其中家庭智能用电系统既可以实现对空调、热水器等智能家电的实时控制和远程控制,还能够通过智能电表实现自动抄表和自动转账交费等功能,使生活更加便利;此夕卜,智能电网可以接入小型家庭风力发电和屋顶光伏发电等装置,并推动电动汽车的大规模应用,从而提高清洁能源消费比重,减少城市污染;最后,智能电网可以促进电力用户角色转变,使其兼有用电和售电两重属性,能够为用户搭建一个家庭用电综合服务平台,帮助用户合理选择用电方式,节约用能,有效降低能源费用支出。
[0003]在此背景下,目前以客户为中心的供电服务要求不断提高,对发电市场交易和管理以及市场营销将提出更高要求。为了应对这一新的需求和发展契机,智能电网下电能计量的架构与应用技术已成为下一步研究的重点之一。目前许多相关企业与科研机构开始对智能电网下的数字化电能计量架构与技术作储备研究,以实现计量自动化的灵活性和适应性。在具体实施方面,计量设备的可靠性,安全性,故障检测与自动维护还需要进一步的研究。在设备的安装与升级过程中,早期产品在系统功能上逐步完善。但是随着系统的普及,其可靠性、安全性问题日益突出,这些问题不仅给现场施工及维护人员带来了很大麻烦,也对整个智能电网的服务质量以及网络建设产生了不利影响。因此,在深入研究并解决以上问题的同时,如何方便进行系统故障检测与维护也逐步得到厂泛重视。此外,配网运行监测,线损自动统计,防窃电,计量自动化的自组网等新的需求也对计量自动化设备提出了挑战。

【发明内容】

[0004]本发明要解决的技术问题是提供一种具有web服务功能的嵌入式集中器系统。
[0005]为了解决上述技术问题,本发明提供一种具有web服务功能的嵌入式集中器系统,包括采用SQLite数据库、并采用Buildroot完成Linux移植的嵌入式操作系统的微处理器;所述微处理器上设置外部看门狗电路;所述微处理器使用Iighttpd作为web服务器软件,使用LIBGCC作为CGI开发的函数库;所述web服务器操作流程如下:首先:用户访问web服务器,浏览基本信息;其次:用户通过基本信息内的用户登录界面登录,进行参数配置、用电信息管理以及运行检测三方面的操作;最后:用户针对参数配置、用电信息管理以及运行检测三方面的操作完成后,安全退出。
[0006]作为对本发明所述的具有web服务功能的嵌入式集中器系统的改进:所述用户访问web服务器时,用户认证与访问控制步骤如下:第一步:用户向web服务器请求登录的网页时,web服务器端返回一个随机数、salt值和MD5运算JavaScript脚本MD5.js的网页;第二步:用户在网页的密码框中输入密码,点击提交时,先由MD5.js将密码和salt合并后散列,然后将散列值与时间戳合并后用MD5.js散列,接着将散列值发送到web服务器;第三步=Web服务器端登录的CGI在收到登录请求后将本地储存的密码与第一步生成的随机数一同进行MD5散列,将结果与收到的散列值对比,若相同则登录成功。
[0007]作为对本发明所述的具有web服务功能的嵌入式集中器系统的进一步改进:所述第三步中,本地储存的密码由用户密码和salt采用MD5散列而成。
[0008]作为对本发明所述的具有web服务功能的嵌入式集中器系统的进一步改进:对用户的权限采用2bit来标记,00表示无访问权限,01表示可读,10表示可写,11表示可读可写;通过将参数配置、用电信息管理以及运行检测的三个2bit合成后表示系统用户权限。
[0009]作为对本发明所述的具有web服务功能的嵌入式集中器系统的进一步改进:所述Web服务器的参数配置、用电信息管理以及运行检测通过对于的CGI程序完成,步骤如下:所述参数配置包括接口配置和集中器时间设置:所述接口配置由在集中器对应进程重启时载入修改自定义的通信接口配置文件hwcfg.conf完成;所述集中器时间设置由timeset.cgi来实现;用电信息管理:所述用电信息管理由infomanage.cgi实现,主要步骤如下:1)Cgi程序初始化,打开数据连接;2) Cgi请求判断,权限检查;2.1)通过权限检查后,根据相应数据请求,进行查询、修改以及添加等步骤,如;完成数据库查询、数据库更新或者数据库插入后,打印返回结果,生成网页,并关闭CG1、数据库连接等;2.2)权限检查的结果为权限不足,则打印错误信息,生成网页,并关闭CG1、数据库连接等;运行检测:所述运行检测过程由CGI程序使用shell后台调用运行检测程序,在检测结果出来前由浏览器每隔IOs自动刷新网页以避免连接超时,步骤如下:l)Cgi程序初始化,判断是否有检测请求;1.1)判断结果为有检测请求,检测程序是否在后台运行;1.1.0检测到后台运行程序,打印忙状态,生成网页,之后关闭CGI等;1.1.2)检测到没有后台运行程序,运行检测进程,生成检测结果文件;1.2)判断结果为无检测请求,检测结果是否生成;1.2.1)检测到检测结果文件已经生成,打印检测结果,生成网页,之后关闭CGI等;1.2.2)检测到检测结果文件没有生成,生成含自动刷新属性的网页,之后关闭CGI等。
[0010]作为对本发明所述的具有web服务功能的嵌入式集中器系统的进一步改进:所述web服务器具有系统自动维护机制:所述系统自动维护机制包括系统守护进程、看门狗进程、系统应用程序校验和检测进程以及自动远程升级进程;所述系统守护进程使用shell脚本编写,实现步骤如下:在Linux的/etc目录下的inittab中添加该系统守护进程,并配置为respawn属性,当系统守护进程被意外终止,会被系统自动重新启动;所述看门狗进程实现步骤如下:当系统崩溃时,通过看门狗进程无法运行而触发硬件看门狗,从而重启系统;所述系统应用程序校验和检测进程使用步骤如下:首先对关键的应用程序对应的文件进行MD5校验,并与预先存储的MD5值进行比;不断检测系统应用进程,若系统应用进程被终止,则延时10s,然后重新执行程序文件的校验,再启动该进程;所述自动远程升级进程实现步骤如下:自动远程升级进程定期的使用wget下载存放在基于HTTPS协议的更新服务器上的更新信息,若该信息中对应指明本硬件系统需要更新,则继续下载应用程序包;下载完成后先进行MD5校验,校验通过后先结束对应的旧版本的程序进程,在监测程序重启这些程序前替换掉程序文件。[0011 ] 作为对本发明所述的具有web服务功能的嵌入式集中器系统的进一步改进:所述微处理器采用开关电源和线性电源组合供电。
[0012]本发明的具有web服务功能的嵌入式集中器系统主要根据如下的需求和目标进行设计:从应用功能角度分析,集中器的核心业务是接收并存储由电能表、采集器等终端设备采集的用户用电数据,并与主站或者手持PDA等设备交换相关数据。集中器需要支持多种通信协议,能通过以太网络、RS485、GSM/GPRS/CDMA等接口通信方式与外部设备交互。除了这些基本的功能,集中器还需要提供其他支持现场调试与维护的辅助功能。传统的实现方法是现场人员采用串口,通过Linux命令行的方式对集中器调试和维护,不仅效率低,对维护人员技术背景要求高,并且此方法安全性不高。所以本发明采用web服务器来实现以上功能,目的是为了简化操作,并降低对维护设备的要求,其最终目标是使现场维护人员能通过支持网络功能的PDA,电脑或者其他智能设备来完成主要的调试与维护工作。
[0013]从安全性角度来分析,集中器存储与传输的用电数据的安全性和完整性是本发明最核心的安全问题,一旦数据被破坏或者篡改将带来巨大损失。而集中器是这些数据的载体,因此要保证这些数据安全,首先必须保证集中器自身的安全性,使其无法被外部通过网络等方式突破。在此基础之上,集中器与外部交互以上关键数据时的通信安全性也需要得到保障。所以集中器安全以及集中器通信协议安全需要得到最高规格的保护。而集中器的web服务器以及其他辅助功能,由于涉及关键数据的操作较少,且并非核心功能,通常只需要保证功能不被破坏或者不出现安全漏洞即可。这些可以通过控制使用权限,以及使用常用的有限的安全方式来保证。
[0014]本发明与已有技术相比最大的特点是基于web的对电力采集集中器的远程配置和运行状态检测,以及对于集中器用电信息安全性的设计。
[0015]本发明的具有web服务功能的嵌入式集中器系统的嵌入式web服务器架构设计如下:
[0016]Web服务器在本发明中主要功能是为集中器管理人员以及现场维护人员提供简单易于操作的用户接口,来实施集中器参数设置,小区电力载波网络测试诊断,用户数据查询和管理等功能。该功能可以极大地提高电力抄表管理和施工人员的工作效率,也降低了对工作人员技术背景的要求。从以上需求特点来分析,web server (网页服务器)支持的基本功能包括:
[0017]1.提供集中器软硬件配置查询与修改的接口 ;
[0018]2.提供数据库信息的插入,查询及修改;
[0019]3.提供电力载波网络测试相关的接口 ;
[0020]4.提供网页动态显示,动态更新的功能;
[0021]此外,由于用户可通过Webserver访问数据库来查询和修改用户个人信息和用电信息,使用不当将造成信息丢失或者泄露。并且,如果集中器参数配置错误,将造成集中器数据传输失败甚至发生硬件故障。这些功能若被非法用户利用将会对用电安全以及电费计量带来极大危害。因此需要在基本功能上增设一下安全措施:
[0022]1.提供安全的访问web服务器的连接方式;
[0023]2.提供对用户身份认证的接口,并提供对应的访问权限;
[0024]其中安全的web连接方式可采用https。由以上功能以及http服务器的基本原理 可以确立本发明中Webserver的基本架构。
【专利附图】

【附图说明】
[0025]下面结合附图对本发明的【具体实施方式】作进一步详细说明。
[0026]图1集中器Webserver的基本架构;
[0027]图2Web用户操作流程;
[0028]图3用电信息管理cgi程序流程;
[0029]图4集中器运行监测cgi程序流程。
【具体实施方式】
[0030]实施例1、图1到图4给出了一种具有web服务功能的嵌入式集中器系统;包括集中器系统平台;集中器系统平台由嵌入式微处理器构成;本发明的嵌入式微处理器选用ATEML公司的AT91SAM9260 (可靠性高、外设丰富),AT91SAM9260是ATEML公司一款采用ARM926EJ-S内核的工业级嵌入式处理器采用了 CPLD对IO进行扩展(为现有技术);为了保证系统电源效率,同时保证电源质量,本发明采用开关电源和线性电源组合并且采用了专门的外部看门狗电路。
[0031]本发明选取Linux作为嵌入式微处理器的嵌入式操作系统平台,采用Buildroot完成Linux移植的主要工作,具体步骤如下:第一步,搭建Buildroot工具链环境;第二步,完成Linux内核配置与修改;第三步,镜像文件烧录与配置。
[0032]本发明采用SQLite数据库;SQLite数据库主要由接口(Interface) SQL处理器、虚拟机(Virtual Machine)、B-Tree、页缓存(pager)、操作系统接口(OS Interface)等组成。
[0033]通过嵌入式微处理器,在嵌入式微处理器内搭建嵌入式web服务器,主要如下:
[0034]I)嵌入式web服务器(Webserver)搭建:
[0035]本发明选取Iighttpd作为web服务器软件;由于Buildroot2011.02中已集成了Iighttpd选项,仅需在buildroot菜单中使能相应选项即可,无需从源码移植。Iighttpd支持openssl来实现SSL连接,而buildroot在Iibcrypto库选项下也集成了 openssl。因此,https服务器的搭建主要工作在于制作服务器SSL证书以及配置Iighttpd程序。
[0036]2)针对集中器系统平台的web功能总体设计:
[0037]为了对集中器配置,用户用电信息的保护,防止非授权用户的篡改,web server在操作流程设计时需要考虑用户登录和网页访问权限控制等功能。Web server操作流程如下:
[0038]首先:用户访问web服务器,浏览基本信息(包括户用电信息以及用户登录界面等);
[0039]其次:用户通过用户登录界面登录,正确登录后,可以进行参数配置、用电信息管理以及运行检测三方面的操作;
[0040]最后:用户针对参数配置、用电信息管理以及运行检测三方面的操作完成后,安全退出。
[0041]web在功能设计时充分考虑模块的分离,以便web功能的维护和更新。服务器内的网页界面框架应尽量与网页功能实现分离,并实现模板化。
[0042]3) web服务器CGI (通用网关界面)设计方法:
[0043]本发明中CGI程序除了需要生成基本的html代码外,还需要与数据库,硬件接口以及其他系统软件交互,因此,CGI程序应采用能与以上相关程序实现无缝连接的语言编写。为了减少Webserver CGI程序系统资源占用并提高系统开发效率,因此本发明选用LIBGCC作为CGI开发的函数库。
[0044]4 ) Web用户认证与访问控制:
[0045]本发明登录认证的具体实现过程如下:
[0046]1.用户向web服务器请求登录的网页时,web服务器端返回一个随机数、salt值和MD5运算JavaScript脚本MD5.js的网页;
[0047]2.用户在网页的密码框中输入密码,点击提交时,先由MD5.js将密码和salt合并后散列,然后将散列值与时间戳合并后用MD5.js散列,接着将散列值发送到web服务器;
[0048]3.Web服务器端登录的CGI在收到登录请求后将本地储存的密码(由用户密码和salt采用MD5散列而成)与第一步生成的随机数一同进行MD5散列,将结果与收到的散列值对比,若相同则登录成功。
[0049]为了简化用户访问权限的管理,本发明中对每种功能使用2bit来标记其用户权限,00表不无访问权限,01表不可读,10表不可与,11表不可读可与,本发明同目如主要有三种功能,则将这3个2bit和在一起表示系统用户权限;如用于集中器硬件参数修改的账户权限值是110000。每次CGI执行用户的访问请求前必须先检查该文件中对应的位。
[0050]5) Web服务器子功能设计:
[0051]Web服务器子功能主要包括集中器硬件设置、用电信息管理以及集中器运行检测等,每种功能又可细分为多个子模块,由不同的CGI程序完成,故下文仅作总体介绍。
[0052]①集中器硬件设置:
[0053]集中器硬件设置主要是完成对集中器通信接口参数配置以及时间设置。
[0054]其中,由于系统运行时硬件接口通常被其他应用进程占用,无法直接修改,因此采用修改自定义的通信接口配置文件hwcfg.conf的方式来实现该功能。在集中器对应进程重启时载入该配置文件(通信接口配置文件hwcfg.conf ),接口配置即可完成。集中器时间设置可由timeset.cgi来实现,可以立即生效。
[0055]②用电信息管理:
[0056]用电信息管理功能主要包括用电信息查询,用电信息修改以及添加用电信息等部分组成。该功能均由infomanage.cgi实现,其程序流程如图3所示。
[0057]1、Cgi程序初始化,打开数据连接;
[0058]2、Cgi请求判断,权限检查;
[0059]2.1、通过权限检查后,根据相应数据请求,进行查询、修改以及添加等步骤,如;完成数据库查询、数据库更新或者数据库插入后,打印返回结果,生成网页,并关闭CG1、数据库连接等;
[0060]2.2、权限检查的结果为权限不足,则打印错误信息,生成网页,并关闭CG1、数据库连接等;
[0061]③集中器运行检测:[0062]集中器运行检测包括集中器载波通信状态检测,抄表进程运行检测等。
[0063]由于检测程序需要长时间运行才能获取检测结果,如果直接在CGI中运行该程序,则网页会出现超时,因此CGI程序使用shell后台调用运行检测程序,在检测结果出来前由浏览器每隔IOs自动刷新网页以避免连接超时。程序简化流程如图2所示。
[0064]UCgi程序初始化,判断是否有检测请求;
[0065]1.1、判断结果为有检测请求,检测程序是否在后台运行;
[0066]1.1.1、检测到后台运行程序,打印忙状态,生成网页,之后关闭CGI等;
[0067]1.1.2、检测到没有后台运行程序,运行检测进程,生成检测结果文件;
[0068]1.2、判断结果为无检测请求,检测结果是否生成;
[0069]1.2.1、检测到检测结果文件已经生成,打印检测结果,生成网页,之后关闭CGI等;
[0070]1.2.2、检测到检测结果文件没有生成,生成含自动刷新属性的网页,之后关闭CGI
坐寸ο
[0071 ] 系统自动维护机制如下:
[0072]由于集中器长期挂载在室外运行,难以避免其遭遇断电、雷击等破坏;此外,系统软硬件均可能存在潜在缺陷,在长期运行中可能出现运行故障,如果这些故障不能及时发现和处理,将带来更严重的后果;因此系统自动维护机制的设计对系统可靠性保障有着重要意义。本发明自动维护机制由以下几部分组成:
[0073](I)系统守护进程:
[0074]本发明中使用shell脚本编写了专门的守护进程,用以保证整个系统的所有其他自动维护程序如看门狗等不被异常终止。其具体实现方法是在Linux的/etc目录下的inittab中添加该进程,并配置为respawn属性。这样,即使该进程被意外终止,仍会被系统自动重新启动。
[0075](2)看门狗进程:
[0076]看门狗进程是为了配合AT91SAM9260外部的硬件看门狗,来保障系统严重故障而死机时能自动重启。一旦出现系统崩溃等严重问题,该进程都会因无法运行而触发硬件看门狗,从而重启系统。
[0077](3)系统应用程序校验和检测进程:
[0078]该进程在系统应用程序启动前首先对关键的应用程序对应的文件进行MD5校验,并与预先存储的MD5值进行比对,保证系统进程不被篡改或者不被意外破外。该进程还会不断检测系统应用进程,如抄表进程等是否被意外终止,若被终止则会延时IOs然后重新执行程序文件的校验,再启动该进程。
[0079](4)自动远程升级进程:
[0080]系统自动远程升级进程会定期的使用wget下载存放在基于HTTPS协议的更新服务器上的更新信息,若该信息中对应指明本硬件系统需要更新则继续下载应用程序包。下载完成后先进行MD5校验,校验通过后先结束对应的旧版本的程序进程,在监测程序重启这些程序前替换掉程序文件。
[0081]最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。
【权利要求】
1.具有web服务功能的嵌入式集中器系统,包括采用SQLite数据库、并采用BuildiOOt完成Linux移植的嵌入式操作系统的微处理器;其特征是:所述微处理器上设置外部看门狗电路; 所述微处理器使用Iighttpd作为web服务器软件,使用LIBGCC作为CGI开发的函数库; 所述web服务器操作流程如下: 首先:用户访问web服务器,浏览基本信息; 其次:用户通过基本信息内的用户登录界面登录,进行参数配置、用电信息管理以及运行检测三方面的操作; 最后:用户针对参数配置、用电信息管理以及运行检测三方面的操作完成后,安全退出。
2.根据权利要求1所述的具有web服务功能的嵌入式集中器系统,其特征是:所述用户访问web服务器时,用户认证与访问控制步骤如下: 第一步:用户向web服务器请求登录的网页时,web服务器端返回一个随机数、salt值和MD5运算JavaScript脚本MD5.js的网页; 第二步:用户在网页的 密码框中输入密码,点击提交时,先由MD5.js将密码和salt合并后散列,然后将散列值与时间戳合并后用MD5.js散列,接着将散列值发送到web服务器; 第三步:Web服务器端登录的CGI在收到登录请求后将本地储存的密码与第一步生成的随机数一同进行MD5散列,将结果与收到的散列值对比,若相同则登录成功。
3.根据权利要求2所述的具有web服务功能的嵌入式集中器系统,其特征是:所述第三步中,本地储存的密码由用户密码和salt采用MD5散列而成。
4.根据权利要求3所述的具有web服务功能的嵌入式集中器系统,其特征是:对用户的权限采用2bit来标记,00表示无访问权限,01表示可读,10表示可写,11表示可读可写; 通过将参数配置、用电信息管理以及运行检测的三个2bit合成后表示系统用户权限。
5.根据权利要求4所述的具有web服务功能的嵌入式集中器系统,其特征是:所述Web服务器的参数配置、用电信息管理以及运行检测通过对于的CGI程序完成,步骤如下: 所述参数配置包括接口配置和集中器时间设置: 所述接口配置由在集中器对应进程重启时载入修改自定义的通信接口配置文件hwcfg.conf 完成; 所述集中器时间设置由timeset.Cgi来实现; 用电信息管理: 所述用电信息管理由infomanage.cgi实现,主要步骤如下: .1)Cgi程序初始化,打开数据连接; .2)Cgi请求判断,权限检查; . 2.1)通过权限检查后,根据相应数据请求,进行查询、修改以及添加等步骤,如;完成数据库查询、数据库更新或者数据库插入后,打印返回结果,生成网页,并关闭CG1、数据库连接等; .2.2)权限检查的结果为权限不足,则打印错误信息,生成网页,并关闭CG1、数据库连接等; 运行检测: 所述运行检测过程由CGI程序使用shell后台调用运行检测程序,在检测结果出来前由浏览器每隔IOs自动刷新网页以避免连接超时,步骤如下: .1) Cgi程序初始化,判断是否有检测请求; .1.1)判断结果为有检测请求,检测程序是否在后台运行; .1.1.1)检测到后台运行程序,打印忙状态,生成网页,之后关闭CGI等; .1.1.2)检测到没有后台运行程序,运行检测进程,生成检测结果文件; .1.2)判断结果为无检测请求,检测结果是否生成; .1.2.1)检测到检测结果文件已经生成,打印检测结果,生成网页,之后关闭CGI等; .1.2.2)检测到检测结果文件没有生成,生成含自动刷新属性的网页,之后关闭CGI等。
6.根据权利要求5所述的具有web服务功能的嵌入式集中器系统,其特征是:所述web服务器具有系统自动维护机制: 所述系统自动维护机制包括系统守护进程、看门狗进程、系统应用程序校验和检测进程以及自动远程升级进程; 所述系统守护进程使用shell脚本编写,实现步骤如下: 在Linux的/etc目录下的inittab中添加该系统守护进程,并配置为respawn属性,当系统守护进程被意外终止,会被系统自动重新启动; 所述看门狗进程实现步骤如下: 当系统崩溃时,通过看门狗进程无法运行而触发硬件看门狗,从而重启系统; 所述系统应用程序校验和检测进程使用步骤如下: 首先对关键的应用程序对应的文件进行MD5校验,并与预先存储的MD5值进行比; 不断检测系统应用进程,若系统应用进程被终止,则延时10s,然后重新执行程序文件的校验,再启动该进程; 所述自动远程升级进程实现步骤如下: 自动远程升级进程定期的使用wget下载存放在基于HTTPS协议的更新服务器上的更新信息,若该信息中对应指明本硬件系统需要更新,则继续下载应用程序包; 下载完成后先进行MD5校验,校验通过后先结束对应的旧版本的程序进程,在监测程序重启这些程序前替换掉程序文件。
7.根据权利要求6所述的具有web服务功能的嵌入式集中器系统,其特征是:所述微处理器采用开关电源和线性电源组合供电。
【文档编号】H04L29/08GK103795786SQ201410024851
【公开日】2014年5月14日 申请日期:2014年1月20日 优先权日:2014年1月20日
【发明者】金心宇, 王佳乐, 郑创建 申请人:杭州百富电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1