对三维层位数据进行构造解释的方法_3

文档序号:9352905阅读:来源:国知局
号对应的三维层位数据进行构造解释操作的不同步问题。
[0049]下面参照图4来详细描述在步骤S40之后服务器基于从客户端接收的通信信息来与客户端进行数据交互的步骤。
[0050]图4是示出根据本发明示例性实施例的所述多个客户端中的任一客户端与服务器之间的数据交互的步骤的流程图。
[0051]在步骤SlOO中,服务器判断所述通信信息所指示的构造解释操作的类型是否为层位解释操作。
[0052]如果确定的构造解释操作的类型为层位解释操作,则执行步骤S200:根据所述通信信息所指示的临时文件夹的存放路径从临时文件夹中读取构造解释操作后的三维层位数据,并将读取的构造解释操作后的三维层位数据存放到共享硬盘中以更新所述通信信息所指示的工区号对应的三维层位数据。这里,图4中的步骤S200对应图1中的步骤S50。
[0053]采用本发明示例性实施例的上述方法,客户端仅需将构造解释操作后的三维层位数据存储到临时文件夹中,而不必再将构造解释操作后的三维层位数据上传到服务器,且客户端仅需向服务器发送通信信息,然后由服务器根据通信信息来从临时文件夹中移动构造解释操作后的三维层位数据到共享硬盘中,这样大大减轻了网络传输的压力,而且有更强的鲁棒性,灾难恢复能力好。
[0054]可选地,根据本发明示例性实施例的对三维层位数据进行构造解释的方法在步骤S200之后可还包括:在更新所述通信信息所指示的工区号对应的三维层位数据之后,服务器建立对应的操作日志;然后对建立的操作日志进行存储。这里,所述操作日志记录可有指示对所述工区号对应的三维层位数据执行的构造解释操作的相关信息的日志条目,所述相关信息可包括工区号、执行构造解释操作的客户端对应的用户名、更新所述工区的三维层位数据的时间。
[0055]这里,根据本发明示例性实施例的对三维层位数据进行构造解释的方法在服务器中也采用了多线程处理技术,即,在服务器中包括数据记录线程和任务调度线程。
[0056]具体说来,数据记录线程用于负责对各类数据进行记录和存储,并将处理结果通知任务调度线程。任务调度线程用于负责从消息队列中读取通信信息,并对读取的通信信息进行处理(即,任务调度线程执行图1中的步骤S30?步骤S50),任务调度线程每处理完成一条通信信息,则将处理结果通知数据记录线程,然后数据记录线程对任务调度线程的处理结果进行记录(即,由数据记录线程来建立操作日志,并对建立的操作日志进行存储)。上述服务器中的两个线程之间既独立完成各自的任务,又相互协调工作,有利于服务器功能的扩展和维护。
[0057]可选地,根据本发明示例性实施例的对三维层位数据进行构造解释的方法可还包括步骤:客户端从服务器读取操作日志,以对读取的操作日志进行查看。
[0058]如果确定的构造解释操作的类型为非层位解释操作,则执行步骤S300:服务器确定非层位解释操作的类型,即,服务器判断从消息队列中提取的通信信息所指示的非层位解释操作的类型是否为获取客户端状态列表。
[0059]如果确定的非层位解释操作的类型为获取客户端权限列表,则执行步骤S400:客户端从服务器中读取客户端权限列表。这里,图4中的步骤S400对应图1中的步骤S60。
[0060]可选地,客户端权限列表可按照以下方式来创建:预先设置与所述服务器处于同一局域网内的所述多个客户端分别针对各工区号对应的三维层位数据的操作权限,并将所述多个客户端的操作权限形成客户端权限列表存放在服务器中。
[0061]作为示例,根据本发明示例性实施例的对三维层位数据进行构造解释的方法,可由权限管理模块针对与所述服务器处于同一局域网内的各客户端设置在所选择的工区下对三维层位数据进行构造解释的操作权限。
[0062]具体说来,权限管理模块具有为所有客户端设置在所选择的工区下对三维层位数据进行构造解释的操作权限的能力。
[0063]例如,权限管理模块可为所有客户端设置对三维层位数据进行构造解释的操作权限,并将所有客户端在所选择的工区下对三维层位数据进行构造解释的操作权限形成客户端权限列表,再该客户端权限列表上传给服务器进行存储。
[0064]此外,权限管理模块可还具有为所有客户端分别设置账户及密码的能力。
[0065]例如,在图2所示的步骤SlOl中客户端首先接收用户输入的账户和密码,在用户输入的账户和密码与权限管理模块设置的账户和密码一致的情况下,客户端再接收用户的输入,并根据用户的输入选择工区号。如果用户输入的账户和密码与权限管理模块设置的账户和密码不一致,则该客户端无法执行步骤SlOl后续的步骤。
[0066]这里,应理解,权限管理模块可运行在与所述服务器处于同一局域网内的各客户端中的任一客户端上,此时,权限管理模块以一个独立的线程运行。权限管理模块还可运行在与所述服务器处于同一局域网内的各客户端之外的其他客户端上。
[0067]如果确定的非层位解释操作的类型为获取客户端状态列表,则执行步骤S500:月艮务器向发送该通信信息的客户端发送状态信息。这里,所述状态信息可指示客户端状态列表是否有变化。这里,图4中的步骤S500对应图1中的步骤S70。
[0068]可选地,为了客户端可更快速地获取处于同一局域网内的所有客户端的客户端状态列表,可利用本地缓存技术来提高效率,即,在初次执行步骤S500时可直接从服务器读取客户端状态列表,并将读取的客户端状态列表存入客户端的本地缓存中,然后在非初次执行步骤S500时,仅需从服务器接收状态信息,并仅在接收的状态信息指示客户端状态列表有变化时,才从服务器读取客户端状态列表,如果接收的状态信息指示客户端状态列表没有变化时,客户端只需从客户端的本地缓存中读取客户端状态列表即可。具体过程请参见下面的步骤S600?步骤S800。
[0069]在步骤S600中,客户端根据接收的状态信息确定客户端状态列表是否有变化。
[0070]可选地,客户端状态列表可由服务器按照以下方式来生成:利用心跳包检测与所述服务器处于同一局域网内的各客户端是否在线,并基于各客户端的在线状态来生成用于显示在线客户端的客户端状态列表,然后所述服务器对生成的客户端状态列表进行存储。
[0071]如果所述状态信息指示客户端状态列表没有变化,则执行步骤S700:从客户端的本地缓存中读取客户端状态列表。
[0072]如果所述状态信息指示客户端状态列表有变化,则执行步骤S800:从服务器读取客户端状态列表,并将读取的客户端状态列表存入客户端的本地缓存中。这里,图4中的步骤S800对应图1中的步骤S80。
[0073]可选地,根据本发明示例性实施例的对三维层位数据进行构造解释的方法可还包括步骤:如果所述状态信息指示客户端状态列表有变化,则进一步确定是否是有客户端掉线,如果有客户端处于掉线状态,则服务器对从处于掉线状态的客户端接收的通信信息不进行处理,从而可保证服务器对从客户端接收的通信信息处理的时效性和正确性。
[0074]具体说来,如果有客户端处于掉线状态,则数据记录线程会记录客户端状态的变化,并将关于有客户端处于掉线状态的通知发送给任务调度线程,则任务调度线程对从处于掉线状态的客户端接收的通信信息不进行相应地处理。
[
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1