基于C#的智慧院落监管系统的设计与实现
Design and Implementation of a Smart Courtyard Supervision System Based on C#
DOI: 10.12677/CSA.2020.105098, PDF, HTML, XML, 下载: 645  浏览: 1,005 
作者: 胡 芳:四川科技职工大学信息工程系,四川 成都;王成品*:四川慧龙科技有限责任公司,四川 成都
关键词: C#C/S架构SQL Server智能终端智慧院落监管C# C/S Architecture SQL Server Smart Terminal Smart Courtyard Supervision
摘要: 社区院落是社会的基本单元,是巩固党的执政基础的重要基石。为推动社区院落群众文化生活繁荣兴盛,在基层群众娱乐中进一步加强基层社区治理和文化建设,强化党政方针政策在基层的宣传,基于C#语言开发了智慧院落监管系统。系统采用C/S技术架构,依托SQL Server2008R2进行数据库设计,实现了社区院落宣传播放任务的编排、智能终端的控制和监视,实现通讯服务器与智能终端之间的流畅通讯。为方便社区管理人员远程监控社区各院落智能终端的工作状况及播放内容,实现了监管端APP。介绍了系统开发的主要方案及软件工作流程,阐述了系统主要业务实现过程,如:文件和版块管理、节目单的编排及控制、智能终端工作状态查询等,描述了系统设计的关键类及关键算法流程、主要数据表的结构及表间关系。经实际应用,系统稳定可靠,对丰富社区群众文化活动及强化政策宣讲起到了推动作用。
Abstract: Community courtyards are the basic unit of society, cozy space for people to live in harmony, and an important cornerstone to consolidate our party’s governing foundation. In order to promote the prosperity of cultural life in community courtyards, further strengthen grassroots community governance and culture construction, and enhance the promotion of our party and government’s poli-cies at the grassroots level, we developed a smart courtyard supervision system based on C# language. The system adopts C/S structure, which enables the publicity and broadcasting tasks in community courtyards, the control and monitoring of intelligent terminals, and the smooth communication between communication servers and intelligent terminals. The database is designed based on SQL Server 2008R2. In order to facilitate the community management personnel to remotely monitor the working status and playback content of the smart terminals in various courtyards, a supervision APP has been implemented as well. This article introduces the main program and software workflow of the system, and describes the main business implementation of the system such as: file and plate management, program schedule and control, intelligent terminal work status query, etc. Additionally, this paper also demonstrates the key classes and algorithms of the system, the structure of the main data tables, and the relationships between the tables. The practical application shows that the system is stable and reliable. It has promoted the enrichment of community cultural activities and strengthened policy promotion.
文章引用:胡芳, 王成品. 基于C#的智慧院落监管系统的设计与实现[J]. 计算机科学与应用, 2020, 10(5): 950-959. https://doi.org/10.12677/CSA.2020.105098

1. 系统结构设计

智慧院落监管系统的实现,是媒体播放、数据推送、数据库、通讯技术、远程控制以及嵌入式等技术的综合运用。该系统利用智能终端将各类媒体信息在社区院落的显示设备上展现(如:电视机),比如播放各种政务信息、在线直播电视节目。智能终端向上通过IP网络与系统相连并实现数据交换,向下与显示终端相连。

系统由三大模块组成,a) 智慧院落监管操作平台:负责与操作员的接口,操作员通过这个平台完成系统配置、播放任务的编排以及终端工作状态监控等。b) 通讯平台:负责与智能终端的通讯,并负责与“监管操作平台”完成数据交互。c) 智能终端,观看电视直播,后台线程实现与“通讯平台”的通讯,实现各类节目无缝切换。为方便社区管理人员远程管理,开发了远程监管移动APP。社区管理人员利用APP,可在手机上查看各院落智能终端的状态以及正在播放的节目等信息。

系统逻辑结构示意如图1所示。

2. 相关技术

系统采用C/S [1] [2] [3] 技术架构。C/S架构优点是系统响应快、用户体验好、能充分利用客户机资源(如打印机、数据缓存)等。利用跨平台开发框架Xamarin.Mobile [4] [5] [6] 开发移动APP。Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及Android SDK紧密整合。采用SQLServer2008R2进行数据管理。为保证数据库服务器和数据库的高可用性和数据的高安全性,部署数据库故障转移集群 [7] [8] [9] [10]。搭建SVN (Subversion,一个自由开源的版本控制系统)服务器进行版本管理,辅助以RDLC、JS框架库等丰富数据呈现效果 [11]。开发环境选择Visual Studio 2012,开发语言为C#。

