CN116361582A - 数据处理方法、装置、电子设备以及存储介质 - Google Patents
数据处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN116361582A CN116361582A CN202310211579.5A CN202310211579A CN116361582A CN 116361582 A CN116361582 A CN 116361582A CN 202310211579 A CN202310211579 A CN 202310211579A CN 116361582 A CN116361582 A CN 116361582A
- Authority
- CN
- China
- Prior art keywords
- browser
- target
- component
- information
- browser webpage
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 193
- 230000008569 process Effects 0.000 claims abstract description 76
- 238000013507 mapping Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims description 87
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 208000028257 Joubert syndrome with oculorenal defect Diseases 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种数据处理方法、装置、电子设备以及存储介质。所述方法包括:获取浏览器网页调用的组件信息;基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。本申请实施例提供的数据处理方法,可以根据浏览器网页与子进程的映射关系,快速且准确地确定用于执行所述浏览器网页业务逻辑的目标子进程。之后所述目标子进程可以将所述浏览器网页所调用的目标组件嵌入至所述浏览器网页中。在这个过程中不需要额外设置目标组件的接入方式以及浏览器与客户端的交互方式,从而节省了处理资源,提高了嵌入效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、电子设备以及存储介质。
背景技术
BS(Browser/Server)架构是一种浏览器到服务器的结构,是目前应用系统的发展方向。但是,现在大多数的应用程序均是部署在CS(Client/Server)架构上实现,那么如何将应用程序高效率的部署在BS架构上成为了当下对于BS框架普及应用所亟待解决的技术问题。
相关技术中,可以通过接收浏览器发送的启动请求,并向浏览器返回启动请求所请求的目标应用程序的启动页面信息,再接收浏览器根据启动页面信息发送的响应请求,并向浏览器返回响应请求所请求的目标应用程序的响应页面信息,以使浏览器展示响应页面信息对应的响应页面。但由于迁移的应用程序运行在服务器上,这样会形成跨机器的网络连接,从而导致用户操作流畅度和体验感较差。
因此,相关技术中亟需一种高效率的数据处理方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高组件嵌入效率的数据处理方法、装置、电子设备以及存储介质。
第一方面,本申请提供了一种数据处理方法。所述方法包括:
获取浏览器网页调用的组件信息;
基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;
利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
本申请实施例提供的数据处理方法,可以根据浏览器网页与子进程的映射关系,快速且准确地确定用于执行所述浏览器网页业务逻辑的目标子进程。之后所述目标子进程可以将所述浏览器网页所调用的目标组件嵌入至所述浏览器网页中。在这个过程中不需要额外设置目标组件的接入方式以及浏览器与客户端的交互方式,从而节省了处理资源,提高了嵌入效率。另外,可以利用客户端的主进程提前设置多个浏览器网页与多个子进程的映射关系,这样不仅可以快速确定浏览器网页对应的子进程,提高处理效率;还可以实现多进程控制,一个子进程的崩溃并不会影响其他子进程的运行,从而可以保证其他浏览器网页的正常使用。
可选的,在本申请的一个实施例中,所述获取浏览器网页调用的组件信息,包括:
接收所述浏览器网页的注册信息;
根据所述注册信息,建立所述浏览器网页与主进程的第一通信连接;
基于所述第一通信连接获取所述浏览器网页调用的组件信息。
可选的,在本申请的一个实施例中,所述浏览器网页与子进程的映射关系按照下述方式构建完成:
响应于所述浏览器网页的注册信息,建立所述浏览器网页与主进程的第一通信连接;
根据所述注册信息,利用所述主进程创建与所述浏览器网页对应的子进程;
建立所述子进程与所述主进程的第二通信连接;
基于所述第一通信连接和所述第二通信连接,确定浏览器网页与子进程的映射关系。
可选的,在本申请的一个实施例中,在所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中之前,包括:
利用所述主进程通过所述第一通信连接获取所述组件信息,并通过所述第二通信连接将所述组件信息发送至所述目标子进程。
可选的,在本申请的一个实施例中,所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中,包括:
确定所述组件信息对应的目标组件;
利用所述目标子进程通过预设接口接入所述目标组件;
将接入的所述目标组件嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述将接入的所述目标组件嵌入至所述浏览器网页中,包括:
创建所述目标组件对应的嵌入容器;
将所述嵌入容器嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中之前,包括:
获取所述浏览器网页的目标元素与所述嵌入容器的关联关系;
获取所述目标元素的位置信息和尺寸信息;
根据所述关联关系以及所述目标元素的位置信息,确定所述嵌入容器的位置信息;和/或,根据所述关联关系以及所述目标元素的尺寸信息,确定所述嵌入容器的尺寸信息。
可选的,在本申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中,包括:
通过系统接口获取所述浏览器网页的尺寸信息和位置信息;
基于所述尺寸信息和所述位置信息,将所述嵌入容器嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述方法还包括:
在确定所述目标子进程断开通信连接的情况下,利用所述主进程删除所述浏览器网页与所述目标子进程的映射关系,并返回异常提醒信息。
第二方面,本申请实施例还提供了一种数据处理方法,所述方法应用于浏览器端,所述方法包括:
发送调用的组件信息至客户端;
在浏览器网页显示所述组件信息对应的目标组件;所述目标组件是目标子进程嵌入至所述浏览器网页中的,所述目标子进程通过浏览器网页与子进程的映射关系确定,所述映射关系通过所述客户端的主进程预先建立。
第三方面,本申请实施例还提供了一种数据处理装置。所述装置包括:
组件信息获取模块,用于获取浏览器网页调用的组件信息;
目标子进程确定模块,用于基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;
嵌入模块,用于利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
第四方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述各个实施例所述方法的步骤。
第五方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个实施例所述方法的步骤。
第六方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各个实施例所述方法的步骤。
附图说明
图1为本申请一个实施例提供的数据处理方法的流程示意图;
图2为本申请一个实施例提供的嵌入容器与浏览器网页的示意图;
图3为本申请一个实施例提供的数据处理方法各个主体之间的工作流程示意图;
图4为本申请另一个实施例提供的数据处理方法各个主体之间的工作流程示意图;
图5为本申请一个实施例提供的数据处理装置的模块结构示意图;
图6是本申请实施例提供的电子设备的模块结构示意图;
图7是本申请实施例提供的计算机程序产品的概念性局部视图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段未作详细描述,以便于凸显本申请的主旨。
下面结合附图对本申请所述的数据处理方法进行详细的说明。虽然本申请提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在数据处理的过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的,本申请提供的数据处理方法的一种实施例如图1所示,所述方法可以包括:
S101:获取浏览器网页调用的组件信息。
本申请实施例所提供的数据处理方法可以应用于客户端中,为了满足用户的多样化应用需求,所述客户端上还可以安装多种应用(Application,App),所述应用可以包括系统应用、桌面应用、驱动应用、网络应用、物联网应用等。更具体的,所述应用可以是独立的应用程序,还可以是嵌入在所述应用中的功能模块等。所述功能模块可以是所述应用的小程序,还可以是快应用等。所述客户端可以包括能够接收输入事件并能够对所述输入事件进行处理的终端设备。具体的,所述客户端可以为移动智能电话、计算机(包括笔记本电脑,台式电脑)、平板电子设备、个人数字助理(PDA)或者智能可穿戴设备等,所述智能可穿戴式设备可为智能手表、智能手环等。所述浏览器网页可以通过任意具有显示装置的电子设备如所述客户端所显示的对应的窗口或者界面进行展示,以供用户浏览、操作获取对应的网页服务。
本申请实施例中,所述浏览器网页在使用过程中,除传统的网页显示外,还可以调用或嵌入客户端提供的组件如“天气”组件、“截图”组件、“下载”组件、“翻译”组件等,以实现多样化功能。例如,用户在使用浏览器网页的过程中,需要使用客户端所提供的“视频播放”组件,播放多路视频。其中,所述组件可以是独立运行的构建企业的系统或功能模块。通俗来说,所述组件就是对达成特定目标,需要完成的一组紧密关联的工作事项的合集。所述浏览器网页可以通过所述浏览器与所述客户端的通信连接将所需调用的组件信息发送至所述客户端。所述组件信息可以包括组件的标识信息、接口信息等等。所述标识信息可以是组件名称,也可以是与组件名称唯一对应的标识符或编号等。所述接口信息可以包括接入方式、接口类型等,所述接口类型可以根据所述组件的类型确定,例如在所述组件为Qt插件的情况下,所述接口类型可以为Qt应用程序接口;而在所述组件为动态链接库(DynamicLink Library,DLL)组件的情况下,所述接口类型可以为dll接口。当然,在本申请的其他实施例中,所述组件信息还可以包括组件嵌入位置、组件尺寸、显隐状态等等。其中,所述显隐状态可以用于确定组件所对应的窗口是否显示或者隐藏。本申请实施例中,可以通过所述浏览器与所述客户端的通信连接获取所述组件信息。其中,所述通信连接可以在所述浏览器启动或者使用过程中建立。例如,可以在所述浏览器启动时,基于所述浏览器的启动操作,建立所述浏览器与所述客户端的通信连接。在本申请的一个实施例中,所述启动操作例如可以包括对浏览器图标进行的双击操作,或者还可以包括单击浏览器图标的开启控件,又或者还可以包括输入打开浏览器的命令行指令的操作等;当然,还可以包括通过点击客户端的连接启动浏览器,本领域技术人员可以理解,只要是用于打开浏览器的操作均可以认为是本申请实施例中介绍的浏览器启动操作,此处对浏览器启动操作的其余实现方式不再进行赘述。当然,在本申请其他实施例中,还可以在所述浏览器网页注册时,建立所述浏览器网页与客户端的通信连接。具体来说,在本申请的一个实施例中,所述获取浏览器网页调用的组件信息,包括:
S201:接收所述浏览器网页的注册信息;
S203:根据所述注册信息,建立所述浏览器网页与主进程的第一通信连接;
S205:基于所述第一通信连接获取所述浏览器网页调用的组件信息。
本申请实施例中,所述注册信息可以包括所述浏览器网页的类型信息、版本信息、标识信息。所述标识信息可以是所述浏览器的版本号,或者是用于标识版本的其它信息。在本申请的一个实施例中,可以利用navigator.userAgent方法获取所述浏览器网页的注册信息,例如获取到的注册信息可以为Firefox11+、Opera12.10+等。在本申请其他实施例中,所述注册信息还包括所述浏览器发送的基于跨域通信协议的连接请求。所述客户端在接收到所述连接请求后,可以基于所述跨域通信协议建立所述浏览器网页与主进程的第一通信连接,例如可以建立所述浏览器网页与所述主进程的第一通信通道。所述跨域通信协议可以包括WebSocket协议、JSONP协议、CORS协议等等。在本申请的一个实施例中,所述WebSocket协议是一种全双工通讯的网络技术,在WebSocket协议中,通信双方只需要做一个握手的动作,然后就可快速在通信双方之间形成了一条通信通道,通信双方之间就直接可以数据互相传送。而当前的主流浏览器(例如Chrome、Firefox11、Safari、360安全浏览器、UC浏览器、猎豹浏览器、傲游浏览器等)均支持WebSocket协议。在本申请的一个实施例中,所述客户端在接收所述连接请求后,可以从多个预设端口中选取对应的目标端口进行绑定,以建立所述浏览器端与所述客户端的通信连接。在本申请的一个实施例中,所述主进程可以为客户端主进程,具体用于执行多个浏览器网页的启动和运行,例如执行目标浏览器的业务逻辑。在本申请的一个实施例中,在建立所述第一通信连接后,可以基于所述第一通信连接获取所述浏览器网页调用的组件信息。
S103:基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立。
本申请实施例中,所述子进程可以用于执行浏览器的业务逻辑,即执行所述浏览器网页的运行。所述子进程可以是具有独立功能的程序在数据集合上运行的过程,也就是说所述子进程可以是操作系统进行资源分配和调度的一个独立单元。在本申请的一个实施例中,可以在所述浏览器网页注册、启动或运行过程中,利用所述主进程创建对应的子进程。即所述主进程还可以用于管理子进程,其中子进程的创建和销毁均是由所述主进程控制的。在实际的应用中,不同的子进程可以用于执行不同浏览器的业务逻辑,因此,在本申请的一个实施例中,为了提高浏览器网页的组件调用效率或控件嵌入效率,可以利用主进程预先建立子进程与浏览器网页的映射关系,从而可以快速确定执行所述浏览器网页相关业务服务的目标子进程,以进行后续的组件嵌入工作。具体来说,所述浏览器网页与子进程的映射关系按照下述方式构建完成:
S301:响应于所述浏览器网页的注册信息,建立所述浏览器网页与主进程的第一通信连接;
S303:根据所述注册信息,利用主进程创建与所述浏览器网页对应的子进程;
S305:建立所述子进程与所述主进程的第二通信连接;
S307:基于所述第一通信连接和所述第二通信连接,确定浏览器网页与子进程的映射关系。
本申请实施例中,所述第一通信连接的建立方式可以参考上述实施例所述第一通信连接方式,本申请在此不做赘述。在本申请的一个实施例中,在建立所述浏览器网页与所述主进程的第一通信连接后,可以基于所述第一通信通道获取所述注册信息。之后,可以基于所述注册信息创建与所述浏览器网页对应的子进程。在本申请的一个实施例中,可以利用进程创建函数创建针对所述浏览器网页的子进程。具体的,所述客户端的操作系统不同,其适用的进程创建函数也不同。例如,对于所述操作系统为linux系统,所述进程创建函数可以为fork函数;而对于所述操作系统为Windows系统,所述进程创建函数可以为CreateProcess函数。
本申请实施例中,在创建所述子进程后,可以建立所述子进程与所述主进程的第二通信连接。具体的,可以基于多种通信机制构建所述子进程与所述主进程之间的第二通信连接。具体来说,所述通信机制例如可以包括套接字(Socket)通信协议、管道通信机制、TCP/IP通信协议等等,本申请在此不做限制。在本申请的一个实施例中,在创建子进程的过程中,可以将浏览器网页的标识信息设置为子进程的标识信息。例如,可以在命令行中写入所述浏览器网页的标识信息如key值,这样可以将子进程与浏览器网页对应起来,以建立子进程与浏览器网页的映射关系,简单且快速地确定浏览器网页对应的目标子进程。其中,所述映射关系可以包括子进程与浏览器网页为一一对应关系,一个子进程用于执行一个浏览器网页的运行。这样,在存在多个所述浏览器网页的情况下,每个浏览器网页均有对应的子进程用于执行其正常的运行。一个子进程崩溃或者销毁并不会影响其他子进程的正常工作,因此不会影响其他浏览器网页的正常使用。在本申请的一个实施例中,所述映射关系的形式可以包括多种,例如可以为映射关系表、映射关系模型、映射关系函数等等。例如,在一个示例中,所述子进程与所述浏览器网页的映射关系表如下表1所示。
表1子进程与所述浏览器网页的映射关系表
子进程1 | 浏览器网页1 |
子进程2 | 浏览器网页2 |
子进程3 | 浏览器网页3 |
可以理解的是,在本申请的一个实施例中,所述方法还包括:利用所述主进程在确定所述目标子进程断开通信连接的情况下,利用所述主进程删除所述浏览器网页与所述目标子进程的映射关系,并返回异常提醒信息。
本申请实施例中,在目标子进程出现异常如异常退出的情况下,可以利用所述主进程删除所述目标子进程与所述浏览器网页的映射关系,并发送异常提醒消息至所述浏览器端。当然,在利用所述主进程针对所述浏览器网页重新建立新的子进程后,还可以按照上述实施例所述的映射关系构建方式重新建立所述浏览器网页与新的子进程的映射关系。
进一步地,在本申请的一个实施例中,在建立所述第一通信连接和所述第二通信连接后,所述浏览器网页与所述子进程可以进行数据传输与处理以完成交互。例如,所述浏览器所需嵌入的组件信息可以发送至所述子进程,以便所述子进程在接收到所述组件信息后可以进行后续的嵌入工作。具体的,在本申请的一个实施例中,在所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中之前,包括:
S401:利用所述主进程通过所述第一通信连接获取所述组件信息,并通过所述第二通信连接将所述组件信息发送至所述目标子进程。
本申请实施例中,所述客户端的主进程可以起到类似数据中转站的作用,将通过第一通信连接获取的组件信息,通过第二通信连接发送至所述浏览器网页对应的子进程即目标子进程,从而实现了所述浏览器网页与所述目标子进程的数据交互。这样与现有技术中通过服务器实现两者交互的方式相比,在传递组件信息时不需要跨机器传递,从而可以节省处理资源,提高交互效率,提高用户的使用体验。需要说明的是,在本申请的一个实施例中,在建立完成所述第一通信连接和所述第二通信连接后,所述客户端可以返回提示消息至所述浏览器端,以通知所述浏览器端。
S105:利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
本申请实施例中,在确定所述目标子进程后,所述目标子进程可以确定所述组件信息对应的目标组件,并将所述目标组件嵌入至所述浏览器网页中。具体来说,所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中,包括:
S501:确定所述组件信息对应的目标组件;
S503:利用所述目标子进程通过预设接口接入所述目标组件;
S505:将接入的所述目标组件嵌入至所述浏览器网页中。
本申请实施例中,所述目标子进程可以解析获取的组件信息,以确定对应的目标组件以及所述目标组件的接口信息如接入方式、接入类型等。在本申请的一个实施例中,所述目标组件可以是控件,所述控件可以是具有用户界面的组件(可视化组件),例如可以包括按钮、列表框、编辑框或者对话框中的静态文本等等。优选的,所述控件还可以包括插件。之后,所述目标子进程可以根据接口信息确定从多个候选预设接口中选取对应的预设接口,以接入所述目标组件。其中,所述候选预设接口可以是应用程序编程接口(ApplicationProgramming Interface,API),例如可以是java语言实现的java API以及C/C++语言实现的native API。在本申请的一个实施例中,所述目标子进程可以利用嵌入容器的方式将所述目标组件嵌入至所述浏览器网页中。具体来说,所述将接入的所述目标组件嵌入至所述浏览器网页中,包括:
S601:创建所述目标组件对应的嵌入容器;
S603:将所述嵌入容器嵌入至所述浏览器网页中。
本申请实施例中,所述嵌入容器实质上为可以嵌入到所述浏览器网页的控件,并且本身没有任何业务功能。优选的,所述嵌入容器可以为容器控件,例如可以包括但不限于QWidget控件,QFrame控件,QScrollArea控件,QGroupBox控件,QTabWidget控件,QToolBox控件,QStackedWidget控件,QDockWidget控件等等。所述嵌入容器可以加载对应的目标组件,并将所述目标组件转换为内部的组件或控件。在确定所述嵌入容器后,所述目标子进程可以通过将所述嵌入容器设置为所述浏览器网页的子窗口以完成所述目标组件的嵌入。例如,在所述客户端的操作系统为windows系统的情况下,所述目标子进程可以调用SetParent接口将所述嵌入容器设置为所述浏览器网页的子窗口。当然,在所述客户端的操作系统为其他类型的操作系统的情况下,所述目标子进程可以结合浏览器窗口句柄调用Qt的QWidget::windowHandle->setParent()接口实现。这样,可以使得所述目标组件真正成为所述浏览器网页的一部分。
本申请实施例提供的数据处理方法,可以根据浏览器网页与子进程的映射关系,快速且准确地确定用于执行所述浏览器网页业务逻辑的目标子进程。之后所述目标子进程可以将所述浏览器网页所调用的目标组件嵌入至所述浏览器网页中。在这个过程中不需要额外设置目标组件的接入方式以及浏览器与客户端的交互方式,从而节省了处理资源,提高了嵌入效率。另外,可以利用客户端的主进程提前设置多个浏览器网页与多个子进程的映射关系,这样不仅可以快速确定浏览器网页对应的子进程,提高处理效率;还可以实现多进程控制,一个子进程的崩溃并不会影响其他子进程的运行,从而可以保证其他浏览器网页的正常使用。
在实际的应用中,为了丰富所述浏览器网页的展示效果,增强网页与用户的交互性,还可以设置目标组件的嵌入位置以及窗口大小。具体的,在申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中,包括:
S701:通过系统接口获取所述浏览器网页的尺寸信息和位置信息;
S703:基于所述尺寸信息和所述位置信息,将所述嵌入容器嵌入至所述浏览器网页中。
本申请实施例中,所述客户端可以获取所述浏览器端发送的窗口句柄,例如可以通过FindWindow函数、GetSafeHwnd函数等获取窗口句柄。在获取所述窗口句柄后,可以根据所述窗口句柄调用系统接口,以获取所述浏览器网页的位置信息、尺寸信息等,还可以获取浏览器的位置信息和尺寸信息等等。所述浏览器网页的位置信息可以包括所述浏览器网页的位置坐标,例如可以包括左上角、左下角、右上角、右下角等的位置坐标,如左上角的位置坐标为p(x,y)。所述浏览器网页的尺寸信息可以包括所述浏览器网页的高度信息、宽度信息等等,例如所述宽度为w0,所述高度为h1。在本申请的一个实施例中,在确定所述浏览器网页的位置信息和尺寸信息后,所述浏览器端可以据此设置所述嵌入容器的嵌入位置和大小,并将所述嵌入位置和大小发送至所述客户端。所述客户端在接收所述嵌入位置和大小后,可以调整所述嵌入容器的大小按照所述嵌入位置嵌入至所述浏览器网页中。例如,在一个示例中,如图2所示,最外围边框为所述浏览器A的窗口大小,p0(x0,y0)为所述浏览器A的左上角位置,中间边框为所述浏览器网页B的窗口大小,p1(x1,y1)为所述浏览器网页B的左上角位置,最内围边框为所述嵌入容器C的区域,p2(x2,y2)为所述嵌入容器C的左上角位置。所述浏览器网页B和所述嵌入容器C可以以p0为原点建立坐标系,水平差X1=x1-x0,垂直差Y1=y1-y0。所述浏览器网页B可以设置所述嵌入容器C的嵌入位置为P3(x3,y3),宽度为w2,高度为h2。所述客户端可以确定所述嵌入容器C左上角p2的坐标为x2=x3+X1,y2=y3+Y1,并可以调用QWidget::move接口移动所述嵌入容器的位置至设定位置处。
在本申请的一个实施例中,所述嵌入容器的大小和位置等都是由所述浏览器网页发送消息通知所述客户端来控制。为了不让第三方接入不感知这些细节,所述浏览器网页可以利用基于网页元素绑定嵌入容器的方式来解决这个问题,具体的,在本申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中之前,可以包括:
S801:获取所述浏览器网页的目标元素与所述嵌入容器的关联关系;
S803:获取所述目标元素的位置信息和尺寸信息;
S805:根据所述关联关系以及所述目标元素的位置信息,确定所述嵌入容器的位置信息,
和/或
S807:根据所述关联关系以及所述目标元素的尺寸信息,确定所述嵌入容器的尺寸信息。
本申请实施例中,所述浏览器网页可以是包括多个目标元素基于一定的网页结构组织的页面,其中,所述目标元素的类型可以为文档对象模型(Document Object Model,DOM)。所述DOM是以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。在一个示例中,所述目标元素可以是所述浏览器玩网页对应的DOM树中一个节点。在本申请的一个实施例中,所述浏览器网页可以调用JavaScript接口获取dom对象。在获取所述目标元素后,可以根据目标元素的标识信息与所述嵌入容器的标识信息,建立所述目标元素与所述嵌入容器的关联关系,即将所述目标元素与所述嵌入容器进行“绑定”。在本申请的一个实施例中,所述浏览器网页发送所述组件信息至所述客户端之前,可以设置HTML的<div>标签的属性值、组件名称并可以根据所述HTML的<div>标签的属性值确定对应的目标元素以及所述目标元素的标识信息,之后可以将这些目标元素的标识信息封装进所述组件信息中。所述客户端在接收到所述组件信息后可以解析得到所述目标元素的标识信息,创建对应的嵌入容器,并以此建立所述目标元素与所述目标组件的关联关系。在本申请的一个实施例中,所述浏览器端可以监控所述浏览器网页上是否发生触发事件,所述触发事件例如可以包括<body>标签大小变化、鼠标的滚轮事件、浏览器网页放大缩小事件、dom对象自身大小变化等。在监控到所述浏览器网页发送触发事件后,可以重新计算所述目标元素的位置信息和尺寸信息,并将所述目标元素的位置信息和所述尺寸信息发送至所述客户端。之后,可以由所述目标子进程根据所述关联关系以及所述目标元素的位置信息,确定所述嵌入容器的位置信息,和/或根据所述关联关系以及所述目标元素的尺寸信息,确定所述嵌入容器的尺寸信息。具体的,所述目标子进程可以调用接口设置所述嵌入容器的位置和大小。
在本申请的一个实施例中,为了提高所述浏览器网页与所述客户端的交互效率,提高组件嵌入效率并避免繁琐的嵌入步骤,可以在所述客户端内预先封装多个第一标准接口以实现不同的功能。具体的,在本申请的一个实施例中,所述第一标准接口可以包括但不限于:组件初始化接口、反组件初始化接口、创建组件嵌入网页接口、销毁组件嵌入网页接口、调整组件尺寸接口、调整组件显示或隐藏接口、组件接收信息接口、组件发送信息接口等。这样,所述客户端可以根据实际的应用需求选择不同的第一标准接口以满足不同的功能需求。当然,在本申请其他实施例中,还可以在所述浏览器端内预先封装多个第二标准接口以实现不同的功能选择。具体的,所述第二标准接口可以包括但不限于:组件创建接口、组件定位接口、组件显示/隐藏接口、发送组件指令接口、组件销毁接口、消息下发接口、消息接收接口等等。其中,所述消息下发接口可以将所述浏览器端的网页消息通过第一通信连接发送至所述客户端。所述消息接收接口可以通过所述第一通信连接接收所述客户端返回的消息。在本申请的一个实施例中,所述浏览器网页可以利用接口调用指令携带的信息运行该信息所指定的目标接口对应的接口函数,从而实现相应的功能。
本申请另一方面还基于所述浏览器端提供了一种数据处理方法,如图3所示,所述方法可以包括:
S901:发送调用的组件信息至客户端;
S903:在浏览器网页显示所述组件信息对应的目标组件;所述目标组件是目标子进程嵌入至所述浏览器网页中的,所述目标子进程通过浏览器网页与子进程的映射关系确定,所述映射关系通过所述客户端的主进程预先建立。
本申请实施例所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故可以参见上文中对于数据处理方法的限定,在此不再赘述。
下面以一个优选的实施例说明所述浏览器端与所述客户端的交互过程。如图3所示,所述客户端与所述浏览器端可以通过下述步骤建立通信连接,所述客户端包括主进程和子进程,所述浏览器端包括前端组件。用户端首先调用接口初始化前端组件(步骤1),前端组件端在接收到初始化指令后可以生成唯一的标识信息如key(步骤2.1),并通过本地固定url,发送连接请求(websocket连接)至主进程(步骤2.2)以及发送注册信息注册前端组件(步骤2.3)。步骤3:主进程登记前端组件信息;步骤4:创建前端组件对应的子进程(在创建过程中可以传入前端组件信息);步骤5:初始化子进程,其中步骤5可以包括步骤5.1:子进程通过本地固定url,发送连接请求(socket连接)至主进程;步骤5.2发送子进程注册信息,以注册子进程。主进程在接收到注册信息后可以建立主进程与子进程的通信连接,并绑定前端组件和子进程(步骤6)。之后主进程可以发送提示信息至前端组件,以告知前端组件已经初始化完成,可以下发指令(步骤7),所述前端组件也可以发送提示信息至用户端,以告知用户端可以下发指令(步骤8),至此所述前端组件与子进程的通信连接建立完成。
之后,用户端就可以调用接口完成浏览器嵌入控件的创建。具体的,如图4所示,用户端可以调用接口创建控件(步骤9),前端组件可以将创建控件消息发送至主进程(步骤10)。主进程作为数据传输的中转站,可以直接透传消息,将创建控件消息发送至对应的子进程(步骤11)。子进程在接收到所述创建控件消息后,可以解析协议,创建控件嵌入至浏览器网页(步骤12),之后可以返回创建完成消息至主进程(步骤13)。主进程仍可以直接透传消息,发送创建完成消息至前端组件(步骤14),前端组件可以通知用户端,控件创建完成(步骤15)。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种数据处理装置500,所述装置500包括:
组件信息获取模块501,用于获取浏览器网页调用的组件信息;
目标子进程确定模块503,用于基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;
嵌入模块505,用于利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述获取浏览器网页调用的组件信息,包括:
接收所述浏览器网页的注册信息;
根据所述注册信息,建立所述浏览器网页与主进程的第一通信连接;
基于所述第一通信连接获取所述浏览器网页调用的组件信息。
可选的,在本申请的一个实施例中,所述浏览器网页与子进程的映射关系按照下述方式构建完成:
响应于所述浏览器网页的注册信息,建立所述浏览器网页与主进程的第一通信连接;
根据所述注册信息,利用所述主进程创建与所述浏览器网页对应的子进程;
建立所述子进程与所述主进程的第二通信连接;
基于所述第一通信连接和所述第二通信连接,确定浏览器网页与子进程的映射关系。
可选的,在本申请的一个实施例中,在所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中之前,包括:
利用所述主进程通过所述第一通信连接获取所述组件信息,并通过所述第二通信连接将所述组件信息发送至所述目标子进程。
可选的,在本申请的一个实施例中,所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中,包括:
确定所述组件信息对应的目标组件;
利用所述目标子进程通过预设接口接入所述目标组件;
将接入的所述目标组件嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述将接入的所述目标组件嵌入至所述浏览器网页中,包括:
创建所述目标组件对应的嵌入容器;
将所述嵌入容器嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中之前,包括:
获取所述浏览器网页的目标元素与所述嵌入容器的关联关系;
获取所述目标元素的位置信息和尺寸信息;
根据所述关联关系以及所述目标元素的位置信息,确定所述嵌入容器的位置信息;和/或,根据所述关联关系以及所述目标元素的尺寸信息,确定所述嵌入容器的尺寸信息。
可选的,在本申请的一个实施例中,所述将所述嵌入容器嵌入至所述浏览器网页中,包括:
通过系统接口获取所述浏览器网页的尺寸信息和位置信息;
基于所述尺寸信息和所述位置信息,将所述嵌入容器嵌入至所述浏览器网页中。
可选的,在本申请的一个实施例中,所述装置还包括:
在确定所述目标子进程断开通信连接的情况下,利用所述主进程删除所述浏览器网页与所述目标子进程的映射关系,并返回异常提醒信息。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图6所示,本申请的实施例还提供了一种电子设备600,该电子设备600包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。电子设备600包括存储器601、处理器603、总线605和通信接口607。存储器601、处理器603和通信接口607之间通过总线605通信。总线605可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口607用于与外部通信。其中,处理器603可以为中央处理器(centralprocessing unit,CPU)。存储器601可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器601还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,HDD或SSD。存储器601中存储有可执行代码,处理器603执行该可执行代码以执行前述各个实施例所述的方法。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图7示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品700是使用信号承载介质701来提供的。所述信号承载介质701可以包括一个或多个程序指令702,其当被一个或多个处理器运行时可以提供以上针对图1描述的功能或者部分功能。此外,图7中的程序指令702也描述示例指令。
在一些示例中,信号承载介质701可以包含计算机可读介质703,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等等。在一些实施方式中,信号承载介质701可以包含计算机可记录介质704,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质701可以包含通信介质705,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质701可以由无线形式的通信介质705(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令702可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图6描述的电子设备的计算设备可以被配置为,响应于通过计算机可读介质703、计算机可记录介质704、和/或通信介质705中的一个或多个传达到计算设备的程序指令702,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (14)
1.一种数据处理方法,其特征在于,所述方法包括:
获取浏览器网页调用的组件信息;
基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;
利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
2.根据权利要求1所述的方法,其特征在于,所述获取浏览器网页调用的组件信息,包括:
接收所述浏览器网页的注册信息;
根据所述注册信息,建立所述浏览器网页与主进程的第一通信连接;
基于所述第一通信连接获取所述浏览器网页调用的组件信息。
3.根据权利要求1所述的方法,其特征在于,所述浏览器网页与子进程的映射关系按照下述方式构建完成:
响应于所述浏览器网页的注册信息,建立所述浏览器网页与主进程的第一通信连接;
根据所述注册信息,利用所述主进程创建与所述浏览器网页对应的子进程;
建立所述子进程与所述主进程的第二通信连接;
基于所述第一通信连接和所述第二通信连接,确定浏览器网页与子进程的映射关系。
4.根据权利要求3所述的方法,其特征在于,在所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中之前,包括:
利用所述主进程通过所述第一通信连接获取所述组件信息,并通过所述第二通信连接将所述组件信息发送至所述目标子进程。
5.根据权利要求1所述的方法,其特征在于,所述利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中,包括:
确定所述组件信息对应的目标组件;
利用所述目标子进程通过预设接口接入所述目标组件;
将接入的所述目标组件嵌入至所述浏览器网页中。
6.根据权利要求5所述的方法,其特征在于,所述将接入的所述目标组件嵌入至所述浏览器网页中,包括:
创建所述目标组件对应的嵌入容器;
将所述嵌入容器嵌入至所述浏览器网页中。
7.根据权利要求6所述的方法,其特征在于,所述将所述嵌入容器嵌入至所述浏览器网页中之前,包括:
获取所述浏览器网页的目标元素与所述嵌入容器的关联关系;
获取所述目标元素的位置信息和尺寸信息;
根据所述关联关系以及所述目标元素的位置信息,确定所述嵌入容器的位置信息;和/或,根据所述关联关系以及所述目标元素的尺寸信息,确定所述嵌入容器的尺寸信息。
8.根据权利要求6所述的方法,其特征在于,所述将所述嵌入容器嵌入至所述浏览器网页中,包括:
通过系统接口获取所述浏览器网页的尺寸信息和位置信息;
基于所述尺寸信息和所述位置信息,将所述嵌入容器嵌入至所述浏览器网页中。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述目标子进程断开通信连接的情况下,利用所述主进程删除所述浏览器网页与所述目标子进程的映射关系,并返回异常提醒信息。
10.一种数据处理方法,其特征在于,所述方法应用于浏览器端,所述方法包括:
发送调用的组件信息至客户端;
在浏览器网页显示所述组件信息对应的目标组件;所述目标组件是目标子进程嵌入至所述浏览器网页中的,所述目标子进程通过浏览器网页与子进程的映射关系确定,所述映射关系通过所述客户端的主进程预先建立。
11.一种数据处理装置,其特征在于,所述装置包括:
组件信息获取模块,用于获取浏览器网页调用的组件信息;
目标子进程确定模块,用于基于浏览器网页与子进程的映射关系,确定所述浏览器网页对应的目标子进程;所述映射关系通过主进程预先建立;
嵌入模块,用于利用所述目标子进程将所述组件信息对应的目标组件嵌入至所述浏览器网页中。
12.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310211579.5A CN116361582A (zh) | 2023-02-28 | 2023-02-28 | 数据处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310211579.5A CN116361582A (zh) | 2023-02-28 | 2023-02-28 | 数据处理方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361582A true CN116361582A (zh) | 2023-06-30 |
Family
ID=86940661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310211579.5A Pending CN116361582A (zh) | 2023-02-28 | 2023-02-28 | 数据处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361582A (zh) |
-
2023
- 2023-02-28 CN CN202310211579.5A patent/CN116361582A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592319B2 (en) | API notebook tool | |
CN109634598B (zh) | 一种页面显示方法、装置、设备及存储介质 | |
WO2018228211A1 (zh) | 应用转换方法、装置及设备 | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
CN107066631A (zh) | 页面的显示方法、装置及电子设备 | |
CN110020329B (zh) | 用于生成网页的方法、装置和系统 | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN109558323B (zh) | 用于调试页面的系统、方法和装置 | |
JP2013528859A (ja) | クライアントアプリケーションとウェブページの統合 | |
CN113010827B (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
CN114816401B (zh) | 界面元素的定位方法、电子设备及存储介质 | |
CN109582317B (zh) | 用于调试寄宿应用的方法和装置 | |
CN111294395A (zh) | 一种终端页面传输方法、装置、介质和电子设备 | |
CN112084446A (zh) | 一种网页编辑方法、编辑器、电子设备和可读存储介质 | |
US11604662B2 (en) | System and method for accelerating modernization of user interfaces in a computing environment | |
CN110651260A (zh) | 增强的组件延迟跟踪 | |
CN114661375A (zh) | 应用集成方法及装置 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN115809056B (zh) | 组件复用实现方法、装置和终端设备、可读存储介质 | |
CN105739717B (zh) | 信息输入方法和装置 | |
CN109582580B (zh) | 用于调试页面的系统、方法和装置 | |
CN116361582A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
Amarasinghe | Service worker development cookbook | |
CN113656041A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113448578A (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 |