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

通信连接方法、装置、电子设备和存储介质与流程

2022-12-02 23:56:56 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,具体而言,涉及通信连接方法、装置、电子设备和存储介质。


背景技术:

2.随着科学技术的不断发展,通常需要在应用程序和浏览器插件之间进行数据传输,因此需要两者之间构建通信连接。
3.目前将应用程序和浏览器插件构建通信连接的方式,主要通过将浏览器插件的路径和应用程序的路径,均添加到操作系统(例如,windows)的注册表,这样在进行数据传输时,能够通过该注册表获取数据接收方的路径,进而进行数据传输。
4.然而,应用程序和浏览器插件之间的这种连接方式,通常依赖于诸于windows等操作系统,难以跨操作系统适用。


技术实现要素:

5.本技术实施例的目的在于提供通信连接方法、装置、电子设备和存储介质,用于解决现有技术中的问题。
6.本技术实施例第一方面提供了一种通信连接方法,所述方法应用于应用程序,所述应用程序包括websocket通信模块,所述方法包括:
7.获取浏览器插件所发送的连接请求,所述连接请求包括权限校验信息以及所述浏览器插件的标识信息;
8.根据所述权限校验信息,对所述标识信息所标识的所述浏览器插件的连接权限进行校验;
9.在校验通过的情况下,通过所述websocket通信模块构建与所述浏览器插件的通信连接。
10.于一实施例中,所述方法还包括:
11.利用所述应用程序所集成的python框架环境,生成所述websocket通信模块。
12.于一实施例中,所述连接请求还包括所述浏览器插件一个或多个连接节点的连接路径;以及,
13.在校验通过的情况下,通过所述websocket通信模块构建与所述浏览器插件的通信连接,具体包括:
14.在校验通过的情况下,通过所述websocket通信模块以及所述连接路径,构建与所述浏览器插件一个或多个连接节点的通信连接。
15.于一实施例中,所述方法还包括:
16.获取所述浏览器插件所发送的权限注册请求;
17.对所述浏览器插件的连接权限进行注册。
18.于一实施例中,所述方法还包括:
19.利用所述websocket通信模块与所述浏览器插件之间进行数据传输。
20.于一实施例中,利用所述websocket通信模块与所述浏览器插件之间进行数据传输,具体包括:
21.利用所述websocket通信模块,向所述浏览器插件发送网页修改数据。
22.本技术实施例第二方面提供了一种通信连接装置,所述装置应用于应用程序,所述应用程序包括websocket通信模块,所述装置包括:
23.获取单元,用于获取浏览器插件所发送的连接请求,所述连接请求包括权限校验信息以及所述浏览器插件的标识信息;
24.校验单元,用于根据所述权限校验信息,对所述标识信息所标识的所述浏览器插件的连接权限进行校验;
25.连接单元,用于在校验通过的情况下,通过所述websocket通信模块构建与所述浏览器插件的通信连接。
26.于一实施例中,所述装置还包括:
27.生成单元,用于利用所述应用程序所集成的python框架环境,生成所述websocket通信模块。
28.本技术实施例第三方面提供了一种存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行本技术方法实施例中任一项所述的方法。
29.采用本技术实施例所提供的通信连接方法,该方法应用于应用程序,并且该应用程序包括websocket通信模块,该包括获取浏览器插件所发送的连接请求,然后根据连接请求中的权限校验信息,对连接请求中标识信息所标识的浏览器插件的连接权限进行校验,并在校验通过的情况下,通过应用程序中的websocket通信模块,构建与该浏览器插件的通信连接。在该方法中,应用程序由于包括websocket通信模块,因此能够通过websocket通信模块与浏览器插件之间建立通信连接,在该通信连接的建立过程中并不依赖于注册表,因此能够适用于windows、linux等多种操作系统,实现跨操作系统的适用。
附图说明
30.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
31.图1为本技术一实施例提供的电子设备的具体结构示意图;
32.图2为本技术一实施例提供的,通信连接方法的具体流程示意图;
33.图3为本技术一实施例提供的,通信连接装置的具体结构示意图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术的描述中,诸如“第一”、“第二”、“第三”等术语仅用于区分描述,而不能理解为指示或暗示相对重要性或先后顺序。
35.如前所述,目前将应用程序和浏览器插件构建通信连接的方式,主要通过将浏览
器插件的路径和应用程序的路径,均添加到操作系统的注册表,这样在进行数据传输时,从而能够通过该注册表获取数据接收方的路径,进而进行数据传输。比如,浏览器插件需要向应用程序发送数据时,能够通过注册表获取应用程序的路径,进而发送数据。然而,应用程序和浏览器插件之间的这种连接方式,通常依赖于诸于windows等操作系统,难以跨操作系统适用。
36.基于此,本技术实施例提供了一种通信连接方法、装置、电子设备和存储介质,能够构建应用程序和浏览器插件之间的通信连接,并且还能够跨操作系统的适用。如图1所示为本实施例所提供的一种电子设备1,该电子设备1包括:至少一个处理器11和存储器12,图1中以一个处理器为例。其中,处理器11和存储器12可以通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。
37.在实际应用中,该电子设备1可以是手机、笔记本电脑、台式电脑或其组成的大型服务器或服务器集群等。比如,在本技术实施例的应用场景中,针对网络内容进行爬取时,该电子设备1可以作为服务器或服务器集群等。
38.本技术实施例提供了一种通信连接方法,其中,该方法可以由图1所示的电子设备1来执行,如图2所示为该方法的具体流程示意图。需要说明的是,该方法可以应用于应用程序,使应用程序构建与浏览器插件之间的通信连接。另外,该应用程序包括websocket通信模块,该websocket通信模块能够基于websocket通信协议,使应用程序与所连接的浏览器插件之间进行通信。其中,该websocket通信协议是一种在单个tcp连接上进行全双工通信的协议。
39.结合图2所示,该方法包括如下步骤:
40.步骤s21:获取浏览器插件所发送的连接请求。
41.该浏览器插件可以是基于浏览器所开发的插件,该插件的功能比如可以是获取网页数据、填充网页数据等,该浏览器比如可以是chrome浏览器或其他浏览器,这里并不对浏览器的类型以及插件的功能进行具体限定。
42.其中,连接请求包括权限校验信息以及浏览器插件的标识信息。该浏览器插件的标识信息,能够唯一标识对应的浏览器插件,在实际应用中,该标识信息可以是浏览器插件的名称、版本信息、提供商信息等。该权限校验信息能够用于校验该标识信息所标识的浏览器插件,是否具有连接权限,在实际应用中,该权限校验信息比如可以是签名信息等。
43.在需要与应用程序进行连接时,浏览器插件能够向应用程序发送连接请求,从而请求与应用程序进行连接,应用程序的websocket通信模块能够接收到该浏览器插件所发送的连接请求。
44.比如,在定时任务的触发下,浏览器插件需要向应用程序发送数据,或需要从应用程序获取数据,此时需要先与应用程序进行连接,因此向应用程序发送连接请求,该连接请求包括权限校验信息以及浏览器插件的标识信息,从而使应用程序的websocket通信模块能够接收到该连接请求。
45.当然,考虑到应用程序可能需要与多个浏览器插件进行通信连接,比如多个不同的浏览器插件在短时间内,分别向应用程序发送了连接请求,此时为了降低通信阻塞,可以预先构建请求队列,并将这些浏览器插件分别所发送的连接请求,根据发送时刻的先后顺
序添加至该请求队列,然后应用程序的websocket通信模块,能够根据该请求队列中连接请求的排列顺序,依次获取连接请求。
46.步骤s22:根据连接请求中的权限校验信息,对连接请求中标识信息所标识的浏览器插件的连接权限进行校验。
47.上述提到,连接请求包括权限校验信息以及浏览器插件的标识信息,因此能够通过该权限校验信息,对标识信息所标识的浏览器插件的连接权限进行校验,比如可以结合白名单或黑名单来对该权限进行校验,其中,该白名单所记录的权限校验信息,用于指示标识信息所标识的浏览器插件具有连接权限,而黑名单所记录的权限校验信息,用于指示标识信息所标识的浏览器插件不具有连接权限。
48.因此,可以利用连接请求中的权限校验信息对白名单进行查询,当查询到白名单中包括该连接请求中的权限校验信息时,说明标识信息所标识的浏览器插件具有连接权限,此时校验通过;或,当查询到白名单中不包括该连接请求中的权限校验信息时,说明标识信息所标识的浏览器插件不具有连接权限,此时校验不通过。
49.也可以利用连接请求中的权限校验信息对黑名单进行查询,当查询到黑名单中包括该连接请求中的权限校验信息时,说明标识信息所标识的浏览器插件不具有连接权限,此时校验不通过;或,当查询到黑名单中包括该连接请求中的权限校验信息时,说明标识信息所标识的浏览器插件具有连接权限,此时校验通过。
50.在实际应用中,该方法还可以包括获取浏览器插件所发送的权限注册请求,从而对该浏览器插件的连接权限进行注册。比如,该权限注册请求可以包括权限校验信息(比如签名信息),这样应用程序的websocket通信模块在获取到该权限注册请求之后,能够通过自动审核或利用人工审核的方式对该权限校验信息进行审核,并在审核通过的情况下,将该权限校验信息添加到白名单,从而完成注册;或,在审核不通过的情况下,将该权限校验信息添加到黑名单等,此时注册失败。
51.当然,为了便于进行审核,该权限注册请求通常还可以包括浏览器插件的标识信息,比如该浏览器插件的名称、版本号等,以使得后续审核过程中,利用该名称、版本号等进行审核。
52.步骤s23:在校验通过的情况下,通过应用程序中的websocket通信模块构建与浏览器插件的通信连接。
53.在上述步骤s22中,如果校验通过,比如白名单中包括连接请求中的权限校验信息等,此时可以通过应用程序中的websocket通信模块,构建与浏览器插件的通信连接,该通信连接可以是基于websocket通信协议的websocket通信连接。
54.采用本技术实施例所提供的通信连接方法,该方法应用于应用程序,并且该应用程序包括websocket通信模块,该包括获取浏览器插件所发送的连接请求,然后根据连接请求中的权限校验信息,对连接请求中标识信息所标识的浏览器插件的连接权限进行校验,并在校验通过的情况下,通过应用程序中的websocket通信模块,构建与该浏览器插件的通信连接。在该方法中,应用程序由于包括websocket通信模块,因此能够通过websocket通信模块与浏览器插件之间建立通信连接,在该通信连接的建立过程中并不依赖于注册表,因此能够适用于windows、linux等多种操作系统,实现跨操作系统的适用。
55.需要说明的是,当浏览器或打开网页启动之后,浏览器插件(比如,该浏览器插件
的功能为获取网页数据、填充网页数据)通常会依据chrome运行规范而激活,此时可以向应用程序发送连接请求,该连接请求包括权限校验信息以及浏览器插件的标识信息。相应的,应用程序能够通过上述步骤s21获取该连接请求,并通过执行上述步骤s22和s23,进而实现与浏览器插件之间的通信连接,该通信连接的方式通常可以是长连接。
56.另外,浏览器插件可以有一个或多个连接节点,可以通过这些连接节点与该浏览器插件之间建立通信连接,其中,该连接节点的类型可以是xpath节点,也可以是其他类型的节点。因此在上述步骤s21中,连接请求还可以包括该浏览器插件一个或多个连接节点的连接路径,这样步骤s23在校验通过的情况下,能够通过websocket通信模块以及该连接路径,构建与浏览器插件一个或多个连接节点的通信连接。
57.在实际应用中,应用程序在正常运行或即将启动的情况下,能够启动websocket通信模块,进而提供相应的连接端口;此时,若浏览器插件也依据chrome运行规范而激活,可以通过该连接端口向应用程序发送连接请求,该连接请求可以包括限校验信息、浏览器插件的标识信息、一个或多个连接节点的连接路径等,这样应用程序能够根据限校验信息对该浏览器插件的连接权限进行校验,并在校验通过的情况下,通过该连接路径建立与一个或多个连接节点的通信连接;此时,浏览器插件也能够通过浏览器的background js接口,创建常驻内存到应用程序的网络连接。
58.该连接请求还可以包括浏览器插件多个连接节点的连接路径;这样在校验通过的情况下,能够从这些连接节点中筛选出目标连接节点,该目标连接节点可以是通信效率较高的连接节点,也可以是较少出现阻塞的连接节点等,然后利用该目标连接节点的连接路径,建立与该目标连接节点的通信连接。
59.当然,从这些连接节点中筛选出目标连接节点时,可以自动进行筛选,比如根据这些连接节点的通信效率、阻塞等数据,进行自动筛选,也可以先将这些连接节点在应用程序的操作界面中进行展示,然后根据相关操作人员的鼠标点击、触控等选择操作所选定的连接节点,作为该目标连接节点。
60.上述提到,该应用程序包括websocket通信模块,因此为了使该应用程序包括websocket通信模块,可以预先利用应用程序所集成的python框架环境,生成该websocket通信模块。比如,在该应用程序集成python框架环境,然后基于该python框架环境进行开发,从而生成该websocket通信模块。
61.另外,应用程序在通过websocket通信模块构建与浏览器插件的通信连接之后,两者之间还可以进行数据传输,该数据传输可以是双向的数据传输,比如可以是应用程序通过websocket通信模块向浏览器插件发送数据,也可以是浏览器插件通过该websocket通信模块向应用程序发送数据。
62.比如,上述的浏览器具体为chrome,浏览器插件具体为修改网页数据的浏览器插件,该浏览器插件能够通过与应用程序的通信来获取网页修改数据,进而对网页进行修改。具体来说,在上述步骤s23,通过应用程序中的websocket通信模块构建与浏览器插件的通信连接之后,应用程序能够将网页修改数据封装成json格式,进而利用websocket通信模块,向浏览器插件发送网页修改数据。其中,该网页修改数据可以包括网页数据,比如网页的js、css、节点信息等,该网页修改数据还可以包括指示信息,比如对网页节点的增、删、改、查等操作的指示信息。
63.这样,浏览器插件在接收到该网页修改数据之后,能够根据其中的指示信息和网页数据,对网页进行修改。
64.基于与本技术实施例所提供的,通信连接方法相同的发明构思,本技术实施例还提供了一种通信连接装置,对于该装置实施例,如有不清楚之处,可以参考方法实施例的相应内容。该装置应用于应用程序,所述应用程序包括websocket通信模块。如图3所示,该装置30包括获取单元301、校验单元302和连接单元303,其中:
65.获取单元301,用于获取浏览器插件所发送的连接请求,所述连接请求包括权限校验信息以及所述浏览器插件的标识信息;
66.校验单元302,用于根据所述权限校验信息,对所述标识信息所标识的所述浏览器插件的连接权限进行校验;
67.连接单元303,用于在校验通过的情况下,通过所述websocket通信模块构建与所述浏览器插件的通信连接。
68.采用本技术实施例所提供的装置30,由于该装置30采用与本技术实施例所提供的,通信连接方法相同的发明构思,在该方法能够解决技术问题的前提下,该装置30也能够解决技术问题,这里对此不再赘述。
69.另外,在实际应用中,通过将该装置30与具体软硬件、云技术等相结合所取得的技术效果,也在本技术的保护范围之内,比如采用分布式集群的方式将该装置30中的不同单元布设于分布式集群中的不同节点中,从而提高效率等。
70.在实际应用中,该装置30还可以包括:生成单元,用于利用所述应用程序所集成的python框架环境,生成所述websocket通信模块。
71.连接请求还包括所述浏览器插件一个或多个连接节点的连接路径;以及,连接单元303可以具体包括连接子单元,用于在校验通过的情况下,通过所述websocket通信模块以及所述连接路径,构建与所述浏览器插件一个或多个连接节点的通信连接。
72.该装置30还可以注册单元,用于获取所述浏览器插件所发送的权限注册请求;对所述浏览器插件的连接权限进行注册。
73.该装置30还可以数据传输单元,用于利用所述websocket通信模块与所述浏览器插件之间进行数据传输。
74.该数据传输单元可以包括数据传输子单元,用于利用所述websocket通信模块,向所述浏览器插件发送网页修改数据。
75.本发明实施例还提供了一种存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。
76.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献