当前位置: 技术问答>linux和unix
项目改为改为b/s架构,能否给点建议?
来源: 互联网 发布时间:2016-04-07
本文导语: linux平台 原项目old:单个应用程序(c++),控制多个设备,在应用程序端可以查看设备状态和可用共享资源(目录层次), 程序与多个设备之间通信和设备发现使用第三方库x.so。 新项目new:现在想改为web方式,使用浏...
linux平台
原项目old:单个应用程序(c++),控制多个设备,在应用程序端可以查看设备状态和可用共享资源(目录层次),
程序与多个设备之间通信和设备发现使用第三方库x.so。
新项目new:现在想改为web方式,使用浏览器控制多个设备,并查看设备状态和可用资源(文件等),
程序与多个设备之间通信和设备发现还是使用三方库x.so
我的想法是把系统分为如下几个部分
1、构建一个服务端程序,使用c++编写,调x.so与设备通信和获取设备共享资源,并写入数据库如mysql.
2、在网络添加一台web服务器,使用apache+mysql;
3、客户端使用web浏览器访问web服务器获取设备信息和控制设备;
我对web不熟,有几个地方有疑问:
1、设备控制:
假设我写n个设备操作独立程序放在web服务器端,使用(程序1 参数1 参数2)的形式控制设备,我在web方式下如何调用这些独立程序?
不知道还有没有更好的建议?(我原来有想法是使用php扩展调用x.so,php与c++映射太繁琐,我抛弃了这种做法,
还有一种是使用php扩展调用独立程序)
2、设备上目录为多层,我想实现点击目录进入下一层的功能,不知道有什么好的做法没有?(不能使用默认文件浏览方式,界面要自己定制)?
(把每次点击产生的目录和文件信息存入mysql,然后通过web访问mysql,并显示在浏览器上)
3、对于新项目new不知道那位大侠能给个更好的架构,不局限于我的想法。我只懂c/c++,web编程基本是白痴,能否推荐能快速开发该项目的
工具、web编程语言,最好易上手的?
原项目old:单个应用程序(c++),控制多个设备,在应用程序端可以查看设备状态和可用共享资源(目录层次),
程序与多个设备之间通信和设备发现使用第三方库x.so。
新项目new:现在想改为web方式,使用浏览器控制多个设备,并查看设备状态和可用资源(文件等),
程序与多个设备之间通信和设备发现还是使用三方库x.so
我的想法是把系统分为如下几个部分
1、构建一个服务端程序,使用c++编写,调x.so与设备通信和获取设备共享资源,并写入数据库如mysql.
2、在网络添加一台web服务器,使用apache+mysql;
3、客户端使用web浏览器访问web服务器获取设备信息和控制设备;
我对web不熟,有几个地方有疑问:
1、设备控制:
假设我写n个设备操作独立程序放在web服务器端,使用(程序1 参数1 参数2)的形式控制设备,我在web方式下如何调用这些独立程序?
不知道还有没有更好的建议?(我原来有想法是使用php扩展调用x.so,php与c++映射太繁琐,我抛弃了这种做法,
还有一种是使用php扩展调用独立程序)
2、设备上目录为多层,我想实现点击目录进入下一层的功能,不知道有什么好的做法没有?(不能使用默认文件浏览方式,界面要自己定制)?
(把每次点击产生的目录和文件信息存入mysql,然后通过web访问mysql,并显示在浏览器上)
3、对于新项目new不知道那位大侠能给个更好的架构,不局限于我的想法。我只懂c/c++,web编程基本是白痴,能否推荐能快速开发该项目的
工具、web编程语言,最好易上手的?
|
1、直接扩展调用独立程序就可以。
2、设备目录为多层?你想使用openview的界面?参考下OPENBASE吧,google一下OPENBASE,看一下这种效果是不是你想要的。
3、web语言没有确定么?也就是不一定要使用php+mysql?
简单框架的话,你的框架对于同步问题考虑的不多?
像你这样说的可能会在信息同步上出现问题。因为是B/S框架,就要考虑多人同时并发操作。看到的状态不见得是实际状态。而且,不知道你打算怎么将后台数据库的数据推到浏览器端?这也是2楼的同志没有解决的问题。如果使用页面定时自动刷新的话,能实现,但是要考虑滞后问题。也就是说,必须建立一个真正的server进程,主要是该进程来进行硬件状态的维护和控制,数据库中的状态只是该进程数据的一个备份映射。这样,对于滞后的命令就可以方便的判断和舍弃了。而web页面端则始终是从数据库取得画面表示用数据。楼主斟酌一下。
另外,建议将与数据库打交道的那些接口剥离,成为动态库或者成为守护进程。我个人在这种情况下偏好使用守护进程来处理数据库操作。
2、设备目录为多层?你想使用openview的界面?参考下OPENBASE吧,google一下OPENBASE,看一下这种效果是不是你想要的。
3、web语言没有确定么?也就是不一定要使用php+mysql?
简单框架的话,你的框架对于同步问题考虑的不多?
像你这样说的可能会在信息同步上出现问题。因为是B/S框架,就要考虑多人同时并发操作。看到的状态不见得是实际状态。而且,不知道你打算怎么将后台数据库的数据推到浏览器端?这也是2楼的同志没有解决的问题。如果使用页面定时自动刷新的话,能实现,但是要考虑滞后问题。也就是说,必须建立一个真正的server进程,主要是该进程来进行硬件状态的维护和控制,数据库中的状态只是该进程数据的一个备份映射。这样,对于滞后的命令就可以方便的判断和舍弃了。而web页面端则始终是从数据库取得画面表示用数据。楼主斟酌一下。
另外,建议将与数据库打交道的那些接口剥离,成为动态库或者成为守护进程。我个人在这种情况下偏好使用守护进程来处理数据库操作。