一种截图方法、系统和存储介质转让专利

申请号 : CN201910361549.6

文献号 : CN110162250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余长宏黄小勇雷磊黄坚李襄陵邓宇郑光宏黄剑谢晓东闵俊文李金

申请人 : 广州微算互联信息技术有限公司

摘要 :

本发明公开了一种截图方法、系统和存储介质,方法包括以下步骤:根据客户端上传的截图请求生成截图key;根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;获取截图命令;根据截图命令调用截图脚本;根据用户截图地址使用截图脚本执行截图操作,得到截图图片;根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内。本发明可用分机房的服务调用代替跨机房的服务调用。本发明可应用于互联网技术领域。

权利要求 :

1.一种截图方法,其特征在于:包括以下步骤:中心机房根据客户端上传的截图请求生成截图key;

中心机房根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;

分机房获取截图命令;

分机房根据截图命令调用截图脚本;

分机房根据用户截图地址使用截图脚本执行截图操作,得到截图图片;

分机房根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;

分机房根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;

通过分机房内的截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内;

其中,所述截图结果保存服务内包含nginx服务,所述nginx为一个HTTP和反向代理WEB服务器。

2.根据权利要求1所述的一种截图方法,其特征在于:还包括以下步骤:根据用户截图地址和截图key生成图片获取请求;

将图片获取请求发送到客户端。

3.根据权利要求1所述的一种截图方法,其特征在于:在将截图key和截图图片路径保存到截图结果保存服务时,还包括以下步骤:将截图图片路径保存到中心机房的redis内。

4.根据权利要求2所述的一种截图方法,其特征在于:还包括以下步骤:接收客户端上传的图片获取请求;

获取图片获取请求内的截图key;

根据图片获取请求内的截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;

根据截图图片路径从文件系统内获取截图图片。

5.根据权利要求1所述的一种截图方法,其特征在于:在根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址这一步骤和获取截图命令这一步骤之间,还包括以下步骤:将截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址保存到中心机房的redis内。

6.根据权利要求5所述的一种截图方法,其特征在于:所述获取截图命令,其具体包括:确定中心机房的管理服务接收到jms消息通知后,根据jms消息通知中的缓存键信息,从中心机房的redis内获取截图参数,所述截图参数包括截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址;

在中心机房的管理服务接收到mq消息时,根据截图参数生成截图命令。

7.根据权利要求1所述的一种截图方法,其特征在于:在获取截图命令这一步骤和根据截图命令调用截图脚本这一步骤之间,还包括以下步骤:通过分机房的管理代理服务和设备运行服务将截图命令发送到分机房的设备运行进程服务。

8.一种截图系统,其特征在于:包括:

至少一个存储器,用于存储程序;

至少一个处理器,用于加载所述程序以执行如权利要求1-7任一项所述的一种截图方法。

9.一种存储介质,其中存储有处理器可执行的指令,其特征在于:所述处理器可执行的指令在由处理器执行时用于实现如权利要求1-7任一项所述的一种截图方法。

说明书 :

一种截图方法、系统和存储介质

技术领域

[0001] 本发明涉及互联网技术领域,尤其是一种截图方法、系统和存储介质。

背景技术

[0002] 随着互联网技术的发展,人们经常会使用浏览器处理各类信息。在使用浏览器处理信息的过程中,当看到有用的信息,或者想要与其他人分享这个信息时,用户一般会在终端使用截图功能,将需要的部分截图下来。在现有截图技术中,截图结果的保存方式是直接通过中心机房的管理服务将截图结果保存到分机房的redis内,redis是一个key-value存储系统,这种截图结果的保存方式,由于管理服务属于中心机房,而截图结果则保存在分机房,使得在查询截图结果时,需使用跨机房调用服务调用分机房内的截图结果,导致调用过程中,涉及的服务过多,因而容易受到网络稳定性的影响。

发明内容

[0003] 为解决上述技术问题,本发明的目的在于:提供一种不需使用跨机房调用服务调用分机房内的截图结果的截图方法、系统和存储介质。
[0004] 本发明所采用的第一种技术方案是:
[0005] 一种截图方法,其包括以下步骤:
[0006] 根据客户端上传的截图请求生成截图key;
[0007] 根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0008] 获取截图命令;
[0009] 根据截图命令调用截图脚本;
[0010] 根据用户截图地址使用截图脚本执行截图操作,得到截图图片;
[0011] 根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;
[0012] 根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;
[0013] 通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内。
[0014] 进一步地,还包括以下步骤:
[0015] 根据用户截图地址和截图key生成图片获取请求;
[0016] 将图片获取请求发送到客户端。
[0017] 进一步地,在将截图key和截图图片路径保存到截图结果保存服务时,还包括以下步骤:
[0018] 将截图图片路径保存到中心机房的redis内。
[0019] 进一步地,还包括以下步骤:
[0020] 接收客户端上传的图片获取请求;
[0021] 获取图片获取请求内的截图key;
[0022] 根据图片获取请求内的截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0023] 根据截图图片路径从文件系统内获取截图图片。
[0024] 进一步地,在根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址这一步骤和获取截图命令这一步骤之间,还包括以下步骤:
[0025] 将截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址保存到中心机房的redis内。
[0026] 进一步地,所述获取截图命令,其具体包括:
[0027] 确定中心机房的管理服务接收到jms消息通知后,根据jms消息通知中的缓存键信息,从中心机房的redis内获取截图参数,所述截图参数包括截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0028] 在中心机房的管理服务接收到mq消息时,根据截图参数生成截图命令。
[0029] 进一步地,在获取截图命令这一步骤和根据截图命令调用截图脚本这一步骤之间,还包括以下步骤:
[0030] 通过分机房的管理代理服务和设备运行服务将截图命令发送到分机房的设备运行进程服务。
[0031] 本发明所采用的第二种技术方案是:
[0032] 一种截图系统,其包括:
[0033] 生成模块,用于根据客户端上传的截图请求生成截图key;
[0034] 获取模块,用于根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;获取截图命令;
[0035] 调用模块,用于根据截图命令调用截图脚本;
[0036] 执行模块,用于根据用户截图地址使用截图脚本执行截图操作,得到截图图片;
[0037] 第一保存模块,用于根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;
[0038] 第二保存模块,用于根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;
[0039] 第三保存模块,用于通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内。
[0040] 本发明所采用的第三种技术方案是:
[0041] 一种截图系统,包括:
[0042] 至少一个存储器,用于存储程序;
[0043] 至少一个处理器,用于加载所述程序以执行所述的一种截图方法。
[0044] 本发明所采用的第四种技术方案是
[0045] 一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现所述的一种截图方法。
[0046] 本发明的有益效果是:本发明通过在分机房内增加截图结果保存服务,并通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内,使得查询截图结果时,可以使用分机房内的服务调用代替跨机房的服务调用,减少网络稳定性对查询过程的影响。

附图说明

[0047] 图1为本发明具体实施例的一种截图方法的流程图;
[0048] 图2为本发明在具体实施例中的应用系统框图。

具体实施方式

