对等网络模式下社区管理系统设计
2020-05-16郑晓健
郑晓健,李 彤
(1. 昆明理工大学津桥学院 电信与信息工程学院,云南 昆明 650106;2. 云南农业大学 大数据学院,云南 昆明 650201)
0 引言
大学的学生社区一直是维稳工作的重点。学校的要求包括:阻止不法人员随意进入学生社区,保障学生的人身和财产安全;辅导员、班主任定期走访学生,了解学生思想状况解决学生的一些实际问题;组织丰富多样的社区活动,引导学生健康成长;防火防盗管理,保障社区安全。但是社区低效的传统的手工管理方式已经不适应要求,需要实现信息化和智能化。
除学生工作部以外,学生社区管理各部分的功能需求相对独立,相互间信息交换频度不大。采用对等网络(peer to peer,P2P)模式[1]来实现学生社区管理系统,可使系统的可靠性得到提高[2],扩展性更好,工作负荷得到平衡[3-4],从而避免客户服务器模式的一些问题。
1 存在的问题
传统手工方式的社区管理存在诸多问题。(1)来访者管理存在隐患。一些学校还在采用的由来访者自行在来访者登记簿上登记个人信息,社区管理人员进行人工查验、信息查询和统计工作。随着外来人员的增加,面临社区通行效率低、核查来访者身份困难、易发生漏登漏查、查阅和统计低效等问题。(2)社区走访管理工作量大。辅导员、班主任定期走访学生社区是学生管理工作的考核目标。但是手工方式下,走访社区的登记、查询、统计等工作量大。(3)学生晚归监控难度大。控制学生晚归是社区管理工作的一项重要内容,通过定期与辅导员交换学生晚归信息,辅导员可以及时了解学生晚归情况,采取管控措施。周末和节假日是学生晚归的高发期,易造成晚归登记的时段性堵塞和漏登现象。(4)学生社区活动包括社区组织的文娱、体育、学术交流等活动,社区安全事件包括发生在社区的盗窃、火灾和各种冲突等,这些方面也有大量工作需要信息化。
2 对等网络分布式系统设计
2.1 系统功能设计
按照社区管理提出的功能需求,系统划分为 7个子系统,包括:来访者管理、辅导员及班主任走访社区管理、学生晚归管理、社区活动管理、社区安全管理、学生工作管理和系统信息服务。由于社区有出入口、社区办公室、学生工作部和社团等多处管理场所,按照需要在多处配置对等网络节点(P2P节点),将子系统被部署到节点中。下面是P2P节点的功能。
(1)来访者管理
主要包括来访者信息登记、查询、统计和维护功能。登记时,社管人员查看来访者的有效证件,录入姓名、访问事由(亲友来访、参观学习、办理公事等),系统采集人脸图像、记录来访时间。通过公安系统公布的犯罪通缉人员信息和人脸图像识别技术,排除对社区安全可能构成威胁的隐患,实现嫌疑人预警。可以进行本地查询、接受学生工作管理系统的网络查询和多P2P节点联合查询。在查询方式上可根据来访者姓名、进入时间、访问事由等,进行单项查询和组合分类查询,然后在本机显示或由网络回传查询结果。
(2)辅导员及班主任走访社区管理
主要功能包括走访记录、查询、统计和维护。辅导员、班主任使用校园卡进出社区,读卡器读取身份信息,系统记录出入社区的时间和地点,作为信息统计的依据。查询和统计时,按照姓名、部门、走访时间进行单项和组合条件查询。同样,可以接受学生工作管理系统的网络查询和多P2P节点联合查询。
(3)学生晚归管理
在固定时段(如学校规定的晚归时段),系统记录学生的进出信息,以反映学生的晚归情况。学生使用校园卡进出社区,读卡器读取身份信息,系统记录他们出入社区的时间地点,采集学生图像,对学生身份进行识别。提供晚归查询、维护、统计和报送等功能。接受辅导员和学生工作管理系统的网络查询和统计。
(4)社区活动管理
包括社区活动的登记、查询、维护和统计功能。同样,可以接受学生工作管理系统的网络查询,回传查询结果。
(5)社区安全管理
包括社区安全事件的登记、查询、维护和统计功能。接受学生工作管理系统的网络查询。社区案件信息可以和公安系统交换数据。
(6)学生工作管理
学生工作管理系统与各子系统形成分布式应用模式,协同完成社区信息汇总工作。主要功能包括对系统信息的综合查询、综合统计、报表制作等。子系统分布在社区不同位置,负责局部信息获取和处理,学生工作管理系统通过网络联查、汇总,可以完成整个社区的综合统计查询。网络联查是系统的基本要求。例如统计学生晚归情况,由于学生可能出入于社区多个出入口,通过各P2P节点的联合查询,对返回的结果进行汇总才能获得全面信息。
(7)系统信息服务
主要功能包括系统基础信息(如学生、教师、来访者、部门、院系等相关基础信息)管理、系统信息同步、用户访问权限管理、P2P节点连接信息的同步和状态监控。通过网络的刷新和同步,保证各系统之间连接和信息交换的畅通,实现透明的信息交换。
2.2 系统架构设计
对等网络是局域网常用的组网方式之一[5]。P2P节点通过提供服务和内容可以共享资源,协同 P2P节点完成任务[6],它们既是资源的提供者也是使用者,还是任务的协同完成者[2,7]。P2P节点间可以直接互访。由于P2P技术具有分布性、动态性、可靠性和开放性等特点,基于P2P技术实现以信息资源共享为基础的分布式应用系统是有优势的。
社区系统没有采用客户服务器 CS模式和 BS模式,而采用如图1所示的P2P集中式架构,主要因为大部分子系统功能相对独立,业务信息分布在P2P节点的本地数据库中便于处理。尽管学生工作管理和系统信息服务与各P2P节点上的子系统有较强的信息依赖关系,但它们彼此间信息交换的频度不高,来访者管理与公安系统(外部系统)有信息交换,频度更低。然而CS和BS的集中式数据库和服务器,使各子系统节点间的依赖关系增大,系统可靠性会降低,服务器的工作负荷加大。
本系统P2P节点的业务数据分散保存在本地,由子系统维护,包括:来访者登记表、学生晚归登记表、辅导员班主任走访登记表、社区活动信息表、社区安全信息表。需要同步的数据放在系统信息服务节点,包括:来访者基本信息表、学生基本信息表、辅导员班主任基本信息表、机构院系基本信息表、用户访问权限表、P2P节点信息表。来访者基本信息表由P2P节点收集,并提交系统信息服务节点,其余系统信息由系统信息服务维护,各P2P节点对系统基本信息有需求时可以向系统信息服务节点请求,系统信息服务节点信息更新后主动向 P2P节点刷新。P2P节点信息表保存所有P2P节点的连接信息,包括:编号、节点IP地址、业务类型、活动状态。P2P节点信息表是为了维系P2P节点的连接。
2.3 P2P节点通信设计
图2 P2P信息通信架构Fig.2 P2P Information communication architecture
P2P信息通信架构[8]如图 2所示,包括:消息收发、消息解析与任务调度、P2P节点注册管理、P2P节点状态监测、各种业务功能等模块。接请求端口,有连接请求时创建消息接收线程,建立socket通信连接并接收消息,再按照系统应用层通信协议解析消息,并由任务调度模块交给相应业务处理模块完成相应的业务处理。
(2)P2P节点注册与信息同步。P2P节点的通信[9-10]需要连接节点的IP地址和端口号等信息,在系统信息服务节点建立网络P2P节点目录,集中管理P2P节点信息,向节点定期传送P2P目录,方便节点间的通信。新P2P节点要加入系统,在登陆时要在系统信息服务节点注册,向系统信息服务节点发送P2P节点登陆消息,系统信息服务节点记录登陆节点的IP地址、端口号、用户信息、业务类型等。P2P节点离线时向系统服务节点发送离线消息。在系统信息服务节点,当系统信息更新时要向所有相关P2P节点发刷新消息,进行信息同步。
(3)P2P节点状态检测。由于网络环境等因素的影响可能导致P2P节点网络连接的中断,系统信息服务节点定时向各P2P节点发送“心跳消息”,检查P2P节点的在线状态,反映节点的连接情况。
(4)业务处理。各子系统信息处理主要在本地进行,学生工作管理节点要处理的信息则分散在各P2P节点上,通过向相关P2P节点发送查询、统计消息,相关节点回传结果,再汇总和分析结果来完成工作。
3 系统软件设计与实现
(1)P2P节点消息收发与解析。P2P节点之间的通信采用TCP协议,通过TCP协议提供的机制保证消息及资源传输的可靠性。每个P2P节点监听连
系统的类图结构如图3所示。P2P节点间的通信由通信类完成,通过任务调度与所有相关业务类相联系。可以按P2P节点业务需求和用户访问权限进行配置。用户登陆时,主控类根据用户访问权限,为P2P节点配置业务模块,即发送用户验证消息给系统信息服务节点,根据验证回复打开业务模块。一个P2P节点可配置多个模块,如社区处入口的P2P节点可以配置来访者管理、辅导员班主任走访社区管理、学生晚归管理。本系统软件采用 Microsoft Visual C++6.0编程实现。
图3 系统类图Fig.3 System class diagram
4 结束语
本文介绍了一种基于P2P网络结构的社区管理系统,系统能够满足大学社区管理的需求。对等网络系统提高了系统的可靠性、扩展性和灵活性,工作效率也得到提升。经实验验证,系统运行稳定,可为同类系统在小型分布式应用方面的设计和实现提供经验。下一步考虑在学校更大范围内推广应用。另外,还要在网络安全性、稳定适应性和文件传输效率方面开展研究。