一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种云主机对关机来源进行溯源的方法及相关装置与流程

2021-12-03 22:54:00 来源:中国专利 TAG:


1.本发明涉及游戏服务技术领域,特别是涉及一种云主机对关机来源进行溯源的方法,一种云主机对关机来源进行溯源的装置,一种云主机对关机来源进行溯源的设备以及一种计算机可读存储介质。


背景技术:

2.随着计算机科学的发展,计算机性能也在不断提高。游戏和视频渲染剪辑是计算机的一项重要应用场景,这些游戏以及渲染剪辑软件能够渲染出逼真的画面,给玩家带来极佳的游戏体验。但同时,这些游戏和渲染剪辑软件对计算机性能的要求也普遍较高,许多玩家因为低配设备的限制,无法体验到上述游戏和软件,而要购买一台能够流畅运行上述游戏和渲染剪辑软件的计算机,将会是一笔不小的开支,所以大量玩家只能放弃。云电脑的出现,使得上述问题得到了很好的解决。
3.云电脑是随着网络技术和云计算技术发展而诞生出的一种新型的云端主机方式。在云电脑方式中,所有的游戏和渲染剪辑程序都在云游戏服务提供商提供的云主机上运行,云主机负责利用其高性能cpu和gpu渲染出游戏画面和视频牛内容,视频串流程序会将云主机显示的画面进行压缩,然后通过网络传输给用户。这样,用户只需要拥有一台具备基本视频解压能力的设备,就可以流畅的体验各类需要高性能硬件的游戏,也可以愉快高效地进行视频剪辑和渲染操作,当然还可以进行几乎所以电脑操作,就像本地系统一样,唯一不同的是一切都更加快速和高效。
4.而作为云电脑提供商,需要提供一整套的云端算例智能调配和管理系统,以下简称调度系统。其中调度系统需要关心以下信息,包括但不限于对云端主机的异常关机和重启的来源信息的信息,以及利用上述信息进行云主机的状态感知和云主机算例再分配,这其中一点是调度系统需要知道云主机关机或重启的最开始的发起源,也就是关机请求发起的源进程,以及其详细信息,并根据上述信息进行算例的重新调度或算例释放。
5.但是在现阶段很难用常规方式知道是谁发起了关机操作,大多数情况下我们只能知道系统有了关机请求,而不知道请求来源。所以如何提供一种云主机对关机来源进行溯源的方案是本领域技术工人员急需解决的问题。


技术实现要素:

6.本发明的目的是提供一种云主机对关机来源进行溯源的方法,可以对云主机的关机来源进行溯源;本发明的另一目的在于提供一种云主机对关机来源进行溯源的装置,一种云主机对关机来源进行溯源的设备以及一种计算机可读存储介质,可以对云主机的关机来源进行溯源。
7.为解决上述技术问题,本发明提供一种云主机对关机来源进行溯源的方法,包括:
8.当云主机的预设内核api被调用时,拦截所述预设内核api的进程上下文;所述预设内核api包括所述云主机根据关机请求所需调用的内核api;
9.当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息。
10.可选的,所述预设内核api包括:
11.ntshutdownsystem内核api、ntinitiatepoweraction内核api、和ntusercallnoparam内核api。
12.可选的,所述当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息包括:
13.当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定首个产生的进程上下文作为源进程上下文;
14.从所述源进程上下文中确定发送所述关机请求的进程源的进程信息。
15.可选的,所述进程信息包括:
16.进程对象、进程id、进程名称和进程路径。
17.可选的,在所述当云主机的预设内核api被调用时,拦截所述内核api的进程上下文之前,还包括:
18.通过infinityhook库对所述预设内核api进行关联;
19.所述当云主机的预设内核api被调用时,拦截所述预设内核api的进程上下文包括:
20.当云主机的预设内核api被调用时,通过所述infinityhook库拦截所述预设内核api的进程上下文。
21.可选的,在所述当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息之后,还包括:
22.将所述进程信息上传至后台存储。
23.可选的,在所述当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息之后,还包括:
24.继续调用被拦截的所述预设内核api。
25.本发明还提供了一种云主机对关机来源进行溯源的装置,包括:
26.拦截模块,用于当云主机的预设内核api被调用时,拦截所述内核api的进程上下文;所述预设内核api包括所述云主机根据关机请求所需调用的内核api;
27.溯源模块,用于当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息。
28.本发明还提供了一种云主机对关机来源进行溯源的设备,所述设备包括:
29.存储器:用于存储计算机程序;
30.处理器:用于执行所述计算机程序时实现如上述任一项所述云主机对关机来源进
行溯源的方法的步骤。
31.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述云主机对关机来源进行溯源的方法的步骤。
32.本发明所提供的一种云主机对关机来源进行溯源的方法,包括当云主机的预设内核api(application programming interface,应用程序接口)被调用时,拦截内核api的进程上下文;预设内核api包括云主机根据关机请求所需调用的内核api;当根据拦截的进程上下文确定进程上下文为云主机根据关机请求所产生的进程上下文时,从进程上下文中确定发送关机请求的进程源的进程信息。
33.通过对在关机时会被调用的内核api进行监控,并在被监控的内核api内调用时,根据其进程上下文进行溯源,从而确定出发送关机请求的进程源,以便于维护人员对云主机的调度。
34.本发明还提供了一种云主机对关机来源进行溯源的装置,一种云主机对关机来源进行溯源的设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。
附图说明
35.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本发明实施例所提供的一种云主机对关机来源进行溯源的方法的流程图;
37.图2为本发明实施例所提供的一种具体的云主机对关机来源进行溯源的方法的流程图;
38.图3为本发明实施例所提供的一种云主机对关机来源进行溯源的装置的结构框图;
39.图4为本发明实施例所提供的一种云主机对关机来源进行溯源的设备的结构框图。
具体实施方式
40.本发明的核心是提供一种云主机对关机来源进行溯源的方法。在现有技术中,云主机作为和本地主机几乎完全一致的系统,用户可以使用常规的window菜单进行关机或重启,可以使用shutdown命令行,可以使用自己或者第三方编写的程序以及windows提供的众多api进行关机,包括但不限于exitwindowex等api。所以,我们很难用常规方式知道是谁发起了关机操作,大多数情况下我们只能知道系统有了关机请求,而不知道请求来源。而这对于调度系统来说是不友好的,将导致难以判断主机行为和状态,即使是程序bug导致的异常关机调用也可能被调度系统判断为正常关机,或者即使是调度系统判定是不明原因关机,但是云主机维护管理人员却不知道该不明原因产生的具体问题点,更严重的是可能导致云主机总是被程序异常关机,导致无法连续为用户提供服务,最终导致云主机体验大打折扣。
41.而本发明所提供的一种云主机对关机来源进行溯源的方法,包括当云主机的预设内核api被调用时,拦截内核api的进程上下文;预设内核api包括云主机根据关机请求所需调用的内核api;当根据拦截的进程上下文确定进程上下文为云主机根据关机请求所产生的进程上下文时,从进程上下文中确定发送关机请求的进程源的进程信息。
42.通过对在关机时会被调用的内核api进行监控,并在被监控的内核api内调用时,根据其进程上下文进行溯源,从而确定出发送关机请求的进程源,以便于维护人员对云主机的调度。
43.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.请参考图1,图1为本发明实施例所提供的一种云主机对关机来源进行溯源的方法的流程图。
45.参见图1,在本发明实施例中,云主机对关机来源进行溯源的方法包括:
46.s101:当云主机的预设内核api被调用时,拦截预设内核api的进程上下文。
47.在本发明实施例中,所述预设内核api包括所述云主机根据关机请求所需调用的内核api。即在本发明实施例中,首先需要确定云主机在接收到关机请求时,可能会被调用的预设内核api。上述关机请求所对应的关机操作可以是关机或者是重启均可,在本发明实施例中不做具体限定。通常情况下,当云主机接收到关机请求之后,就会根据该关机请求执行对应的关机操作。而关机请求在执行过程中,必然会调用云主机内的部分api。而在本步骤中,则会监控上述云主机根据关机请求所需调用的预设内核api,并在该预设内核api被调用时,拦截预设内核api的进程上下文。需要说明的是,在本步骤中所拦截的上下文具体为进程上下文,该进程上下文包括有上述关机请求在被执行是各个软件的进程信息。
48.具体的,在本发明实施例中,所述预设内核api包括:
49.ntshutdownsystem内核api、ntinitiatepoweraction内核api、和ntusercallnoparam内核api。
50.上述三种内核api是云主机在收到关机请求时,必然会至少调用上述一个内核api。因此在本发明实施例中对上述三个内核api进行监控,即可以在第一时间对关机请求进行溯源。当然,若云主机在根据关机请求执行关机或重启操作时,还会有其他必然调用的内核api时,在本发明实施例中同样可以对其进行监控,有关预设内核api的具体内容在本发明实施例中不做具体限定。
51.需要说明的是,在本步骤中当任意一个预设内核api内调用时,均会执行本步骤,以保证可以拦截全部对应关机请求的进程上下文。
52.s102:当根据拦截的进程上下文确定进程上下文为云主机根据关机请求所产生的进程上下文时,从进程上下文中确定发送关机请求的进程源的进程信息。
53.在本步骤中,首先需要判断拦截的进程上下文为云主机根据上述关机请求所产生的进程上下文。通常情况下,在本步骤中具体可以根据该进程上下文的首个参数,结合被调用的预设内核api的具体种类,可以确定此次拦截的进程上下文是否为云主机根据上述关机请求所产生的进程上下文。例如,对ntshutdownsystem内核api进行拦截所得到的进程上
下文,分析该进程上下文的第一个参数,该参数是shutdown_action类型的参数,其如果是0或者2表示是关机操作,如果是1表示是重启操作;对ntinitiatepoweraction内核api进行拦截所得到的进程上下文,分析该进程上下文的第一个参数,其中第一个参数是power_action类型,如果该数值是4或6表示是关机操作,如果是5表示是重启操作;对ntusercallnoparam内核api进行拦截所得到的进程上下文,分析该进程上下文的第一个参数,如果第一个参数是0x14,则其对应的是关机或重启操作,此处不再进行具体区分。
54.之后,在本步骤中会对云主机根据关机请求所产生的进程上下文进行解析,从该进程上下文中确定发送关机请求的进程源的进程信息。所谓进程源即发送上述关机请求的进程,而该进程源的进程信息即可以表征该进程源状态,以及上述关机请求传递路径等信息。具体的,在本发明实施例中,所述进程信息通常包括:进程对象、进程id、进程名称和进程路径。有关上述进程信息的具体内容可以根据实际情况自行设定,在此不做具体限定。
55.本发明实施例所提供的一种云主机对关机来源进行溯源的方法,包括当云主机的预设内核api被调用时,拦截内核api的进程上下文;预设内核api包括云主机根据关机请求所需调用的内核api;当根据拦截的进程上下文确定进程上下文为云主机根据关机请求所产生的进程上下文时,从进程上下文中确定发送关机请求的进程源的进程信息。
56.通过对在关机时会被调用的内核api进行监控,并在被监控的内核api内调用时,根据其进程上下文进行溯源,从而确定出发送关机请求的进程源,以便于维护人员对云主机的调度。
57.有关本发明所提供的一种云主机对关机来源进行溯源方法的具体内容将在下述发明实施例中做详细介绍。
58.请参考图2,图2为本发明实施例所提供的一种具体的云主机对关机来源进行溯源的方法的流程图。
59.参见图2,在本发明实施例中,云主机对关机来源进行溯源的方法包括:
60.s201:通过infinityhook库对预设内核api进行关联。
61.在本步骤中,具体会通过infinityhook库,基于infinityhook技术对上述预设内核api进行关联。具体的,在本步骤中会通过infinityhook库hook上述预设内核api,以便在后续步骤中拦截预设内核api的进程上下文。有关infinityhook库以及infinityhook技术的具体内容可以参考现有技术,在此不再进行赘述。
62.s202:当云主机的预设内核api被调用时,通过infinityhook库拦截预设内核api的进程上下文。
63.在本步骤中,具体是通过上述infinityhook库拦截上述预设内核api的进程上下文,其余内容已在上述发明实施例中s101做详细介绍,在此不再进行赘述。
64.s203:当根据拦截的进程上下文确定进程上下文为云主机根据关机请求所产生的进程上下文时,从进程上下文中确定首个产生的进程上下文作为源进程上下文。
65.在本步骤中选取进程上下文的具体过程已在上述发明实施例中s102做详细介绍,在此不再进行赘述。在本步骤中,会从选取的进程上下文中确定首个产生的进程上下文作为源进程上下文,其中首个产生的进程上下文具体对应的就是首个产生关机请求的进程源,因此在本步骤中需要筛选出对应首个产生关机请求的进程源所产生的进程上下文,并将该进程上下文作为源进程上下文。
66.s204:从源进程上下文中确定发送关机请求的进程源的进程信息。
67.在本步骤中,具体会从上述源进程上下文中确定出本发明实施例所需要的进程信息。
68.s205:将进程信息上传至后台存储。
69.在本步骤中,会将s204查询到的进程信息上传至后台进行存储,以便工作人员从后台查询上述进程信息。
70.s206:继续调用被拦截的预设内核api。
71.在本步骤中,会在确定出上述进程信息之后,继续调用被拦截的预设内核api,即继续执行对应关机请求的操作,以执行整个流程。需要说明的是,本步骤与上述s205之间可以并行的执行,或者是先执行任一步骤均可,视具体情况而定,在此不做具体限定。
72.本发明实施例所提供的一种云主机对关机来源进行溯源的方法,通过对在关机时会被调用的内核api进行监控,并在被监控的内核api内调用时,根据其进程上下文进行溯源,从而确定出发送关机请求的进程源,以便于维护人员对云主机的调度。
73.下面对本发明实施例所提供的一种云主机对关机来源进行溯源的装置进行介绍,下文描述的云主机对关机来源进行溯源的装置与上文描述的云主机对关机来源进行溯源的方法可相互对应参照。
74.请参考图3,图3为本发明实施例所提供的一种云主机对关机来源进行溯源的装置的结构框图。参照图3,云主机对关机来源进行溯源的装置可以包括:
75.拦截模块100,用于当云主机的预设内核api被调用时,拦截所述内核api的进程上下文;所述预设内核api包括所述云主机根据关机请求所需调用的内核api。
76.溯源模块200,用于当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定发送所述关机请求的进程源的进程信息。
77.作为优选的,在本发明实施例中,所述预设内核api包括:
78.ntshutdownsystem内核api、ntinitiatepoweraction内核api、和ntusercallnoparam内核api。
79.作为优选的,在本发明实施例中,所述溯源模块200包括:
80.源进程溯源单元,用于当根据拦截的所述进程上下文确定所述进程上下文为所述云主机根据所述关机请求所产生的进程上下文时,从所述进程上下文中确定首个产生的进程上下文作为源进程上下文。
81.进程信息单元,用于从所述源进程上下文中确定发送所述关机请求的进程源的进程信息。
82.作为优选的,在本发明实施例中,所述进程信息包括:
83.进程对象、进程id、进程名称和进程路径。
84.作为优选的,在本发明实施例中,还包括:
85.关联模块,用于通过infinityhook库对所述预设内核api进行关联。
86.拦截模块100具体用于:
87.当云主机的预设内核api被调用时,通过所述infinityhook库拦截所述预设内核api的进程上下文。
88.作为优选的,在本发明实施例中,还包括:
89.存储模块,用于将所述进程信息上传至后台存储。
90.作为优选的,在本发明实施例中,还包括:
91.调用模块,用于继续调用被拦截的所述预设内核api。
92.本实施例的云主机对关机来源进行溯源的装置用于实现前述的云主机对关机来源进行溯源的方法,因此云主机对关机来源进行溯源的装置中的具体实施方式可见前文中的云主机对关机来源进行溯源的方法的实施例部分,例如,拦截模块100,溯源模块200分别用于实现上述云主机对关机来源进行溯源的方法中步骤s101至s102,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
93.下面对本发明实施例提供的一种云主机对关机来源进行溯源的设备进行介绍,下文描述的云主机对关机来源进行溯源的设备与上文描述的云主机对关机来源进行溯源的方法以及云主机对关机来源进行溯源的装置可相互对应参照。
94.请参考图4,图4为本发明实施例所提供的一种云主机对关机来源进行溯源的设备的结构框图。
95.参照图4,该云主机对关机来源进行溯源的设备可以包括处理器11和存储器12。
96.所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的云主机对关机来源进行溯源的方法的具体内容。
97.本实施例的云主机对关机来源进行溯源的设备中处理器11用于安装上述发明实施例中所述的云主机对关机来源进行溯源的装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的云主机对关机来源进行溯源的方法。因此云主机对关机来源进行溯源的设备中的具体实施方式可见前文中的云主机对关机来源进行溯源的方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
98.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种云主机对关机来源进行溯源的方法。其余内容可以参照现有技术,在此不再进行展开描述。
99.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
100.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
101.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
102.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
103.以上对本发明所提供的一种云主机对关机来源进行溯源的方法,一种云主机对关机来源进行溯源的装置,一种云主机对关机来源进行溯源的设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献