一种连接Citrix已发布应用异常的自动化解决方法技术

技术编号:18444708 阅读:45 留言:0更新日期:2018-07-14 10:17
本发明专利技术公开一种连接Citrix已发布应用异常的自动化解决方法,包括:得到高性能服务器的所有进程的进程ID和会话ID;为大于零的会话ID建立空链表;将待插入节点对应进程的进程ID作为节点值并判断各链表中是否存在待插入节点对应进程的祖先进程:若否则插入且当祖先进程的会话ID为链表的会话ID时插入祖先进程的进程ID;若是则插入且保持所有祖先进程的进程ID已被无重复的插入链表;若出现异常,统计所有异常的会话ID并存入文档;定位文档中各会话ID对应的链表,从其中的头节点开始依次终止各节点的进程ID对应的进程;顺序删除其中的所有节点。本发明专利技术可在不影响高性能服务器其他用户作业的情况下将系统从异常状态恢复到可用状态。

An automated solution to connect Citrix published application exceptions

The present invention discloses an automated solution for connecting Citrix to publishing application exceptions, including process ID and session ID for all processes of high performance servers; setting up an empty list for the session ID greater than zero; the process ID of the node to be inserted as the node value and judging whether there is a node to be inserted in the list. The ancestral process for a process: if the insertion and session ID of the ancestor process are inserted into the process ID of the ancestor process when the session ID of the linked list is inserted; if the process ID inserted and maintained for all ancestor processes has been inserted into the linked list without repetition; if an exception occurs, the session ID of all exceptions is counted and stored in the document; location of the documents in each of the documents; Session ID corresponds to the linked list, starting with the header node and terminating the ID corresponding process of each node in turn. The invention can restore the system from abnormal state to usable state without affecting other user operations of the high-performance server.

【技术实现步骤摘要】
一种连接Citrix已发布应用异常的自动化解决方法
本专利技术涉及服务器
更具体地,涉及一种连接Citrix已发布应用异常的自动化解决方法。
技术介绍
在很多单位,特别是科研单位中,设计人员常有进行高性能计算、仿真的需求。高性能计算服务器可安装VC、MATLAB等计算仿真软件继而利用Citrix软件的应用发布功能,将应用发布。设计人员使用计算机可以连接高性能计算服务器发布的应用,提交代码、执行程序。设计人员正常执行注销、关闭计算机不影响和已发布应用之间的连接,再次连接后可获得与注销前的应用的连接,只有当用户关闭Citrix连接中心中特定的会话后,计算机与已发布应用的连接才会被删除。但实际中,设计人员在计算任务结束后再次连接已发布的应用时,经常出现无法正常连接的情况。CitrixAppCenter提供了注销连接用户的功能(注销连接用户即当用户关闭Citrix连接中心中特定的会话),95%左右的概率,注销后计算机能再次连接已发布的应用。但仍存在较少数情况,使用CitrixAppCenter提供的注销功能,计算机与已发布应用的连接信息只会被清除几秒钟,继而恢复,由于注销未成功、计算机与已发布应用的连接信息仍存在,设计人员始终无法再次连接已发布的应用,只有重启高性能服务器,设计人员才能重新连接。而高性能服务器上时刻都其他用户的计算任务,重启是不可接受的。因此,需要提供一种在不重启高性能服务器的前提下可在注销连接用户时彻底删除计算机与Citrix已发布应用的连接信息的连接Citrix已发布应用异常的自动化解决方法。
技术实现思路
本专利技术的目的在于提供一种在不重启高性能服务器的前提下可在注销连接用户时彻底删除计算机与Citrix已发布应用的连接信息的连接Citrix已发布应用异常的自动化解决方法。为达到上述目的,本专利技术采用下述技术方案:一种连接Citrix已发布应用异常的自动化解决方法,包括:第一步、遍历高性能服务器的所有进程,得到各进程的进程ID和会话ID;第二步、在高性能服务器内存中开辟空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表;第三步、对于每一个待插入节点,判断各链表中是否已经出现过待插入节点对应进程的祖先进程:若否则插入该待插入节点,节点值为该待插入节点对应进程的进程ID,当且仅当该待插入节点对应进程的祖先进程的会话ID为链表的会话ID时插入该待插入节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;若是则插入该待插入节点,节点值为该待插入节点对应进程的进程ID且保持待插入节点对应进程的所有祖先进程的进程ID已经被无重复的插入到链表中;第四步、若连接Citrix发布应用出现异常,在CitrixAppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;第五步、逐行读取待删除的会话ID文档,定位其中每一个会话ID对应的链表,从定位的链表中的头节点开始依次终止各节点的进程ID对应的进程;第六步、顺序删除定位的链表中的所有节点。优选地,第一步利用VC++提供的Windows库函数实现。优选地,第二步通过C++编程接口实现。优选地,第二步中每一个大于零的会话ID均为正整数。优选地,第五步中从定位的链表中的头节点开始依次终止各节点的进程ID对应的进程包括:获取定位的链表中头节点的进程ID,终止该进程ID对应的进程,确定成功后,终止该链表下一个节点的进行ID对应的进程直到终止了该链表中所有节点的进程ID对应的进程。本专利技术的有益效果如下:本专利技术所述技术方案可实现用户使用计算机连接Citrix已发布应用出现异常的情况下,通过可执行程序指定参数文件,在高性能服务器上强制清除计算机与已发布应用的连接信息对应的进程。在异常连接较多的情况下,可以批量自动化删除错误连接状态,使得用户可以正常的再次连接已经发布的应用,在不影响高性能服务器其他用户作业的情况下,将系统从异常状态恢复到可用状态。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的说明;图1示出连接Citrix已发布应用异常的自动化解决方法的流程图。具体实施方式为了更清楚地说明本专利技术,下面结合优选实施例和附图对本专利技术做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本专利技术的保护范围。如图1所示,本实施例提供的连接Citrix已发布应用异常的自动化解决方法,包括:第一步、利用VC++提供的Windows库函数,遍历高性能服务器的所有进程,得到所有进程的进程ID(ProcessID)和会话ID(SessionID);第二步、通过C++编程接口,在高性能服务器内存中开辟一块空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表,需要说明的是,该每一个会话ID均为正整数;第三步、对于每一个待插入节点,判断各链表中是否已经出现过待插入节点对应进程的祖先进程:若否则视为情况A:插入该待插入节点,节点值为该待插入节点对应进程的进程ID,当且仅当该待插入节点对应进程的祖先进程的会话ID为链表的会话ID时插入该待插入节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;若是则视为情况B:插入该待插入节点,节点值为该待插入节点对应进程的进程ID且保持待插入节点对应进程的所有祖先进程的进程ID已经被无重复的插入到链表中;第四步、若连接Citrix发布应用出现异常(或者说设计人员反馈了连接Citrix发布应用出现了异常情况),在CitrixAppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;第五步、逐行读取待删除的会话ID文档,对于待删除的会话ID文档中的每一个会话ID,定位会话ID对应的链表,获取定位的链表中头节点的进程ID,终止该进程ID对应的进程,确定成功后,终止该链表下一个节点的进行ID对应的进程直到终止了该链表中所有节点的进程ID对应的进程;第六步、顺序删除定位的链表中的所有节点。本实施例提供的连接Citrix已发布应用异常的自动化解决方法使得用户使用计算机再次连接Citrix已发布应用出现异常的情况下,通过可执行程序指定参数,强制清除计算机与已发布应用的连接信息,在异常连接较多的情况下,可以批量自动化删除错误连接状态。显然,本专利技术的上述实施例仅仅是为清楚地说明本专利技术所作的举例,而并非是对本专利技术的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本专利技术的技术方案所引伸出的显而易见的变化或变动仍处于本专利技术的保护范围之列。本文档来自技高网...

