CN108279994A - 一种连接Citrix已发布应用异常的自动化解决方法 - Google Patents
一种连接Citrix已发布应用异常的自动化解决方法 Download PDFInfo
- Publication number
- CN108279994A CN108279994A CN201810058462.7A CN201810058462A CN108279994A CN 108279994 A CN108279994 A CN 108279994A CN 201810058462 A CN201810058462 A CN 201810058462A CN 108279994 A CN108279994 A CN 108279994A
- Authority
- CN
- China
- Prior art keywords
- session
- chained list
- citrix
- ingress
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0748—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种连接Citrix已发布应用异常的自动化解决方法,包括:得到高性能服务器的所有进程的进程ID和会话ID;为大于零的会话ID建立空链表;将待***节点对应进程的进程ID作为节点值并判断各链表中是否存在待***节点对应进程的祖先进程:若否则***且当祖先进程的会话ID为链表的会话ID时***祖先进程的进程ID;若是则***且保持所有祖先进程的进程ID已被无重复的***链表;若出现异常,统计所有异常的会话ID并存入文档;定位文档中各会话ID对应的链表,从其中的头节点开始依次终止各节点的进程ID对应的进程;顺序删除其中的所有节点。本发明可在不影响高性能服务器其他用户作业的情况下将***从异常状态恢复到可用状态。
Description
技术领域
本发明涉及服务器技术领域。更具体地,涉及一种连接Citrix已发布应用异常的自动化解决方法。
背景技术
在很多单位,特别是科研单位中,设计人员常有进行高性能计算、仿真的需求。高性能计算服务器可安装VC、MATLAB等计算仿真软件继而利用Citrix软件的应用发布功能,将应用发布。设计人员使用计算机可以连接高性能计算服务器发布的应用,提交代码、执行程序。设计人员正常执行注销、关闭计算机不影响和已发布应用之间的连接,再次连接后可获得与注销前的应用的连接,只有当用户关闭Citrix连接中心中特定的会话后,计算机与已发布应用的连接才会被删除。
但实际中,设计人员在计算任务结束后再次连接已发布的应用时,经常出现无法正常连接的情况。Citrix AppCenter提供了注销连接用户的功能(注销连接用户即当用户关闭Citrix连接中心中特定的会话),95%左右的概率,注销后计算机能再次连接已发布的应用。但仍存在较少数情况,使用CitrixAppCenter提供的注销功能,计算机与已发布应用的连接信息只会被清除几秒钟,继而恢复,由于注销未成功、计算机与已发布应用的连接信息仍存在,设计人员始终无法再次连接已发布的应用,只有重启高性能服务器,设计人员才能重新连接。而高性能服务器上时刻都其他用户的计算任务,重启是不可接受的。
因此,需要提供一种在不重启高性能服务器的前提下可在注销连接用户时彻底删除计算机与Citrix已发布应用的连接信息的连接Citrix已发布应用异常的自动化解决方法。
发明内容
本发明的目的在于提供一种在不重启高性能服务器的前提下可在注销连接用户时彻底删除计算机与Citrix已发布应用的连接信息的连接Citrix已发布应用异常的自动化解决方法。
为达到上述目的,本发明采用下述技术方案:
一种连接Citrix已发布应用异常的自动化解决方法,包括:
第一步、遍历高性能服务器的所有进程,得到各进程的进程ID和会话ID;
第二步、在高性能服务器内存中开辟空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表;
第三步、对于每一个待***节点,判断各链表中是否已经出现过待***节点对应进程的祖先进程:
若否则***该待***节点,节点值为该待***节点对应进程的进程ID,当且仅当该待***节点对应进程的祖先进程的会话ID为链表的会话ID时***该待***节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;
若是则***该待***节点,节点值为该待***节点对应进程的进程ID且保持待***节点对应进程的所有祖先进程的进程ID已经被无重复的***到链表中;
第四步、若连接Citrix发布应用出现异常,在Citrix AppCenter上统计出所有异常的会话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发布应用出现了异常情况),在Citrix AppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;
第五步、逐行读取待删除的会话ID文档,对于待删除的会话ID文档中的每一个会话ID,定位会话ID对应的链表,获取定位的链表中头节点的进程ID,终止该进程ID对应的进程,确定成功后,终止该链表下一个节点的进行ID对应的进程直到终止了该链表中所有节点的进程ID对应的进程;
第六步、顺序删除定位的链表中的所有节点。
本实施例提供的连接Citrix已发布应用异常的自动化解决方法使得用户使用计算机再次连接Citrix已发布应用出现异常的情况下,通过可执行程序指定参数,强制清除计算机与已发布应用的连接信息,在异常连接较多的情况下,可以批量自动化删除错误连接状态。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (5)
1.一种连接Citrix已发布应用异常的自动化解决方法,其特征在于,包括:
第一步、遍历高性能服务器的所有进程,得到各进程的进程ID和会话ID;
第二步、在高性能服务器内存中开辟空间,确认返回值正确,为每一个大于零的会话ID分别建立一个空链表;
第三步、对于每一个待***节点,判断各链表中是否已经出现过待***节点对应进程的祖先进程:
若否则***该待***节点,节点值为该待***节点对应进程的进程ID,当且仅当该待***节点对应进程的祖先进程的会话ID为链表的会话ID时***该待***节点对应进程的祖先进程的进程ID,保持所有子节点出现在父节点前;
若是则***该待***节点,节点值为该待***节点对应进程的进程ID且保持待***节点对应进程的所有祖先进程的进程ID已经被无重复的***到链表中;
第四步、若连接Citrix发布应用出现异常,在Citrix AppCenter上统计出所有异常的会话ID,建立待删除的会话ID文档并将所有异常的会话ID写入待删除的会话ID文档;
第五步、逐行读取待删除的会话ID文档,定位其中每一个会话ID对应的链表,从定位的链表中的头节点开始依次终止各节点的进程ID对应的进程;
第六步、顺序删除定位的链表中的所有节点。
2.根据权利要求1所述的连接Citrix已发布应用异常的自动化解决方法,其特征在于,第一步利用VC++提供的Windows库函数实现。
3.根据权利要求1所述的连接Citrix已发布应用异常的自动化解决方法,其特征在于,第二步通过C++编程接口实现。
4.根据权利要求1所述的连接Citrix已发布应用异常的自动化解决方法,其特征在于,第二步中每一个大于零的会话ID均为正整数。
5.根据权利要求1所述的连接Citrix已发布应用异常的自动化解决方法,其特征在于,第五步中从定位的链表中的头节点开始依次终止各节点的进程ID对应的进程包括:获取定位的链表中头节点的进程ID,终止该进程ID对应的进程,确定成功后,终止该链表下一个节点的进行ID对应的进程直到终止了该链表中所有节点的进程ID对应的进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810058462.7A CN108279994B (zh) | 2018-01-22 | 2018-01-22 | 一种连接Citrix已发布应用异常的自动化解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810058462.7A CN108279994B (zh) | 2018-01-22 | 2018-01-22 | 一种连接Citrix已发布应用异常的自动化解决方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108279994A true CN108279994A (zh) | 2018-07-13 |
CN108279994B CN108279994B (zh) | 2021-04-16 |
Family
ID=62804393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810058462.7A Active CN108279994B (zh) | 2018-01-22 | 2018-01-22 | 一种连接Citrix已发布应用异常的自动化解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279994B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084091A (zh) * | 2020-09-09 | 2020-12-15 | 北京升鑫网络科技有限公司 | 一种***行为审计方法、装置、终端及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991845A (en) * | 1996-10-21 | 1999-11-23 | Lucent Technologies Inc. | Recoverable spin lock system |
CN1391386A (zh) * | 2001-06-12 | 2003-01-15 | 华为技术有限公司 | 一种多任务操作***中任务进程的保护方法 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错***、装置及方法 |
CN101414277A (zh) * | 2008-11-06 | 2009-04-22 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾***及方法 |
CN101778367A (zh) * | 2009-12-29 | 2010-07-14 | 北京首信科技股份有限公司 | 一种计费网关重启恢复工作的方法 |
CN102594611A (zh) * | 2012-03-22 | 2012-07-18 | 江苏亿通高科技股份有限公司 | 一种网管代理更新Trap会话链表的方法 |
CN103439113A (zh) * | 2013-06-21 | 2013-12-11 | 上海空间推进研究所 | 一种基于链表结构的故障诊断方法 |
CN104331357A (zh) * | 2014-10-10 | 2015-02-04 | 北京金山安全软件有限公司 | 应用程序异常的检测方法、装置和移动终端 |
CN104717249A (zh) * | 2013-12-12 | 2015-06-17 | 北京神州泰岳软件股份有限公司 | 远程操作应用发布的方法、代理服务器和*** |
CN105260257A (zh) * | 2015-11-12 | 2016-01-20 | 用友网络科技股份有限公司 | 解决程序运行期间停止响应的方法和装置 |
CN105446887A (zh) * | 2016-01-11 | 2016-03-30 | 中国科学院光电研究院 | 一种基于数字虚拟技术的星载嵌入式数据通讯故障动态注入***及方法 |
CN105468342A (zh) * | 2014-08-20 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种新的操作***句柄管理方法 |
CN106201698A (zh) * | 2016-07-15 | 2016-12-07 | 北京金山安全软件有限公司 | 一种管理应用程序的方法、装置及电子设备 |
CN106354616A (zh) * | 2016-08-18 | 2017-01-25 | 北京并行科技股份有限公司 | 监测应用执行性能的方法、装置及高性能计算*** |
CN106844026A (zh) * | 2017-01-03 | 2017-06-13 | 惠州Tcl移动通信有限公司 | 一种清理终端设备进程的方法及*** |
CN107357664A (zh) * | 2017-07-13 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种分布式锁的实现方法和装置 |
-
2018
- 2018-01-22 CN CN201810058462.7A patent/CN108279994B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991845A (en) * | 1996-10-21 | 1999-11-23 | Lucent Technologies Inc. | Recoverable spin lock system |
CN1391386A (zh) * | 2001-06-12 | 2003-01-15 | 华为技术有限公司 | 一种多任务操作***中任务进程的保护方法 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错***、装置及方法 |
CN101414277A (zh) * | 2008-11-06 | 2009-04-22 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾***及方法 |
CN101778367A (zh) * | 2009-12-29 | 2010-07-14 | 北京首信科技股份有限公司 | 一种计费网关重启恢复工作的方法 |
CN102594611A (zh) * | 2012-03-22 | 2012-07-18 | 江苏亿通高科技股份有限公司 | 一种网管代理更新Trap会话链表的方法 |
CN103439113A (zh) * | 2013-06-21 | 2013-12-11 | 上海空间推进研究所 | 一种基于链表结构的故障诊断方法 |
CN104717249A (zh) * | 2013-12-12 | 2015-06-17 | 北京神州泰岳软件股份有限公司 | 远程操作应用发布的方法、代理服务器和*** |
CN105468342A (zh) * | 2014-08-20 | 2016-04-06 | 西安慧泽知识产权运营管理有限公司 | 一种新的操作***句柄管理方法 |
CN104331357A (zh) * | 2014-10-10 | 2015-02-04 | 北京金山安全软件有限公司 | 应用程序异常的检测方法、装置和移动终端 |
CN105260257A (zh) * | 2015-11-12 | 2016-01-20 | 用友网络科技股份有限公司 | 解决程序运行期间停止响应的方法和装置 |
CN105446887A (zh) * | 2016-01-11 | 2016-03-30 | 中国科学院光电研究院 | 一种基于数字虚拟技术的星载嵌入式数据通讯故障动态注入***及方法 |
CN106201698A (zh) * | 2016-07-15 | 2016-12-07 | 北京金山安全软件有限公司 | 一种管理应用程序的方法、装置及电子设备 |
CN106354616A (zh) * | 2016-08-18 | 2017-01-25 | 北京并行科技股份有限公司 | 监测应用执行性能的方法、装置及高性能计算*** |
CN106844026A (zh) * | 2017-01-03 | 2017-06-13 | 惠州Tcl移动通信有限公司 | 一种清理终端设备进程的方法及*** |
CN107357664A (zh) * | 2017-07-13 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种分布式锁的实现方法和装置 |
Non-Patent Citations (2)
Title |
---|
ZHANGLIANGFNST: "linux进程管理----pid哈希链表", 《HTTP://BLOG.CHINAUNIX.NET/UID-25538637-ID-271546.HTML》 * |
于红 等: "《计算机操作***》", 31 May 2017, 西安电子科技大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084091A (zh) * | 2020-09-09 | 2020-12-15 | 北京升鑫网络科技有限公司 | 一种***行为审计方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108279994B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8788565B2 (en) | Dynamic and distributed queueing and processing system | |
CN102402481B (zh) | 异步程序代码的模糊测试 | |
CN107908494A (zh) | 异常事件的处理方法、装置、电子设备及存储介质 | |
CN105446827B (zh) | 一种数据库故障时的数据存储方法和设备 | |
CN109992219A (zh) | 分布式存储方法、装置、设备及计算机可读存储介质 | |
CN113568686B (zh) | Lua语言的异步处理方法、装置、计算机设备和存储介质 | |
CN107437222B (zh) | 基于银行柜面前端的联机业务数据的处理方法及*** | |
CN103034564B (zh) | 数据容灾演练方法、数据容灾演练装置及*** | |
CN111290958B (zh) | 一种调试智能合约的方法及装置 | |
US10318385B2 (en) | Service recovery using snapshots and interservice messages | |
CN108279994A (zh) | 一种连接Citrix已发布应用异常的自动化解决方法 | |
CN113849127A (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
CN107040509B (zh) | 一种报文发送方法及装置 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN116384993B (zh) | 基于云支付中心实现订单支付状态高一致性的方法与*** | |
CN108241499A (zh) | 字段值注释的更新方法、装置及计算机可读存储介质 | |
US20090077243A1 (en) | Conversation recovery method | |
CN107483635A (zh) | 一种业务请求处理方法、处理***及消息中间件 | |
CN110764835A (zh) | 应用环境的文件配置方法、装置、计算机设备和存储介质 | |
CN105763365A (zh) | 一种异常处理方法及装置 | |
CN109889645A (zh) | 语音通话录音方法、实时通讯装置及计算机程序产品 | |
CN112379952B (zh) | 一种跨进程回调的实现方法 | |
CN109542841A (zh) | 集群中创建数据快照的方法及终端设备 | |
CN111090513B (zh) | 车联网平台终端链路健康状态的检测方法及存储介质 | |
CN112613955A (zh) | 订单处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |