具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的基站示意图,如图1所示,本发明实施例提供一种基站,该基站包括WEB服务器模块10和基站业务程序模块20,所述WEB服务器模块10包括WEB前台101和WEB后台102,所述WEB后台102中配置有所述基站业务程序模块20的库文件,当所述基站业务程序模块20进行软件版本更新时,所述WEB后台102中配置的库文件同步更新;
所述WEB前台101用于获取用户输入的操作维护命令,并将所述操作维护命令发送到所述WEB后台102;
所述WEB后台102用于将所述操作维护命令封装成人机语言MML命令,并将MML命令发送到所述基站业务程序模块20。
具体来说,传统的web开发需要一整套完善的流程,包括需求收集、程序设计、程序编码、程序测试等。而通信基站设备功能复杂,程序设计时需要考虑多个模块间的接口和处理流程,程序编码量大,程序测试繁杂,整个开发周期很长。
本发明实施例提供的基站,针对传统的web开发的缺陷,将基站的管理维护系统,由当前的CS(客户端/服务器)模式改为BS(浏览器/服务器)模式,更符合用户的使用习惯;完全兼具LMT客户端对基站的操作管理功能;无需新增各个模块间的接口和处理流程;开发周期短,新增风险小;基站软件版本变更时无需另行发布客户端管理软件;并且,占用存储空间小。
在基站系统开发过程中,首先进行web服务器部署。
web服务器用于给用户提供web连接和管理基站的功能。
将web服务器部署到基站上,部署之后的基站包括WEB服务器模块10和基站业务程序模块20。WEB服务器模块10包括WEB前台101和WEB后台102。
WEB后台102中配置有基站业务程序模块20的库文件,当基站业务程序模块20进行软件版本更新时,WEB后台102中配置的库文件同步更新。
即,在后续基站软件升级或者配置表项变更时,只需要在web服务器上统一修改,用户侧只需要用web浏览器重新登录,即可从web服务器上获取更新后的数据,无需变更客户端软件。用户可以使用通用的web浏览器来访问WEB服务器,例如,IE、火狐、Chrome等。
受制于基站设备的处理器性能以及存储空间等限制,同时需要考虑到安全、稳定性、性能需求和对PHP的支持度等问题,因此,需要在基站部署一款轻量级的web服务器。例如,采用apache 1.3.39作为web服务器软件。
在web服务器部署过程中,为解决不同平台兼容性问题,首先要针对基站平台将apache源码交叉编译。
编译完成后,删除apache最小系统中的冗余文件,并通过strip方法剥离可执行程序的符号信息和调试信息,使可执行文件变小。最终整个apache软件包只有1Mbytes左右。
最后按如下步骤将apache移植到基站软件版本中:
1、将交叉编译好的apache文件夹上传到..\firmware\opensource目录下。
2、修改opensource目录下Makefile,添加apache程序。代码如下:
3、修改apache目录下Makefile。代码如下:
4、修改基站启动脚本。代码如下:
5、将以上修改同步到基站软件版本编译服务器上,后续编译出的基站软件版本都包含apache服务器。
本发明实施例中的WEB前台101的开发语言可以采用html、javascript和css等。
WEB前台101用于在web浏览器上呈现基站管理页面,包括web页面的结构、web的外观视觉表现以及web层面的交互实现。
在对基站进行管理维护过程中,web前台101主要实现对基站的配置和管理,即,获取用户输入的操作维护命令,并将操作维护命令发送到WEB后台102。
web前台101可以根据不同用户类型和等级设计不同的主页,不同主页可以链接进入不同的功能单元。基本功能单元包含配置表和管理表。通过表单提交实现对配置和管理表项的操作,包含添加、删除、修改、保存等。
本发明实施例中的WEB后台102的开发语言可以采用PHP等。
WEB后台102用于接收web前台101发送的操作维护命令,并将操作维护命令封装成MML命令,再将MML命令发送到基站业务程序模块20。WEB后台102是基站管理的枢纽部分。
基站的功能全面,各个模块间的接口和处理流程复杂。要实现web后台对基站的管理,考虑到兼容性和稳定性,之前的接口和处理流程不能随意更改,但是重新设计一套web管理功能,需要新增大量的接口和处理流程,这就会极大延长开发周期和开发成本。而当前的基站已有一套管理系统,即使用LMT软件,通过MML命令对基站进行操作和管理。
综合考虑兼容性、稳定性、开发周期和开发成本,本发明实施例中的WEB后台10开发中使用通用接口函数对MML命令进行封装,实现对基站的操作和管理,包括添加、删除、修改、查询、保存配置等。这样既兼容以前的接口,又无需新增复杂的处理流程,就能实现基站的web管理功能。
本发明实施例提供的基站,在提供一整套web管理功能的前提下,通过通用接口函数封装MML命令,实现对基站的操作管理,不仅完全兼容LMT对基站的操作管理功能,而且无需新增各个模块间的接口和处理流程,开发周期短,新增风险小。
本发明实施例通过BS(浏览器/服务器)模式管理基站,更符合用户的使用习惯,并且在基站软件版本变更时无需另行发布客户端管理软件;采用的web服务器体积小,有助于在通信基站设备上部署;在web后台开发过程中,通过通用接口函数封装MML命令,无需新增其他接口,即可实现对基站的操作管理,可以快速完成后台开发,并完全兼容以前的接口和管理功能,开发风险小,开发速度快,短时间内就可以完成基站web功能开发;在web前台开发中,调用通用接口函数获取配置,在浏览器上加载网页后即可显示最新配置。
本发明实施例提供的基站,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。
基于上述任一实施例,进一步地,在用户登录时,所述WEB前台还用于获取用户输入的身份信息,并将所述身份信息发送到所述WEB后台;
所述WEB后台还用于对用户的身份信息进行验证。
具体来说,为了提高系统的安全性和可靠性,在对基站进行管理维护过程中,用户要想通过WEB服务器10实现对基站的管理和维护,首先需要登录WEB服务器10。
在用户登录时,WEB前台101还用于获取用户输入的身份信息,并将身份信息发送到WEB后台102。
WEB后台102接收到WEB前台101发送的用户的身份信息之后,对用户的身份信息进行验证。通过身份验证之后的用户才是合法用户,才可以对基站进行管理和维护。
本发明实施例提供的基站,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。并且,通过对用户的身份进行认证,保证了系统的安全性和可靠性。
基于上述任一实施例,进一步地,所述WEB后台还用于监听所述基站业务程序模块的数据发送接口,并接收所述基站业务程序模块发送的响应消息,然后,对所述响应消息进行解析,最后将解析后的响应消息发送到所述WEB前台。
具体来说,在对基站进行管理维护过程中,WEB服务器模块10将用户输入的操作维护命令发送到基站业务程序模块20之后,基站业务程序模块20根据操作维护命令进行相应的配置和操作,并且将响应消息发送到WEB服务器模块10,并最终通过WEB浏览器呈现给用户。
在反馈响应消息的过程中,WEB服务器模块10中的WEB后台102持续监听基站业务程序模块20的数据发送接口,并接收基站业务程序模块20发送的响应消息,然后,对响应消息进行解析,最后将解析后的响应消息发送到WEB前台101,通过WEB浏览器呈现给用户。
本发明实施例提供的基站,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。并且,用于可以使用通用的WEB浏览器实现对基站的管理和维护。
基于上述任一实施例,进一步地,在用户的身份信息验证通过之后,所述WEB后台还用于与所述基站业务程序模块建立socket连接。
具体来说,在用户登录WEB服务器时,WEB前台101还用于获取用户输入的身份信息,并将身份信息发送到WEB后台102。
WEB后台102接收到WEB前台101发送的用户的身份信息之后,对用户的身份信息进行验证。通过身份验证之后的用户才是合法用户,才可以对基站进行管理和维护。
在用户的身份信息验证通过之后,WEB后台102与基站业务程序模块20建立socket连接。
在web后台102的开发中,使用PHP建立socket连接。web后台102将通用MML命令封装成接口函数,通过socket连接发送到基站业务程序模块20。
本发明实施例提供的基站,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。
基于上述任一实施例,对web服务器部署、web后台开发配置、web前台开发配置等的基本要求如下:
一、web服务器部署:
按照上述实施例中的方法部署web服务器。基站启动后,可以查看到httpd的进程在后台运行,代码如下:
二、Web前台开发配置:
web前台开发中,根据用户类型和等级设计不同的主页,不同主页可以链接进入不同的功能单元。基本功能单元参考LMT,表名和id号保持与LMT配置表一致。对配置表项的操作,包含添加、删除、修改、保存等,通过表单提交到web后台。
为了保持配置的实时性,在载入页面前,通过表单提交当前页面的配置查询命令到web后台,获取到配置后,更新到当前页面并显示在web浏览器上。
web前台开发语言是html、javascript和css。通过通用css模版实现基本的页面布局;使用html将LMT各个配置管理单元进行整合和分类;javascript实现配置的实时更新和参数校验。
图2为本发明实施例提供的web前台网页处理流程示意图,如图2所示,web前台网页处理流程如下:
1、用户在web浏览器上点击进入网页,网页载入空配置表;
2、封装当前配置表的MML查询命令;
3、调用通用接口函数得到查询结果;
4、解析查询结果,获取表单数值;
5、调用Javascript更新web浏览器上的表单数值。
至此,一个完整的页面就呈现在用户面前。
三、web后台开发配置:
web后台开发使用PHP。apache配置中默认不支持PHP,需要将apache配置修改为支持PHP,然后交叉编译PHP,将编译生成的库文件libphp5.so拷贝到apache文件夹的libexec目录下。
apache配置PHP相关代码修改如下:
LoadModule php5_module libexec/libphp5.so
DirectoryIndex index.html index.php3 index.php index.phtmldefault.php
ScriptAlias/php5/"/usr/local/php/bin/"
AddType application/x-httpd-php.php.php3.htm.phtml.php4.php5
AddType application/x-httpd-php-source.phps
Action application/x-httpd-php"/php5/php-cgi"
PHPIniDir/usr/local/apache/conf/php.ini
PHP交叉编译参数如下:
CC=ppce500v2-wrswrap-linux-gnuspe-gcc./configure--host=powerpc-wrs-linux-gnu--prefix=/usr/local/php--enable-pdo--with-sqlite--with-pdo-sqlite--with-zlib=/usr/local/ppc/--with-libxml-dir=/usr/local/ppc/--without-iconv--enable-opcache=no--with-mysql--with-apxs=/usr/local/apache/bin/apxs--enable-sockets--enable-mbstring
LMT通过MML命令对基站进行操作和管理,本质上是通过LMT软件和基站建立socket连接,往基站固定的端口发送消息并接收响应消息后在LMT上显示结果。
在web后台102的开发中,使用PHP建立socket连接,并将通用MML命令封装成接口函数,其中不同的消息内容和命令分别设计为接口函数的参数info和command,代码如下:
function lmt_mdy($info,$command)
function lmt_lst($info,$command)
web后台接收前台发送的表单信息后,填充通用接口函数中info和command信息,直接调用接口函数,发送到基站接收端口。
四、通用接口函数处理流程:
MML命令格式如表1所示,MML命令格式,即LMT和LTE基站之间应用层接口总体格式。
表1 MML命令格式
字节顺序 |
内容 |
0 |
SynByteH |
1 |
SynByteMH |
2 |
SynByteML |
3 |
SynByteL |
4 |
LenH |
5 |
LenL |
6 |
LinkId |
7 |
CmdType |
8 |
TransIdH |
9 |
TransIdL |
10 |
……(消息净荷)s |
其中,0~3字节(SynByteH,SynByteMH,SynByteML,SynByteL)是同步字节,具体值为0x16161616,高字节在前;
4~5字节(LenH,LenL)是消息长度(不包括同步字节和消息长度字节本身的长度,包括消息长度字段以后的所有内容),高字节在前;
6字节是连接Id(LinkId),区分来自哪一个窗口/哪一条通道(如区分MML台、告警台、调试台等);
7字节是命令类型(CmdType),区分是二进制命令还是MML命令,1表示二进制命令,2表示MML命令;
8~9是两个字节的流水号(TransIdH,TransIdL),高字节在前;
之后所有字节是具体内容,对于MML命令,就是字符串,对应通用接口函数中的“info”。
图3为本发明实施例提供的通用接口函数实现MML命令封装、发送和接收的处理流程示意图,如图3所示,通用接口函数实现MML命令封装,并发送到基站业务程序接口,同时接收并解析响应消息,处理流程如下:
1、通过字符串函数chr将同步字节、消息长度、连接ID、命令类型、流水号的内容,按照每字节依次转换成字符,代码如下:
$SynByteH=chr(0x16);
$SynByteMH=chr(0x16);
$SynByteML=chr(0x16);
$SynByteL=chr(0x16);
$LenH=chr($LenH);
$LenL=chr($LenL);
$LinkId=chr(0x1);
$CmdType=chr(0x2);
$TransIdH=chr($TransIdH);
$TransIdL=chr($TransIdL);
2、将消息头和具体消息内容一起拼接成一条完整的消息流,代码如下:
$head=$SynByteH.$SynByteMH.$SynByteML.$SynByteL.$LenH.$LenL.$LinkId.$CmdType.$TransIdH.$TransIdL;
$command_MML=$head.$info;
3、发送到基站业务程序接口,代码如下:
socket_write($socket,$command_MML,strlen($command_MML))
4、持续监听基站业务程序接口,代码如下:
while($out=socket_read($socket,8192))
5、接收到反馈消息后,按照MML命令格式解析消息内容,通过字符串函数mb_convert_encoding将结果转换成utf-8格式,输出到web浏览器上。代码如下:
五、Web操作管理流程:
图4为本发明实施例提供的基站web操作管理流程示意图,如图4所示,Web服务器和web前后台配置完成后,即可对基站进行操作管理。以下是基站web操作管理流程:
1、在Web浏览器输入基站IP进入登录界面;
2、用户名密码验证通过后进入对应用户的主页;
3、操作管理界面提交表单后,表单数据通过HTTP POST方法发送;
4、web后台接收消息后,按照MML命令格式需求填充通用接口函数中的info和command信息;
5、web后台调用通用接口函数发送到基站接收MML命令的socket接口;
6、接收响应消息后在web浏览器上显示结果。
基于上述任一实施例,图5为本发明实施例提供的基站的WEB配置管理方法示意图,如图5所示,本发明实施例提供一种基站的WEB配置管理方法,所述基站为上述任一实施例中所述的基站,该方法的执行主体为上述任一实施例所述的WEB服务器模块,该方法包括:
步骤S501、获取用户输入的操作维护命令,并将所述操作维护命令发送到WEB后台;
步骤S502、将所述操作维护命令封装成人机语言MML命令,并将MML命令发送到基站业务程序模块。
具体来说,在对基站进行管理维护过程中,WEB服务器模块中的web前台主要实现对基站的配置和管理,即,获取用户输入的操作维护命令,并将操作维护命令发送到WEB服务器模块中的WEB后台。
WEB后台用于接收web前台发送的操作维护命令,并将操作维护命令封装成MML命令,再将MML命令发送到基站业务程序模块。
本发明实施例提供的基站的WEB配置管理方法,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。
基于上述任一实施例,进一步地,所述获取用户输入的操作维护命令之前,还包括:
获取用户登录时输入的身份信息;
对用户的身份信息进行验证。
具体来说,为了提高系统的安全性和可靠性,在对基站进行管理维护过程中,用户要想通过WEB服务器实现对基站的管理和维护,首先需要登录WEB服务器。
在用户登录时,WEB前台还用于获取用户输入的身份信息,并将身份信息发送到WEB后台。
WEB后台接收到WEB前台发送的用户的身份信息之后,对用户的身份信息进行验证。通过身份验证之后的用户才是合法用户,才可以对基站进行管理和维护。
本发明实施例提供的基站的WEB配置管理方法,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且,通过对用户的身份进行认证,保证了系统的安全性和可靠性。
基于上述任一实施例,进一步地,所述将MML命令发送到基站业务程序模块之后,还包括:
接收所述基站业务程序模块发送的响应消息;
对所述响应消息进行解析;
将解析后的响应消息通过WEB浏览器显示。
具体来说,在对基站进行管理维护过程中,WEB服务器模块将用户输入的操作维护命令发送到基站业务程序模块之后,基站业务程序模块根据操作维护命令进行相应的配置和操作,并且将响应消息发送到WEB服务器模块,并最终通过WEB浏览器呈现给用户。
在反馈响应消息的过程中,WEB服务器模块中的WEB后台持续监听基站业务程序模块的数据发送接口,并接收基站业务程序模块发送的响应消息,然后,对响应消息进行解析,最后将解析后的响应消息发送到WEB前台,通过WEB浏览器呈现给用户。
本发明实施例提供的基站的WEB配置管理方法,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。并且,用于可以使用通用的WEB浏览器实现对基站的管理和维护。
基于上述任一实施例,进一步地,所述将MML命令发送到基站业务程序模块之前,还包括:
建立与所述基站业务程序模块之间的socket连接。
具体来说,在用户登录WEB服务器时,WEB前台还用于获取用户输入的身份信息,并将身份信息发送到WEB后台。
WEB后台接收到WEB前台发送的用户的身份信息之后,对用户的身份信息进行验证。通过身份验证之后的用户才是合法用户,才可以对基站进行管理和维护。
在用户的身份信息验证通过之后,WEB后台与基站业务程序模块建立socket连接。
在web后台的开发中,使用PHP建立socket连接。web后台将通用MML命令封装成接口函数,通过socket连接发送到基站业务程序模块。
本发明实施例提供的基站的WEB配置管理方法,将WEB服务器部署到基站中,同时在WEB服务器中配置基站业务程序模块的库文件,可满足用户通过任意浏览器实现对基站的操作管理,无需安装LMT客户端,并且当基站软件升级时,用于无需进行不必要的操作,对基站的管理和维护操作便捷,效率高。
图6为本发明实施例提供的电子设备的结构示意图,如图6所示,所述设备包括:处理器(processor)601、存储器(memory)602、总线603,以及存储在存储器上并可在处理器上运行的计算机程序。
其中,处理器601和存储器602通过总线603完成相互间的通信;
处理器601用于调用并执行存储器602中的计算机程序,以执行上述各方法实施例中的步骤,例如包括:
获取用户输入的操作维护命令,并将所述操作维护命令发送到WEB后台;
将所述操作维护命令封装成人机语言MML命令,并将MML命令发送到基站业务程序模块。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例中的步骤,例如包括:
获取用户输入的操作维护命令,并将所述操作维护命令发送到WEB后台;
将所述操作维护命令封装成人机语言MML命令,并将MML命令发送到基站业务程序模块。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述各方法实施例中的步骤,例如包括:
获取用户输入的操作维护命令,并将所述操作维护命令发送到WEB后台;
将所述操作维护命令封装成人机语言MML命令,并将MML命令发送到基站业务程序模块。
以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。