Figure 1. Schematic diagram of system logic structure

图1. 系统逻辑结构示意图

3. 系统数据库设计

按系统功能需求,共设计了4类表。以下列出系统主要表的详细信息。

1) 系统管理参数类,供系统管理和调度用

系统信息表,表结构如表1所示。

Table 1. System information table

表1. 系统信息表

2) 电视直播相关表

a. 智能终端信息表,表结构如表2所示。

索引:mac_addr (唯一), courtyard _id

Table 2. Intelligent terminal information table

表2. 智能终端信息表

b. 直播节目信息表,表结构如表3所示。

索引:name (唯一)

关系:live_program _id ->live_program_addr :live_program _id

Table 3. Live program information table

表3. 直播节目信息表

c. 播放任务清单,表结构如表4所示。

索引:community_id, play_task_timeId

关系:play_list_id->play_plate_list :play_list_id

Table 4. Play task list

表4. 播放任务清单

d. 播放版块列表,表结构如表5所示。

索引:play_ task _id, plate_id

Table 5. Play section list

表5. 播放版块列表

3) 操作员权限相关表

用户账户信息表,表结构如表6所示。

索引:account (唯一)

Table 6. User account information table

表6. 用户账户信息表

4) 文件播放业务的相关表

a. 文件信息表,表结构如表7所示。

索引:name (唯一), sha1, user_id

关系:file_id->plate_file_list: file _id

Table 7. File information table

表7. 文件信息表

b. 版块文件列表,表结构如表8所示。

索引:plate_id, file _id

Table 8. Section file list

表8. 版块文件列表

4. 系统功能设计与实现

系统功能设计如图2所示。系统功能主要由文件与板块管理、播放节目编排、系统管理三大模块构成。关键业务涉及文件与版块管理、播放节目控制两部分。

4.1. 文件和板块管理

4.1.1. 数据传输

监管系统将文件(安排播放的图片、音频、视频等)上传至通讯平台服务器,通讯平台接收并保存。通讯平台服务器与智能终端交互,文件下载至智能终端。

智能终端每隔一段时间(数十秒到几分钟)与通讯平台进行“心跳”通讯,“心跳”通讯时“通讯平台”告知智能终端文件有变,需要进行额外的数据通讯,此时智能终端可以发起数据通讯,以完成数据的下载或者更新。图3所示为系统数据通讯示意图。

Figure 2. System function diagram

图2. 系统功能示意图

Figure 3. Data communication diagram

图3. 数据通讯示意图

以下列出部分通讯数据包格式。

1) 心跳数据包(通讯服务器ßà智能终端)

2) 文件上传数据包 (监管系统à通讯服务器)

4.1.2. 主要类描述

文件信息管理类Form_file_info:

显示已有的文件详细信息,包括文件名称、状态、文件大小等,当点击名文件是,通过鼠标右键,可弹出下列菜单:以供用户选择操作,这些操作至少应该包括:新增,修改文件信息,删除文件。在退出本功能时:判断是否有未上传的文件,如果有,则提示是否立即启动文件上传,文件上传由Form_FileToServerMoni类实现。

文件上传监视Form_FileToServerMoni类:

负责显示上传文件的进度以及上传行为的控制(取消上传或者继续上传)。实现文件上传的调度、上传进度的刷新显示、上传过程的控制以及接收来自文件上传类CfileUpToServerMain的消息并进行显示和处理。一旦收到所有文件上传成功完成的消息,则界面上显示全部上传完成。

开始上传时,调用CfileUpToServerMain类,通过传入文件file列表,实现文件的批量上传。在上传过程中,通过消息机制发送每个文件的进度给Form_FileToServerMonis类,或者发送上传过程中的出错消息。

Form_FileToServerMoni、CfileUpToServerMain、CfileUpToServer 3个类之间的关系如图4所示:

Figure 4. The relationship between the three classes

图4. 三个类之间的关系

CfileUpToServerMain类通过多线程机制分别启动单个文件的上传,单个文件的上传由类CfileUpToServer实现。

类CfileUpToServer封装数据包,与下位机进行文件传输,算法如下:

1) 打开要传送的文件。

2) 连接到下位机,发送请求包,接收应答包。

3) 解析应答包:确定开始发送的位置(断点续传)。

4) 定位到要开始发送文件的位置。

5) 读取本次发送的数据长度,发送File_up_data_packetHead包,如收到“准备好”应答,则执行6)。

6) 读文件数据,封装数据并发送,重复6)直到文件数据全部发送完成。

7) 关闭文件。向CfileUpToServerMain发送文件成功传输消息。

在以上步骤中,如出现错误,则中断发送,并向CfileUpToServerMain发送错误消息。

4.2. 播放节目控制

该模块主要功能是完成节目单的编排,在节假日智能终端将不会遵从节目单设定的要求,因此用户在设定的节假日内,智能终端不受节目单的控制。在非节假日,智能终端的工作模式将按照节目单进行。在特定时期,可能需要紧急启动播放某个宣传片,因此通过“应急播放”可以“立即”让智能终端切换到需要播放的宣传片。终端状态的功能是查看所有终端设备的工作状态、正在播放的节目信息等。

主要实现如下功能:

1) 节目编排:显示时段表,以及时段播放的版块;修改或者设置某时段要播放的版块列表;调整版块列表中版块的播放顺序;选择某个时段,显示该时点播放的所有节目顺序。运行界面如图5所示。

2) 假日预约:设定假日时间段,包括假日名称、开始和结束时间。可以设置多个假日时段。

3) 应急播放:设定在进行应急播放时要播放的节目,可以是视频或者图片文件。

4) 查看智能终端状态:显示所有智能终端的信息和当前状态信息。运行效果见图6

Figure 5. Programming interface

图5. 节目编排界面

Figure 6. Smart terminal status

图6. 智能终端状态

5. 结束语

本文阐述了基于C#的智慧院落监管系统的开发过程,分析了系统中主要实体的属性和相互关系;利用SQL Server 2008 R2设计了数据库;简要阐明了在系统开发中的关键业务、业务实现中设计的关键类及算法流程。系统现已交付使用,在近2年的上线运行中,系统运行正确、稳定,对当地社区文化建设、思想建设及丰富社区群众文化生活起到了较好的促进作用。

NOTES

*通讯作者。

参考文献

[1] 盛智勇, 安颀, 曲洪权, 等. 基于C/S架构的光纤智能预警系统的软件设计[J]. 吉首大学学报(自然科学版), 2017, 38(5): 34-39.
[2] 徐磊. 基于C/S结构的卫生人才库系统的设计与开发[C]//中华医学会医学工程学分会第十五次全国学术年会, 2015.
[3] 赵晓东, 李亚静, 申欢欢. 基于B/S和C/S的棉花仓储监控平台架构设计[J]. 河北企业, 2014(5): 141.
[4] Tratnik, G. (2015) Development of Cross Platform Mobile Application Using Xamarin Forms. University of Ljubljana, Ljubljana.
[5] El-Kassas, W.S., Abdullah, B.A., Yousef, A.H., et al. (2016) Enhanced Code Conversion Approach for the Integrated Cross-Platform Mobile Development (ICPMD). IEEE Transactions on Software Engineering, 42, 1036-1053.
https://doi.org/10.1109/tse.2016.2543223
[6] Peppers, J. (2014) Xamarin Cross-Platform Application Develop-ment Develop Production-Ready Applications for iOS and Android Using Xamarin. Packt Publishing, Birmingham.
[7] 刘建军. Windows2008下Sqlserver2008数据库故障转移集群部署方案探析[J]. 长春大学学报, 2013, 23(10): 1252-1254, 1258.
[8] 孙立威, 张晓莉, 王淑江. 精通Windows server2008系统管理与群集[M]. 北京: 中国铁道出版社, 2009.
[9] 史文路. 双机热备份系统的研究与设计[D]: [硕士学位论文]. 南京: 南京工业大学, 2006.
[10] 梁耀, 黄华, 权金虎, 张君. 核电监督性监测系统数据库双机热备设计[J]. 核电子学与探测技术, 2017, 37(12): 1184-1187.
[11] 马会. 公安机关案件管理系统的设计与实现[D]: [硕士学位论文]. 成都: 电子科技大学, 2013.