[0049] 下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0050] 参照图1,一种截图方法,其包括以下步骤:
[0051] S101、根据客户端上传的截图请求生成截图key;所述截图key是在中心机房的截图接收服务内生成的,所述截图key用于引导截图接收服务向中心机房的数据库获取与设备所属设备管理控制节点对应机房的用户截图地址、文件系统服务地址和截图结果保存服务地址。
[0052] S102、根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;具体是在中心机房的数据库内,获取与设备所属设备管理控制节点对应机房的用户截图地址、文件系统服务地址和截图结果保存服务地址。
[0053] S103、获取截图命令;所述截图命令是在中心机房的管理服务内生成。中心机房的管理服务管理各个管理代理服务。
[0054] S104、根据截图命令调用截图脚本;当设备运行进程服务接收到截图命令时,调用截图脚本。
[0055] S105、根据用户截图地址使用截图脚本执行截图操作,得到截图图片;在设备运行进行服务内,根据用户截图地址确定截图设备,然后使用截图脚本在截图设备上进行截图操作,得到截图图片。
[0056] S106、根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;所述文件系统为Fastdfs,Fastdfs是一种开源的轻量级分布文件系统。根据文件系统服务地址确定文件系统,然后将截图图片保存到文件系统,文件系统根据截图图片生成截图图片路径。
[0057] S107、根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;
[0058] 具体地,通过截图结果保存服务地址确定截图结果保存服务,然后将截图key和截图图片路径保存到截图结果保存服务。
[0059] S108、通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内。具体是通过截图结果保存服务内部的nginx服务,将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内,从而实现截图结果保存服务的多节点部署,其中,nginx为一个高性能的HTTP和反向代理WEB服务器。
[0060] 本发明通过在分机房内增加截图结果保存服务,并通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内,使得查询截图结果时,可以使用分机房内的服务调用代替跨机房的服务调用,减少网络稳定性对查询过程的影响。
[0061] 作为优选的实施方式,还包括以下步骤:
[0062] 根据用户截图地址和截图key生成图片获取请求;所述图片获取请求中包含了用户截图地址和截图key,所述图片获取请求是用于客户端向分机房获取截图图片的指令。
[0063] 将图片获取请求发送到客户端。
[0064] 通过生成图片获取请求,并将图片获取请求发送到客户端,使得客户端可以根据图片获取请求获取到符合要求的截图图片。
[0065] 作为优选的实施方式,在将截图key和截图图片路径保存到截图结果保存服务时,还包括以下步骤:
[0066] 将截图图片路径保存到中心机房的redis内。将截图图片路径保存到中心机房的redis内,当分机房内受到其他因素影响,无法获取截图图片路径时,也可以从中心机房内获取。
[0067] 作为优选的实施方式,还包括以下步骤:
[0068] 接收客户端上传的图片获取请求;具体是分机房内的截图图片获取服务接收客户端上传的图片获取请求。
[0069] 获取图片获取请求内的截图key;
[0070] 根据图片获取请求内的截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;是通过匹配分机房的redis内的截图key来获取截图图片路径。具体是设定的时间内多次尝试获取截图图片路径,若获取不到截图图片路径,则直接将错误提示信息发送都客户端,并结束流程,若在规定时间内获取到截图图片路径,则可进行下一步骤。
[0071] 根据截图图片路径从文件系统内获取截图图片。当在规定时间内获取截图图片路径,则截图图片获取服务会从文件系统内获取截图图片。
[0072] 作为优选的实施方式,在根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址这一步骤和获取截图命令这一步骤之间,还包括以下步骤:
[0073] 将截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址保存到中心机房的redis内。所述截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址都存在关联关系,当获取到其中一个信息,即可获取到其他信息,但是,若第一个信息匹配不到,则其他信息也查找不到,减少redis的访问数量。而将截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址保存到中心机房的redis内,当分机房内受到其他因素影响,无法获取需要信息时,则可以从中心机房内获取。
[0074] 作为优选的实施方式,所述获取截图命令,其具体包括:
[0075] 确定中心机房的管理服务接收到jms消息通知后,根据jms消息通知中的缓存键信息,从中心机房的redis内获取截图参数,所述截图参数包括截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0076] 在中心机房的管理服务接收到mq消息时,根据截图参数生成截图命令。
[0077] 本步骤是为了避免服务器频繁的处理不必要的进程,减少中心机房的访问压力。
[0078] 作为优选的实施方式,在获取截图命令这一步骤和根据截图命令调用截图脚本这一步骤之间,还包括以下步骤:
[0079] 通过分机房的管理代理服务和设备运行服务将截图命令发送到分机房的设备运行进程服务。本步骤是为了通过分机房模式来解决集中的问题。
[0080] 本发明在如图2所示系统中的应用过程如下:
[0081] A1、客户端发送截图请求到截图接收服务;
[0082] A2、截图接收服务根据截图请求生成截图key;
[0083] A3、截图接收服务从步骤B1中获取用户截图地址,然后根据截图key生成图片获取请求,并将图片获取请求返回到客户端;
[0084] 其中,在步骤A3返回之前,就开始执行步骤B1,在步骤B3流程中发送jms消息后,A流程和B流程即相互独立往后执行。
[0085] B1、从中心机房的数据库内获取与所属设备管理节点对应机房的用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0086] B2、将截图参数保存到中心机房的redis内,所述截图参数包括截图key、用户截图地址、文件系统服务地址和截图结果保存服务地址;
[0087] B3、中心机房的截图接收服务向activemq发送jms消息通知中心机房的管理服务,其中,activemq为开源消息总线;
[0088] B4、中心机房的管理服务监听activemq中的截图命令消息,并接收jms消息;
[0089] B5、中心机房的管理服务根据jms消息中的缓存键信息,从中心机房的redis中获取截图参数;
[0090] B6、中心机房的管理服务确定接收到截图命令消息后,向分机房的管理代理服务发送截图命令;
[0091] B7、分机房的管理代理服务将截图命令发送到分机房的设备运行服务内;
[0092] B8、分机房的设备运行服务再次将截图命令发送到分机房的设备运行进程服务内;
[0093] B9、分机房的设备运行进程服务接收到截图命令后,调用截图脚本,并在设备上执行截图操作,获取截图图片;
[0094] 其中,步骤B6-B9起到的是一个代理服务的作用,具体是用分机房模式解决集中的问题。
[0095] B10、分机房的设备运行进程服务根据文件系统服务地址将截图图片上传到文件系统,并从文件系统中获取截图图片路径;
[0096] B11、(包含步骤B11.1)分机房的设备运行进程服务将截图key和截图图片路径上报给截图结果保存服务内,截图结果保存服务将截图key和截图图片路径保存到分机房的redis内,具体通过截图结果保存服务内的nginx服务实现截图结果保存服务的多节点部署;
[0097] B12、分机房的设备运行进程服务还会将截图图片路径发送到分机房的设备运行服务内;
[0098] B13、分机房的设备运行服务再将截图图片路径发送到分机房的管理代理服务;
[0099] B14、分机房的管理代理服务将截图图片路径发送到中心机房的管理服务内;
[0100] B15、中心机房的管理服务最后将截图图片路径保存到中心机房的redis内;
[0101] C1、客户端将中心机房的截图接收服务返回的图片获取请求发送到nginx内;
[0102] C2、分机房的nginx将图片获取请求发送到分机房指定的截图图片获取服务;
[0103] C3、分机房的截图图片获取服务从分机房的redis内获取截图图片路径,若在规定时间内未获取到截图图片路径,则直接将错误信息返回到客户端,并结束流程,若在规定时间内获取到截图图片路径,则进行步骤C4-C6;
[0104] C4、分机房的截图图片获取服务根据截图图片路径从文件系统内获取截图图片;
[0105] C5、分机房的截图图片获取服务将截图图片发送到分机房的nginx内;
[0106] C6、分机房的nginx将截图图片转发到客户端。
[0107] 本发明实施例还提供了一种与图1方法相对应的截图系统,其包括:
[0108] 生成模块,用于根据客户端上传的截图请求生成截图key;
[0109] 获取模块,用于根据截图key获取用户截图地址、文件系统服务地址和截图结果保存服务地址;获取截图命令;
[0110] 调用模块,用于根据截图命令调用截图脚本;
[0111] 执行模块,用于根据用户截图地址使用截图脚本执行截图操作,得到截图图片;
[0112] 第一保存模块,用于根据文件系统服务地址将截图图片保存到文件系统,并从文件系统中获取截图图片路径;
[0113] 第二保存模块,用于根据截图结果保存服务地址将截图key和截图图片路径保存到截图结果保存服务;
[0114] 第三保存模块,用于通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内。
[0115] 上述方法实施例中的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法所达到的有益效果也相同。
[0116] 本发明实施例还提供了一种与图1方法相对应的截图系统,包括:
[0117] 至少一个存储器,用于存储程序;
[0118] 至少一个处理器,用于加载所述程序以执行所述的一种截图方法。
[0119] 上述方法实施例中的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法所达到的有益效果也相同。
[0120] 此外,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于实现所述的一种截图方法。
[0121] 综上所述,本发明通过在分机房内增加截图结果保存服务,并通过截图结果保存服务将截图key和截图图片路径保存到与设备管理控制节点对应的分机房的redis内,使得查询截图结果时,可以使用分机房内的服务调用代替跨机房的服务调用,减少网络稳定性对查询过程的影响;进一步地,本发明通过将截图参数和截图图片路径保存到中心机房的redis内,当分机房内受到其他因素影响,无法获取所需信息时,能够从中心机房内获取。
[0122] 以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。