本发明属于学校管理手段的技术领域,更具体的,本发明涉及一种优化分配的方法技术领域。
背景技术:
大学生活的开始,对于大多数人来说就是离开父母的庇护开启独立生活的起点,更有甚者中学就开始住校寄宿,宿舍作为学生生活、学习的最主要场所,也是学生活动的最基本单位,所以宿舍承载了大多数人青少年时期课业后的梦想与活动。
正是因为宿舍承载了很多学生的梦想和关注,大学新生和家长在入学前都很关注到底住宿环境如何,需要准备什么样的东西,未来的舍友是否好相处,尤其在目前这种大都是独生子女的情况下,每一个子女都倾注家长所有的关怀。
现在学校大多数都已经开始注重智能化管理,开始安装先进的管理系统,但是学生管理不光是简单的统计、记录和监督,还需要根据不同的性格进行分类引导,分类管理,宿舍的选择也就不再能够由学号或者生源地来决定。
技术实现要素:
针对现有技术中宿舍的选择也只能由学号或者生源地来决定,缺少学生的参与,缺乏对不同学生性格和爱好的考虑,管理和相处问题突出的问题,本发明提供了一种智能宿舍选择系统,与现有技术相比,本发明方法和系统能够根据不同的学生性格和生活习惯进行分配舍友,为初次见面的新生提供较为准确的舍友匹配,减少宿舍矛盾,增加了融洽度,方便了学校管理,对学生之间相互协作和团队建设方面具有良好的效果,在学生宿舍管理领域具有广泛的实用性。
为了解决上述问题,本发明采用的技术方案如下:
一种智能宿舍选择方法,包括如下步骤:
(1)用户在线请求获得宿舍,用户登入系统后与服务器建立连接,完成初步信息调查,用户端发送信息,服务器收集初步信息。
(2)确定舍友关系,通过对初步调查数据与学生填写的问卷数据进行匹对排序,找出结果最相近的学生确定为舍友关系。
(3)建立宿舍3d图像,提供匹配端口,建立虚拟入住。
(4)建立虚拟宿舍作为聊天室,形成网上虚拟入住,并且通过随机产生一些突发事件,对学生的反应情况进行收集,并根据精确的算法得出宿舍的人际相处情况并对学生反馈相应信息。
(5)学生选择其他宿舍或者留在该宿舍,根据学生具体情况进行自动地分配。
(6)补全学生人数,建立宿舍。
本发明中初步信息调查和确定舍友关系步骤包括:
(1)采用socket通讯,用户登入系统后与服务器建立连接,当服务器接收到初步调查信息后,通过id标识寻找接收人,并通过已经建立的socket通道发送信息,收集初步信息。
(2)确定舍友关系,采用归并排序算法,根据关键指标,通过对初步调查数据与学生填写的问卷数据进行匹对排序,找出结果最相近的学生确定为舍友关系。
(3)数据中心在采集完数据后,使用存储过程定时任务对数据进行多轮分析,清洗出有效数据。
(4)数据云共享与终端展示,使用mvc设计模式和模板技术,把舍友匹对的最终结果通过http协议在客户终端显示。
本发明宿舍3d图像通过增强现实技术建立。
本发明宿舍确定后学生在指定区域进行实时网络签到,签到结果将及时向上反应。
本发明中,采用socket通讯,用户登入系统后与服务器建立连接,当服务器接收到初步调查信息后,通过id标识寻找接收人,并通过已经建立的socket通道发送信息,收集初步信息具体程序如下:
privateclasspermissionthreadextendsthread{
serversocketss;
permissionthread()throwsexception{
ss=newserversocket(8500);
this.setdaemon(true);
}
@override
publicvoidrun(){
try{
while(true){
socketsocket=ss.accept();
outputstreamwriterosw=newoutputstreamwriter(socket.getoutputstream());
bufferedreaderbr=newbufferedreader(newinputstreamreader(socket.getinputstream()));
stringrequesthost;
while((requesthost=br.readline())!=null){
intselect=joptionpane.showconfirmdialog(null,
"收到来自'"+requesthost+"'的连接请求,是否对该主机提供远程服务",
"确认信息",joptionpane.yes_no_option);
if(select==0){//选择yes
osw.write(constant.yes);
osw.flush();
break;
}
else{
osw.write(constant.no);
osw.flush();
break;
}
}
osw.close();
br.close();
}
}catch(ioexceptione){
e.printstacktrace();
}
}
}。
本发明中,确定舍友关系具体程序如下:
/**
*归并排序
*
*申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
*设定两个指针,最初位置分别为两个已经排序序列的起始位置
*比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
*重复步骤3直到某一指针达到序列尾
*将另一序列剩下的所有元素直接复制到合并序列尾
*
*@paramnumbers
*/
publicstaticvoidmergesort(int[]numbers,intleft,intright){
intt=1;//每组元素个数
intsize=right-left+1;
while(t<size){
ints=t;//本次循环每组元素个数
t=2*s;
inti=left;
while(i+(t-1)<size){
merge(numbers,i,i+(s-1),i+(t-1));
i+=t;
}
if(i+(s-1)<right)
merge(numbers,i,i+(s-1),right);
}
}。
本发明中,数据中心在采集完数据后,使用存储过程定时任务对数据进行多轮分析,清洗出有效数据步骤(3)具体程序如下:
declare
user_namevarchar2(30);
begin
selectuserintouser_namefromdual;
executeimmediate'altersessionsetcurrent_schema=sypp_app';
begin
sys.dbms_job.remove(12182);
executeimmediate'altersessionsetcurrent_schema='||user_name;
exception
whenothersthen
executeimmediate'altersessionsetcurrent_schema='||user_name;
raise;
end;
commit;
end;
/
declare
xnumber;
user_namevarchar2(30);
begin
selectuserintouser_namefromdual;
executeimmediate'altersessionsetcurrent_schema=sypp_app';
begin
sys.dbms_job.submit
(job=>x
,what=>'prc_sum_sypp(sysdate);'
,next_date=>to_date('19/04/201918:00:00','dd/mm/yyyyhh24:mi:ss')
,interval=>'sysdate+150/1440'
,no_parse=>false
,instance=>1
);
sys.dbms_output.put_line('jobnumberis:'||to_char(x));
executeimmediate'altersessionsetcurrent_schema='||user_name;
exception
whenothersthen
executeimmediate'altersessionsetcurrent_schema='||user_name;
raise;
end;
commit;
end。
本发明中,数据云共享与终端展示,使用mvc设计模式和模板技术,可以数据模型、处理逻辑和终端解偶,把舍友匹对的最终结果通过http协议在客户终端显示具体程序如下:
publicvoiddofilter(servletrequestreq,servletresponseres,filterchainchain)throwsioexception,servletexception{
httpservletrequestrequest=(httpservletrequest)req;
httpservletresponseresponse=(httpservletresponse)res;
try{
prepare.setencodingandlocale(request,response);
prepare.createactioncontext(request,response);
prepare.assigndispatchertothread();
if(excludedpatterns!=null&&prepare.isurlexcluded(request,excludedpatterns)){
chain.dofilter(request,response);
}else{
request=prepare.wraprequest(request);
actionmappingmapping=prepare.findactionmapping(request,response,true);
if(mapping==null){
booleanhandled=execute.executestaticresourcerequest(request,response);
if(!handled){
chain.dofilter(request,response);
}
}else{
execute.executeaction(request,response,mapping);
}
}
}finally{
prepare.cleanuprequest(request);
}
}。
使用本发明提供的技术方案可以达到如下有益效果:
本发明提供的一种智能宿舍选择方法和系统,有利于学生进行科学化的宿舍选择,减少学校的管理成本,有利于减少舍友间的摩擦与矛盾冲突,提高学生之间的沟通能力,提升宿舍舒适度,可实时申请入退调宿舍与宿舍状态查看,解决当下宿舍分配及舍友矛盾问题,节省学校调换宿舍代价,本发明方法和系统以提高学生宿舍舒适度为核心要义,以人为本,为学校宿舍分配、学生选择宿舍、舍友关系处理创造价值,在学生宿舍分配领域具有广泛的实用性。
附图说明:
图1显示为本发明的逻辑示意图。
具体实施方式
下面结合附图1和实施例,对本发明的具体实施方式作进一步详细描述,但本发明不限于下述实施例。
实施例一:本发明智能宿舍选择方法
一种智能宿舍选择方法,包括如下步骤:
(1)用户在线请求获得宿舍,用户登入系统后与服务器建立连接,完成初步信息调查,用户端发送信息,服务器收集初步信息。
(2)确定舍友关系,通过对初步调查数据与学生填写的问卷数据进行匹对排序,找出结果最相近的学生确定为舍友关系。
(3)建立宿舍3d图像,提供匹配端口,建立虚拟入住。
(4)建立虚拟宿舍作为聊天室,形成网上虚拟入住,并且通过随机产生一些突发事件,对学生的反应情况进行收集,并根据精确的算法得出宿舍的人际相处情况并对学生反馈相应信息。
(5)学生选择其他宿舍或者留在该宿舍,根据学生具体情况进行自动地分配。
(6)补全学生人数,建立宿舍。
实施例二:本发明智能宿舍选择方法与宿舍管理
本发明中初步信息调查和确定舍友关系步骤包括:
(1)采用socket通讯,用户登入系统后与服务器建立连接,当服务器接收到初步调查信息后,通过id标识寻找接收人,并通过已经建立的socket通道发送信息,收集初步信息。
(2)确定舍友关系,采用归并排序算法,根据关键指标,通过对初步调查数据与学生填写的问卷数据进行匹对排序,找出结果最相近的学生确定为舍友关系。
(3)数据中心在采集完数据后,使用存储过程定时任务对数据进行多轮分析,清洗出有效数据。
(4)数据云共享与终端展示,使用mvc设计模式和模板技术,把舍友匹对的最终结果通过http协议在客户终端显示。
本发明宿舍3d图像通过增强现实技术建立。
本发明宿舍确定后学生在指定区域进行实时网络签到,签到结果将及时向上反应。
实施例三:本发明智能宿舍选择系统
本发明中,采用socket通讯,用户登入系统后与服务器建立连接,当服务器接收到初步调查信息后,通过id标识寻找接收人,并通过已经建立的socket通道发送信息,收集初步信息具体程序如下:
privateclasspermissionthreadextendsthread{
serversocketss;
permissionthread()throwsexception{
ss=newserversocket(8500);
this.setdaemon(true);
}
@override
publicvoidrun(){
try{
while(true){
socketsocket=ss.accept();
outputstreamwriterosw=newoutputstreamwriter(socket.getoutputstream());
bufferedreaderbr=newbufferedreader(newinputstreamreader(socket.getinputstream()));
stringrequesthost;
while((requesthost=br.readline())!=null){
intselect=joptionpane.showconfirmdialog(null,
"收到来自'"+requesthost+"'的连接请求,是否对该主机提供远程服务",
"确认信息",joptionpane.yes_no_option);
if(select==0){//选择yes
osw.write(constant.yes);
osw.flush();
break;
}
else{
osw.write(constant.no);
osw.flush();
break;
}
}
osw.close();
br.close();
}
}catch(ioexceptione){
e.printstacktrace();
}
}
}。
本发明中,确定舍友关系具体程序如下:
/**
*归并排序
*
*申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
*设定两个指针,最初位置分别为两个已经排序序列的起始位置
*比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
*重复步骤3直到某一指针达到序列尾
*将另一序列剩下的所有元素直接复制到合并序列尾
*
*@paramnumbers
*/
publicstaticvoidmergesort(int[]numbers,intleft,intright){
intt=1;//每组元素个数
intsize=right-left+1;
while(t<size){
ints=t;//本次循环每组元素个数
t=2*s;
inti=left;
while(i+(t-1)<size){
merge(numbers,i,i+(s-1),i+(t-1));
i+=t;
}
if(i+(s-1)<right)
merge(numbers,i,i+(s-1),right);
}
}。
本发明中,数据中心在采集完数据后,使用存储过程定时任务对数据进行多轮分析,清洗出有效数据步骤(3)具体程序如下:
declare
user_namevarchar2(30);
begin
selectuserintouser_namefromdual;
executeimmediate'altersessionsetcurrent_schema=sypp_app';
begin
sys.dbms_job.remove(12182);
executeimmediate'altersessionsetcurrent_schema='||user_name;
exception
whenothersthen
executeimmediate'altersessionsetcurrent_schema='||user_name;
raise;
end;
commit;
end;
/
declare
xnumber;
user_namevarchar2(30);
begin
selectuserintouser_namefromdual;
executeimmediate'altersessionsetcurrent_schema=sypp_app';
begin
sys.dbms_job.submit
(job=>x
,what=>'prc_sum_sypp(sysdate);'
,next_date=>to_date('19/04/201918:00:00','dd/mm/yyyyhh24:mi:ss')
,interval=>'sysdate+150/1440'
,no_parse=>false
,instance=>1
);
sys.dbms_output.put_line('jobnumberis:'||to_char(x));
executeimmediate'altersessionsetcurrent_schema='||user_name;
exception
whenothersthen
executeimmediate'altersessionsetcurrent_schema='||user_name;
raise;
end;
commit;
end。
本发明中,数据云共享与终端展示,使用mvc设计模式和模板技术,可以数据模型、处理逻辑和终端解偶,把舍友匹对的最终结果通过http协议在客户终端显示具体程序如下:
publicvoiddofilter(servletrequestreq,servletresponseres,filterchainchain)throwsioexception,servletexception{
httpservletrequestrequest=(httpservletrequest)req;
httpservletresponseresponse=(httpservletresponse)res;
try{
prepare.setencodingandlocale(request,response);
prepare.createactioncontext(request,response);
prepare.assigndispatchertothread();
if(excludedpatterns!=null&&prepare.isurlexcluded(request,excludedpatterns)){
chain.dofilter(request,response);
}else{
request=prepare.wraprequest(request);
actionmappingmapping=prepare.findactionmapping(request,response,true);
if(mapping==null){
booleanhandled=execute.executestaticresourcerequest(request,response);
if(!handled){
chain.dofilter(request,response);
}
}else{
execute.executeaction(request,response,mapping);
}
}
}finally{
prepare.cleanuprequest(request);
}
}。
本发明服务器中存储各个学生及宿舍的信息,让用户能够实时地了解宿舍信息并随时对宿舍的安排进行操作。本发明秉承互联网开放理念,建立虚拟宿舍体验环境,使得学生在入住前能有一个良好的体验效果,同时将宿舍作为一个个小型聊天室,并通过让学生自选标签来对学生进行初步的划分,让学生在网上虚拟入住、选择,通过虚拟相处,根据精确的算法得出宿舍的人际相处情况并对学生反馈相应信息,使学生有权利选择其他宿舍或者留在该宿舍,系统也可根据学生具体情况进行自动地分配。在日常教学和节假日期间学生可在指定区域进行实时签到,签到结果将及时反应到老师端,节省人力成本,提高管理效率,而且能够在学生入住后不陌生,矛盾少,便于相互学习协作。
如上所述,即可较好地实现本发明,上述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明确定的保护范围内。