【技术保护点】
1.一种连接Citrix已发布应用异常的自动化解决方法,其特征在于,包括:第一步、遍历高性能服务器的所有进程,得到各进程的进程ID和会话ID;第二步、在高性能服务器内存中开辟空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表;第三步、对于每一个待插入节点,判断各链表中是否已经出现过待插入节点对应进程的祖先进程:若否则插入该待插入节点,节点值为该待插入节点对应进程的进程ID,当且仅当该待插入节点对应进程的祖先进程的会话ID为链表的会话ID时插入该待插入节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;若是则插入该待插入节点,节点值为该待插入节点对应进程的进程ID且保持待插入节点对应进程的所有祖先进程的进程ID已经被无重复的插入到链表中;第四步、若连接Citrix发布应用出现异常,在Citrix AppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;第五步、逐行读取待删除的会话ID文档,定位其中每一个会话ID对应的链表,从定位的链表中的头节点开始依次终止各节点的进程ID对应的进程;第六步、顺序删除定位的链表中的所有节点。...

【技术特征摘要】
1.一种连接Citrix已发布应用异常的自动化解决方法,其特征在于,包括:第一步、遍历高性能服务器的所有进程,得到各进程的进程ID和会话ID;第二步、在高性能服务器内存中开辟空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表;第三步、对于每一个待插入节点,判断各链表中是否已经出现过待插入节点对应进程的祖先进程:若否则插入该待插入节点,节点值为该待插入节点对应进程的进程ID,当且仅当该待插入节点对应进程的祖先进程的会话ID为链表的会话ID时插入该待插入节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;若是则插入该待插入节点,节点值为该待插入节点对应进程的进程ID且保持待插入节点对应进程的所有祖先进程的进程ID已经被无重复的插入到链表中;第四步、若连接Citrix发布应用出现异常,在CitrixAppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;第五步、逐...

【专利技术属性】
技术研发人员:魏志强
申请(专利权)人:北京仿真中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1