deskvideosys 办公行为管理软件的部署架构

deskvideosys 办公行为管理软件服务器端使用的是 B/S 架构,采用 golang+vue 框架来编程,agent 端直接使用的是 vc++编程框架,然后通过tcp协议连接服务器端,所以deskvideosys架构 可以作为终端安全管理,上网行为管理,数据防泄漏等产品的基本框架,目前开源代码己经打通了 agent 端与 服务器端的通信,可以在此架构上直接添加代码就可完成二次开发,下图是架构图:

deskvideosys 办公行为管理软件的部署架构_第1张图片

从架构图上能看出,服务端端运行一个 web 服务与一个后端管理服务,Agent 端运行着 Agent 服务,后端管理服务可以接受多个agent服务的连接,

Agent 服务收集终端的数据并管控终端, web 服务主要提供前端展示功能和后端管理服务的通信,后端管理服务采用插件制,主要负责对收集过来数据的清洗与分析,把分析好的数据向 web 端展示,控制前端的命令信息分发给agent 端,

下面大家可以看下web服务的框架代码:

func main() {
        flag.StringVar(&utils.FlagVarConfFile, "config", "", "configure file path")
        flag.Parse()
        tail := flag.Args()
        log.SetPrefix("[DeskVideosys] ")
        log.SetFlags(log.Lshortfile | log.LstdFlags)

        log.Printf("git commit code:%s", gitCommitCode)
        log.Printf("build date:%s", buildDateTime)
        routers.BuildVersion = fmt.Sprintf("%s.%s", routers.BuildVersion, gitCommitCode)
        routers.BuildDateTime = buildDateTime
 

        sec := utils.Conf().Section("service")
        svcConfig := &service.Config{
                Name:        sec.Key("name").MustString("DeskVideosys_Service"),
                DisplayName: sec.Key("display_name").MustString("DeskVideosys_Service"),
                Description: sec.Key("description").MustString("DeskVideosys_Service"),
        }

        httpPort := utils.Conf().Section("http").Key("port").MustInt(10008)
        p := &program{
                httpPort:   httpPort,
        }
        s, err := service.New(p, svcConfig)
        if err != nil {
                log.Println(err)
                utils.PauseExit()
        }
 

你可能感兴趣的:(前端,系统安全,架构)