CN112860982A - 数据处理方法、装置、电子设备及计算机存储介质 - Google Patents
数据处理方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112860982A CN112860982A CN201911182420.5A CN201911182420A CN112860982A CN 112860982 A CN112860982 A CN 112860982A CN 201911182420 A CN201911182420 A CN 201911182420A CN 112860982 A CN112860982 A CN 112860982A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- browser kernel
- browser
- target object
- control message
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 771
- 238000012545 processing Methods 0.000 claims abstract description 139
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000006870 function Effects 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 18
- 238000009877 rendering Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 3
- 230000006837 decompression Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 241000282326 Felis catus Species 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification 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/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、电子设备及计算机存储介质。数据处理方法包括:浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;所述浏览器内核向所述网页端返回所述算法处理的结果。通过本发明实施例提供的方案,开发人员可以灵活地更新通过算法实现的业务,且无需用户进行更新等操作,提高了用户体验。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及计算机存储介质。
背景技术
随着通信技术的发展和智能终端的广泛使用,越来越多的应用程序可以向用户提供基于先进的技术(例如AR(增强现实)技术等)的不同业务实现,以吸引用户,提升用户的使用体验。
但是,对于前端如浏览器网页端而言,发布一个新的业务或者进行业务更新都需要大量的代码设计甚至架构或应用处理流程的更新问题,导致前端新业务的发布成本较高且不够灵活,不能适应快速变化的用户需求。
因此,现有技术亟需解决的技术问题是,提供一种可以使前端灵活地更新或发布基于算法实现的业务的方案。
发明内容
有鉴于此,本申请实施例所解决的技术问题之一在于提供一种数据处理方法、装置、电子设备及计算机存储介质,以至少部分解决上述问题。
第一方面,本申请实施例提供了一种数据处理方法,其包括:浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;所述浏览器内核向所述网页端返回所述算法处理的结果。
第二方面,本申请实施例提供了一种数据处理方法,其包括:浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数;所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;所述浏览器内核向所述网页端返回匹配结果。
第三方面,本申请实施例提供了一种数据处理方法,其包括:浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数;所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象;所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
第四方面,本申请实施例提供了一种数据处理装置,其包括:接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;处理模块,用于通过所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;结果模块,用于通过所述浏览器内核向所述网页端返回所述算法处理的结果。
第五方面,本申请实施例提供了一种数据处理装置,其包括:接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数;处理模块,用于通过所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;结果模块,用于通过所述浏览器内核向所述网页端返回匹配结果。
第六方面,本申请实施例提供了一种数据处理装置,其包括:接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数;处理模块,用于所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象;结果模块,用于所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
第七方面,本申请实施例提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的数据处理方法对应的操作。
第八方面,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的数据处理方法。
本实施例提供的方案,通过浏览器内核接收网页端发送的算法控制消息,之后所述浏览器内核调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,以通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理,并返回算法处理的结果。通过在浏览器内核构造算法对象来对目标对象进行处理,一方面,网页端开发人员无需关心算法的具体实现和版本更新,从而可以灵活地更新网页端的业务实现逻辑;另一方面,对于算法后台来说,其可以方便地进行算法发布、版本更新等处理,不必考虑网页端的处理,也为网页端业务发布及更新提供了有力支持。由此,使得网页端可以灵活地更新或发布基于算法实现的业务的方案。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是本申请中的一种安装有浏览器的终端设备的结构示意图;
图2a为本申请实施例一中的数据处理方法的步骤流程图;
图2b为本申请实施例一中的使用场景示意图;
图3a为本申请实施例二中的数据处理方法的步骤流程图;
图3b为本申请实施例二中的一种处理过程示意图;
图3c为本申请实施例二中的另一种使用场景示意图;
图4为本申请实施例三中的数据处理方法的步骤流程图;
图5为本申请实施例四中的数据处理方法的步骤流程图;
图6为本申请实施例五中的数据处理装置的结构示意图;
图7为本申请实施例八中的一种电子设备的硬件结构示意图。
具体实施方式
实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
为了解决背景技术中的问题,本申请实施例提供一种基于浏览器内核的算法实现方案。下面先对浏览器内核进行简要说明。
浏览器在结构上可以分为浏览器内核和浏览器外壳,其中:
浏览器内核负责对网页语法的解释(例如HTML、JavaScript等),并渲染网页,解释和渲染的过程也可以理解为将网页的文本以及对应的资源转换成图像进行渲染,以向用户展示图像的渲染结果。
浏览器外壳主要处理浏览器的外观界面、浏览器的操作按钮等,通过浏览器外壳可以实现各种网页。网页端可设置在浏览器外壳部分。
目前的浏览器虽然种类繁多,但使用的内核主要有:IE采用的Trident内核、Chrome采用的Webkit内核以及Firefox采用的Gecko内核,大多数浏览器在这几种浏览器内核的基础上,对浏览器外壳进行开发。
下面,基于前述浏览器结构,对安装有浏览器的终端设备进行示例性说明。
图1是本发明提供的具有浏览器的终端设备的结构示意图。终端设备包括但不限于诸如电话、平板电脑、PC等。
终端设备1中包括操作系统11以及浏览器12,浏览器12可以通过API接口等与操作系统11进行通信。
浏览器中包括浏览器内核,浏览器内核中可以包括排版引擎、JS引擎等,排版引擎可以用于解析HTML、CSS等,可以用于排版;JS引擎可以解析Javascript语言,从而通过执行Javascript语言来实现网页的动态效果。
需要理解的是,上述对各个功能模块的描述是为了便于理解,而非对功能部件特定的物理配置,其并不作为本申请的限定。
现有技术中,由于前端新业务的发布成本较高且不够灵活,不能适应快速变化的用户需求。为了解决上述问题,本申请提供一种基于浏览器的算法实现方案,通过本方案可以灵活地发布或更新基于算法实现的业务方案。
以下,对本申请实施例提供的方案进行说明。
实施例一
图2a为本申请实施例一中数据处理方法的示意图;如图2a所示,其包括以下步骤:
S202、浏览器内核接收网页端发送的算法控制消息。
浏览器内核的相关说明可参考上述内容,本实施例在此不再赘述。
网页端可以用于向用户展示网页内容,由浏览器内核进行渲染并显示,以实现诸如网页交互、展示视频等等功能。
本申请中,网页端开发人员在开发网页时,可以自定义网页的算法控制逻辑,并可根据用户的触发来开始执行算法控制逻辑,以实现相应的业务功能。例如,网页内容中包括一个“识别”按钮,当用户触发“识别”按钮后,即开始执行识别算法控制逻辑,网页端可以根据算法控制逻辑向浏览器内核发送算法控制消息。
其中,所述算法控制消息中可以携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数。例如,若网页中包括用于触发算法控制逻辑的按钮,则网页端可以根据对该按钮的触发操作,确定对应的算法控制指令和对应的算法参数,并根据其生成算法控制消息,将算法控制消息发送至浏览器内核。
算法控制消息通过相应的算法实现对应的业务功能,其中的算法控制指令可以控制待调用的算法或者控制算法执行时的执行步骤,其中的算法参数为算法的执行提供所需的参数。例如,通过算法控制指令“recognize”指示通过识别算法识别图像中的目标对象,通过算法参数“{"format":"PNG","width":"600","height":"800"}”传递待识别的图像的信息,如图像的格式、宽高等。
S204、所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理。
浏览器内核在接收到算法控制消息后,从中获取算法控制指令和算法参数,根据算法控制指令调用后台算法端中相对应的算法,以进行算法对象的构造。
后台算法端为所述网页端的业务实现提供后台算法支持。后台算法端中可以预设有多种算法,例如,图像识别算法、像素转换算法等,浏览器内核根据算法控制指令调用后台算法端中的算法。其中,后台算法端中具体的算法实现,以及需要部署的算法均由本领域技术人员根据实际需求适当设置,本申请实施例对此不作限制。
浏览器内核调用算法后,可以在浏览器内核中构造算法对象,具体构造算法对象的实现也可以由本领域技术人员根据实际情况采用任意适当的方式实现,包括但不限于通过实例化的方法构造算法对象。
算法对象构造完成后,可以通过算法对象和算法参数对目标对象进行算法处理。例如,可以将算法参数传入算法对象,作为初始参数。目标对象的获取方式可以包括但不限于:算法对象自身可通过相关的调用接口获得目标对象,例如获得待识别的图像等,进而对目标对象进行算法处理;目标对象可以从网页端获得,例如获得网页显示的图像,获得网页端通过其所在终端的摄像头采集的图像等。另外,目标对象也可由网页端发送至后台算法端,例如算法控制消息还携带有目标对象的相关数据等,本申请实施例对目标对象的获取方式不进行限定。
本申请实施例中,由于算法对象是通过浏览器内核根据网页端的算法控制消息进行构造的,因此在具体实现时,网页端开发人员可以灵活地定义网页端的网页内容和业务逻辑,进而可以灵活地使用算法来执行实现的业务,并且,当需要发布或更新业务时,网页端开发人员仅需要发布或更新网页业务逻辑即可,使得业务发布和更新更加简单、灵活,进而避免现有技术中新业务发布成本高、不灵活不能适应快速变化的用户需求的问题;并且,更新业务逻辑后的网页可以直接到达用户,无需用户进行软件升级等操作,提高了用户体验。
另外,由于浏览器内核实现时一般通过C语言等较为高级的编译语言编写而成,则本申请实施例中,通过浏览器内核调用后台算法端的算法来构造算法对象,使得算法可以同样通过C语言等较为高级的编译语言实现,进而可以保证算法执行时的性能。
S206、所述浏览器内核向所述网页端返回所述算法处理的结果。
进行算法处理后,浏览器内核会向网页端返回算法处理的结果,从而可以根据算法处理的结果确定在网页端执行的动作,例如,根据算法处理的结果刷新向用户展示的界面等。
例如,如果算法控制指令指示识别图像中的猫,则算法处理的结果可以为“result:[{"x":20,"y":100,"w":50,"h":50}],来告知网页端算法处理的结果为猫且位于图像中起点坐标为x=20,y=100,宽为50,高为50的区域内,这些值的单位可以为像素,也可以为其他,本实施例对此不进行限定。网页端接收到返回的算法处理结果后,可以根据算法处理结果对图像中的猫进行标识。
可选地,本申请实施例中,步骤S204之前,所述方法还可以包括:所述浏览器内核确定所述后台算法端是否存在与所述算法控制指令对应的算法;若不存在,则所述浏览器内核根据所述算法控制消息,生成处理请求并发送至对应的边缘计算平台,以通过所述边缘计算平台根据所述算法控制指令确定对应的算法,并根据确定的算法和对应的算法参数对目标对象进行算法处理;所述浏览器内核接收所述边缘计算平台返回的算法处理结果,并向所述网页端返回所述算法处理的结果。由此,可以通过边缘算法平台进行算法处理,并将结果返回至网页端,与通过云端进行算法处理相比,由于边缘算法平台距离用户更近,使得处理结果从边缘算法平台返回至浏览器内核的速度更快,进而提高了用户体验,且,通过边缘算法平台进行算法处理,还可以减少浏览器与云端的数据交互,降低了云端的压力。
边缘计算平台是指部署于网络边缘上的、用于进行计算和存储资源的平台,与数据中心(例如云端)相比,边缘计算平台无论是从地理距离还是网络距离上都更贴近用户,主要适用于智能交通、智能工厂和智能家居等多种场景,以及增强现实(AR)/虚拟现实(VR)应用、无人车驾驶等应用场景。
由于不同的应用场景下,适用的算法不同,则在不同的应用场景下部署边缘算法平台中部署的算法也可以存在差异。例如,同样是部署物品识别算法至边缘部署平台,部署在仓库的物品识别算法识别仓库中存储的产品或在仓库中应用的机器时,识别成功率较高;由于电梯中人出现的概率较高,则部署在电梯的物品识别算法识别电梯中人物的配饰、衣着等,识别成功率较高。
一个上述过程的使用场景示例如图2b所示。
图2b中,以对人像图像进行人像识别为例,假设用户通过人像图像触发网页端生成用于指示进行人像识别的算法控制消息并发送至浏览器内核。浏览器内核在接收到该算法控制消息后对其进行处理,包括:根据算法控制消息中的算法控制指令,从后台算法端调用相应的人像识别算法以构造算法对象,进而基于算法控制消息中的算法参数,通过算法对象对人像图像进行人像识别处理,如识别出人像在图像中所在的位置区域(如图2b中右下方所示),进而将该区域的信息即人像识别结果反馈给网页端,由网页端进行进一步处理,如在人像图像中显示人像所在区域(如图2b中左下方虚线图中的内虚线框中所示)。本领域技术人员应当明了的是,以上仅以图像中的人像识别为例,在实际应用中,不限于进行图像识别,任意适当的业务均可参照前述描述实现,如文字识别等等。
根据本实施例提供的方案,通过浏览器内核接收网页端发送的算法控制消息,之后所述浏览器内核调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,以通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理,并返回算法处理的结果。通过在浏览器内核构造算法对象来对目标对象进行处理,一方面,网页端开发人员无需关心算法的具体实现和版本更新,从而可以灵活地更新网页端的业务实现逻辑;另一方面,对于算法后台来说,其可以方便地进行算法发布、版本更新等处理,不必考虑网页端的处理,也为网页端业务发布及更新提供了有力支持。由此,使得网页端可以灵活地更新或发布基于算法实现的业务的方案。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:移动终端(如平板电脑、手机等)和PC机等。
实施例二
本实施例在实施例一的基础上,针对如何通过浏览器内核对网页端发送的消息进行处理,进而构造算法对象,进行进一步说明。
图3为本申请实施例二中数据处理方法的示意图;如图3所示,其包括以下步骤:
S302、网页端根据用户的触发操作生成算法控制消息,并通过浏览器内核提供的算法控制函数的接口,将算法控制消息作为参数发送至所述浏览器内核。
具体地,浏览器内核提供算法控制函数对外的接口,网页端通过该接口向浏览器内核发送数据。例如,网页端的业务逻辑中可以包括调用算法控制函数的接口的内容,随着业务逻辑的执行,网页端调用该接口,从而将算法控制消息作为参数发送至浏览器内核。
此外,可选地,所述浏览器内核中可以预先设置Web接口,算法控制函数的接口可以实现为Web接口,或者说,所述Web接口中可以至少包括所述算法控制函数的接口,所述Web接口用于接收所述网页端的调用,以与网页端交互,如接收所述网页端发送的所述算法控制消息,等等。借助于Web接口,可以方便地实现网页端和浏览器内核的交互。
例如,在浏览器内核中,可以设置有Web接口形式的算法控制函数setOption函数的接口,用来接收算法控制消息。此外,还可以设置其他能够通过Web接口调用的函数及其对应的Web接口,例如,可以设置getAllMethodMetadataAsync函数及其对应的Web接口,以使网页端可以通过该Web接口获取浏览器内核中的getAllMethodMetadataAsync函数返回的后台算法端支持的所有算法的信息,例如算法名称、算法类、算法说明等;getMethodAsync函数及其对应的Web接口,以使网页端通过该Web接口获取浏览器内核中的getMethodAsync函数异步获取的算法对象的信息;addEventListener函数及其对应的Web接口,以使网页端通过该Web接口接收浏览器内核中的相应算法对象返回的算法处理的结果。
发送算法控制消息时,所述算法控制消息可以使用Josn类型的字符串作为参数发送至所述浏览器内核。Josn(JavaScript Object Notation)是一种轻量级的数据交换格式,其使用的为JavaScript语法,但可被任何编程语言读取。由于网页端的业务逻辑一般通过JavaScript语言编译得到,且,Josn类型的字符串使用的为JavaScript语法,则所述算法控制消息可以使用Josn类型的字符串作为参数发送至所述浏览器内核,无需网页端进行格式转换。相应的,算法处理的结果也可以通过Josn类型的字符串返回至网页端。
S304、浏览器内核通过JS引擎接收并解析所述算法控制消息。
浏览器内核中可以预设有算法控制函数的具体实现,当网页端的业务逻辑通过算法控制函数的接口传递算法控制消息时,浏览器内核可以使用该算法控制函数接收网页端传入的算法控制消息,对其解析以获得算法控制消息的具体内容。
在一种可行方式中,可以通过所述JS引擎实现所述算法控制函数。基于此,浏览器内核可以通过JS引擎接收并解析所述算法控制消息。
浏览器内核中一般包括JS引擎和渲染引擎。JS引擎主要用来理解JavaScript语言,例如当可被网页端调用的函数具有多个时,JS引擎根据网页端的代码,确定其调用的具体函数为算法控制函数,并执行算法控制函数,确定网页端通过调用算法控制函数发送的算法控制消息的具体含义。
例如,当算法控制函数为setOption函数时,网页端通过函数名称实现算法控制函数的调用,JS引擎根据函数名称来确定并执行算法控制函数setOption。
S306、浏览器内核通过所述JS引擎对应的渲染进程将所述算法控制消息压缩为异步消息后,发送至浏览器主进程。
渲染进程内部可以是多线程的,一般可以包括:GUI线程、JS引擎线程、定时器线程、异步请求线程等。下述仅对JS引擎线程进行说明,渲染进程包括的其他线程的具体内容本领域的人员可根据相关文件确定,本实施例不再赘述。
JS引擎线程主要用于通过调用JS引擎解析并运行JavaScript代码,即JS引擎运行在渲染进程中。由于渲染进程本身不能构造算法对象,因此,需要将确定的所述算法控制消息发送至浏览器主进程,以通过浏览器主进程进行进一步处理,以便于后续构造算法对象和进行算法处理的最终实现。
本实施例中,渲染进程可以将算法控制消息压缩为异步消息,并通过跨进程消息通道将异步消息发送至浏览器主进程。例如,当本方案应用于Android系统时,跨进程消息通道可以为IPC通道。
S308、浏览器内核中的浏览器主进程对所述异步消息进行解压,将解压后获得的算法控制消息传入浏览器内核的算法管理器中,以使所述算法管理器根据算法控制消息中的算法控制指令调用后台算法端中的算法构造算法对象,并通过所述算法对象的算法控制消息中的算法参数对目标对象进行算法处理。
本实施例中,后台算法端算法的调用及算法对象的构造由算法管理器实现,由算法管理器实现上述功能可以充分利用算法管理器的已有功能,节省方案实现成本。但不限于此,在实际应用中,也可以通过其它方式或进程调用算法并构造算法对象。
可选地,本实施例中,所述浏览器内核中可以预先设置有SDK接口,所述浏览器内核通过所述SDK接口与所述后台算法端交互并调用所述后台算法端中的算法。开发人员可以自定义后台算法端中能够通过SDK接口调用的算法,使得本实施例提供的方案更加灵活。
通过SDK接口调用的函数可以包括:Regist函数,用来注册算法;setDataReceiver函数,用来接收用于算法中的目标对象的数据,例如网页数据、图像数据、视频数据等;setResultListener函数,浏览器内核通过该函数,可以与网页端形成消息通道;Init函数,用来初始化算法。具体地,setDataReceiver函数为目标对象获取函数,在使用时,开发人员在创建的算法逻辑中增加目标对象获取函数的调用逻辑,则在执行算法时,浏览器内核可以调用目标对象获取函数来获取目标对象,以对目标对象进行算法处理,具体可以从网页端获取目标对象。
基于调用的后台算法端中的算法即可构造相应的算法对象,其中,算法对象的具体构造方式包括但不限于算法实例化的方式。
进一步地,针对待处理的目标对象,可选地,本实施例中,算法控制消息中还可以携带有目标对象选择指令,浏览器内核可以直接根据目标对象选择指令确定目标对象,以通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理。例如,算法控制消息中可以携带有算法控制指令和目标对象选择指令,算法控制指令可以包括“"method":"translate"”,其指示选择的算法为translate算法,目标对象选择指令可以包括“"picture":"89504E470D0A1A0A0000000D49484452xxxxx"”,其指示目标对象为picture(图像),目标对象的二进制数据为"89504E470D0A1A0A0000000D49484452xxxxx";根据目标对象选择指令可以确定目标对象(picture),并可以通过translate算法对目标对象(picture)进行算法处理。
但不限于此,在另一种可行方式中,浏览器内核可以调用目标对象获取函数获取目标对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理。例如,调用setDataReceiver函数获取目标对象等。
在获取到目标对象后,即可使用构造的算法对象根据算法参数对其进行处理。
在一种可行方式中,通过所述算法对象和所述算法参数对目标对象进行算法处理可以包括:浏览器内核调用所述后台算法端中的、与构造的算法对象对应的初始化函数,通过初始化函数对构造的所述算法对象初始化;将所述算法参数传入初始化后的所述算法对象,以对目标对象进行算法处理。由此,可以保证算法对象的顺利执行。将算法对象进程初始化后,可以将算法参数作为算法对象的初始化参数传入,进而在算法参数的基础上对目标对象进行算法处理。例如,进行图像识别时,将图像的格式、宽高作为初始化参数传入算法对象,使得算法对象根据初始化参数对图像进行算法处理。
其中,所述后台算法端的算法包括但不限于以下至少之一:用于对所述网页端展示的界面进行像素变化的算法、用于提取图像中的文字的算法、用于识别图像或视频帧中的特定内容的算法(例如上述的用于识别猫的图像识别算法)等,以满足大部分实际的网页端算法需求。
另外需要说明的是,为了便于算法的调用,所述算法控制指令中可以包括被调用的算法标识,如算法名称,则,浏览器内核根据算法控制指令调用后台算法端中的算法时,可以调用后台算法端中与所述算法标识匹配的算法。
以算法标识为算法名称为例,所述浏览器内核根据算法控制指令调用后台算法端中与所述算法标识匹配的算法可以实现为:浏览器内核根据算法控制指令,调用后台算法端中与所述算法名称具有相同名称的算法。由此,可以减少调用时的数据处理负担,直接根据算法名称即可调用,提高调用效率。
另外,本实施例中,所述浏览器内核接收网页端发送的算法控制消息之前,所述网页端还可以通过调用浏览器内核中的算法获取函数,以获取后台算法端支持的算法的信息如算法名称,以根据获得的算法的信息确定所述算法控制消息中的算法控制指令。
浏览器内核同样可以为算法获取函数提供Web接口,以方便网页端调用,若不存在网页端所需的算法,则直接返回错误,避免了浏览器内核无法确定算法来创建算法实例的情况,进而避免由于浏览器内核发成错误影响浏览器的整体性能的情况。
S310、所述浏览器内核向所述网页端返回所述算法处理的结果。
如前所述,对目标对象的处理由浏览器内核中的算法对象实现。在对目标对象进行算法处理后,即可向网页端返回相应的结果。
在一种可行方式中,网页端通过监听方式来获得算法处理的结果。例如,网页端可以通过addEventListener函数接收算法处理结果。
在一个示例中,例如,网页端向浏览器内核发送“{“option”:”init”,”params”:{“format”:”PNG”,”width”:”600”,”height”:”800”}}”以指示初始化算法对象,算法对象执行初始化设置后,调用onResult(“{“int”:”ok”}”)通知网页端初始化成功。网页端通过addEventListener接收到“{“int”:”ok”}”。
又例如,网页端向浏览器内核发送“{“option”:”recognize”,”params”:{“category”:”cat”}}”以指示对图像进行“猫”识别,算法对象对图像进行识别后,调用onResult(“{“result”:[{”x”:20,”y”:100,”w”:50,”h”:50}]}”)通知网页端识别结果。
下面参考图3b,对本实施例的处理过程进行示例性说明。
如图3b所示,设定用户通过网页中展示的某个控制触发某个算法如算法C的执行,该算法C的触发操作被网页端获取后,网页端根据触发操作生成携带有算法C的信息的算法控制消息,包括算法C对应的算法控制指令以及算法参数,并发送算法控制消息至浏览器内核。浏览器内核在接收到该算法控制消息后,根据其中的算法C对应的算法控制指令,生成算法C的调用指令,以从后台算法端调用算法C,进行在浏览器内核中根据算法C构造算法对象,并通过算法对象和算法控制消息中的算法参数进行对目标对象进行算法处理,并向网页端返回算法处理的结果。
再一种更具体的使用场景的示例如图3c所示。
图3c中,仍以人像识别为例,假设需要对网页端通过网页展示的一个人像图像进行人像识别,网页端可以根据用户的触发操作,生成相应的算法控制消息,其中包括用于指示进行人像识别的算法控制指令A以及算法参数B,并发送至浏览器内核。浏览器内核中的JS引擎接收到网页端发送的算法控制消息后,对其进行解析,获得其中的算法控制指令A以及算法参数B,并通过JS引擎对应的渲染进程,将算法控制指令A以及算法参数B发送至浏览器主进程,由浏览器主进程根据算法控制指令A,生成人像识别算法的调用指令,以从后台算法端调用人像识别算法。进而,浏览器主进程根据调用到的人像识别算法构造算法对象。此外,本示例中,还设定浏览器内核在算法对象构造完成并初始化后获取人像图像。在获取到人像图像后,根据算法对象和算法参数B进行人像图像进行人像识别,得到人像识别结果(如人像所在区域的具体坐标信息)。浏览器主进程可以将人像识别结果发送至渲染进程,再由渲染进程通过JS引擎将人像识别结果发送至网页端。网页端展示基于人像图像的人像识别结果,例如在人像图像中显示“人像”标识,如图中左下方框中的内虚线框所示。
本实施例提供的方案,通过浏览器内核接收网页端发送的算法控制消息,之后所述浏览器内核调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,以通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理,并返回算法处理的结果。通过在浏览器内核构造算法对象来对目标对象进行处理,一方面,网页端开发人员无需关心算法的具体实现和版本更新,从而可以灵活地更新网页端的业务实现逻辑;另一方面,对于算法后台来说,其可以方便地进行算法发布、版本更新等处理,不必考虑网页端的处理,也为网页端业务发布及更新提供了有力支持。由此,使得网页端可以灵活地更新或发布基于算法实现的业务的方案。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:移动终端(如平板电脑、手机等)和PC机等。
实施例三
本实施例主要针对如何实现人脸识别进行说明。图4为本申请实施例三中数据处理方法的示意图;如图4所示,其包括以下步骤:
S402、浏览器内核接收网页端发送的算法控制消息。
其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数。
本步骤的具体实现方式与上述步骤S202类似,本实施例不再赘述。
具体地,网页端展示的页面中可以包括人脸识别触发选项,用户触发人脸识别触发选项后,网页端即根据用户的触发操作,生成携带有人脸识别算法控制指令的算法控制消息。人脸识别触发选项可以例如:支付页面中的刷脸支付的触发选项。
S404、所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配。
本步骤中构造算法对象以及进行人脸识别的具体实现方式与上述步骤S204类似,本实施例不再赘述。
另外,“确定识别出的人脸特征与预存的用户人脸特征是否匹配”的步骤,同样可以通过算法对象实现,或者,也可以通过其他方式实现,本申请对此不进行限定。
预存的用户人脸特征,可以为用户预先输入的、用于进行人脸验证的人脸特征,也可以为通过其他方式获取的人脸特征,本实施例对此不进行限定。
S406、所述浏览器内核向所述网页端返回匹配结果。
例如,当进行刷脸支付时,若匹配结果指示,识别出的人脸特征与预存的用户人脸特征匹配,则可以继续执行付款操作,然后通过网页端向用户展示付款成功页面;若不匹配,则通过网页端向用户展示付款失败界面。当然,此处仅为举例说明,并不作为本申请实施例的限定。
本实施例提供的方案,通过浏览器内核接收网页端发送的算法控制消息;所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;所述浏览器内核向所述网页端返回匹配结果。通过在浏览器内核构造算法对象来对目标对象进行处理,一方面,网页端开发人员无需关心人脸识别算法的具体实现和版本更新,从而可以灵活地更新网页端的业务实现逻辑;另一方面,对于算法后台来说,其可以方便地进行算法发布、版本更新等处理,不必考虑网页端的处理,也为网页端业务发布及更新提供了有力支持。由此,使得网页端可以灵活地更新或发布基于人脸识别算法实现的业务的方案。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:移动终端(如平板电脑、手机等)和PC机等。
实施例四
本实施例主要针对如何实现目标对象的识别以及搜索进行说明。图5为本申请实施例四中数据处理方法的示意图;如图5所示,其包括以下步骤:
S502、浏览器内核接收网页端发送的算法控制消息。
其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数。
本步骤的具体实现方式与上述步骤S202类似,本实施例不再赘述。
具体地,网页端展示的页面中可以包括识物触发选项,用户触发识物触发选项后,网页端即根据用户的触发操作,生成携带有目标物品识别算法控制指令的算法控制消息。识物触发选项可以例如:购物页面中的图像搜索触发选项。
S504、所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象。
本步骤中构造算法对象以及进行人脸识别的具体实现方式与上述步骤S204类似,本实施例不再赘述。
另外,“并发送目标对象的识别结果,以搜索识别出的所述目标对象”的步骤,同样可以通过算法对象实现,或者,也可以通过其他方式实现,本申请对此不进行限定。
具体可以将目标对象的识别结果发送至云端,由云端进行搜索,并将搜索结果返回至浏览器内核。
例如,用于进行目标物品识别的,可以为一个杯子的图片,则识别结果可以包括杯子的形状、杯子的颜色等。将识别结果发送至云端后,云端搜索与图片中的杯子类似的商品,并返回商品链接。
S506、所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
通过网页端,可以展示搜索结果,例如展示杯子对应的商品名称、商品图片等。
本实施例提供的方案,通过浏览器内核接收网页端发送的算法控制消息;所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象;所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。通过在浏览器内核构造算法对象来对目标图像进行目标物品识别,一方面,网页端开发人员无需关心目标物品识别算法的具体实现和版本更新,从而可以灵活地更新网页端的业务实现逻辑;另一方面,对于算法后台来说,其可以方便地进行算法发布、版本更新等处理,不必考虑网页端的处理,也为网页端业务发布及更新提供了有力支持。由此,使得网页端可以灵活地更新或发布基于目标物品识别算法实现的业务的方案。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:移动终端(如平板电脑、手机等)和PC机等。
实施例五
图6为本申请实施例五中数据处理装置的结构示意图;如图6所示,其包括:接收模块602、处理模块604、结果模块606。
接收模块602,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;处理模块604,用于通过所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;结果模块606,用于通过所述浏览器内核向所述网页端返回所述算法处理的结果。
可选地,所述算法控制消息中还携带有目标对象选择指令,所述处理模块604还用于通过浏览器内核根据所述目标对象选择指令确定目标对象,以通过所述算法对象和所述算法参数对所述目标对象进行算法处理;或者,所述处理模块604还用于通过所述浏览器内核调用目标对象获取函数获取目标对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理。
可选地,所述浏览器内核中预先设置有Web接口,所述Web接口用于接收所述网页端的调用,以接收所述网页端发送的所述算法控制消息;和/或,所述浏览器内核中预先设置有SDK接口,所述浏览器内核通过所述SDK接口与所述后台算法端交互并调用所述后台算法端中的算法。
可选地,所述处理模块604在通过所述算法对象和所述算法参数对目标对象进行算法处理时:通过所述浏览器内核调用所述后台算法端中的、与构造的所述算法对象对应的初始化函数,通过所述初始化函数对构造的所述算法对象初始化;将所述算法参数传入初始化后的所述算法对象,以对所述目标对象进行算法处理。
可选地,接收模块602用于由所述浏览器内核通过JS引擎接收并解析所述算法控制消息;在所述浏览器内核接收网页端发送的算法控制消息之后,所述方法还包括:所述浏览器内核通过所述JS引擎对应的渲染进程将所述算法控制消息压缩为异步消息后,发送至浏览器主进程。
可选地,所述处理模块604用于通过所述浏览器内核中的浏览器主进程对所述异步消息进行解压,将解压后获得的算法控制消息传入所述浏览器内核的算法管理器中,以使所述算法管理器根据所述算法控制消息中的算法控制指令调用所述后台算法端中的算法构造所述算法对象,并通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理。
可选地,所述算法包括以下至少之一:用于对所述网页端展示的界面进行像素变化的算法、用于提取图像中的文字的算法、用于识别图像或视频帧中的特定内容的算法。
可选地,所述算法控制指令中包括被调用的算法标识;所述处理模块604有通过所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法时,通过所述浏览器内核根据所述算法控制指令,调用所述后台算法端中与所述算法标识匹配的算法。
可选地,所述算法标识为算法名称;所述处理模块604在通过浏览器内核根据所述算法控制指令调用所述后台算法端中与所述算法标识匹配的算法进,通过所述浏览器内核根据所述算法控制指令,调用所述后台算法端中与所述算法名称具有相同名称的算法。
可选地,所述装置还包括:判断模块,用于通过所述浏览器内核确定所述后台算法端是否存在与所述算法控制指令对应的算法;发送模块,用于若不存在,则通过所述浏览器内核根据所述算法控制消息,生成处理请求并发送至对应的边缘计算平台,以通过所述边缘计算平台根据所述算法控制指令确定对应的算法,并根据确定的算法和对应的算法参数对目标对象进行算法处理;接收模块,用于通过所述浏览器内核接收所述边缘计算平台返回的算法处理结果,并向所述网页端返回所述算法处理的结果。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例六
本申请实施例六中的数据处理装置包括:接收模块、处理模块、结果模块。
接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数;
处理模块,用于通过所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;
结果模块,用于通过所述浏览器内核向所述网页端返回匹配结果。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
本申请实施例七中的数据处理装置包括:接收模块、处理模块、结果模块。
接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数。
处理模块,用于所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象。
结果模块,用于所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例八
图7为本申请执行数据处理方法的电子设备的硬件结构示意图。根据图7所示,该电子设备包括:
处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它终端设备或服务器进行通信。
处理器702,用于执行程序710,具体可以执行上述多实例任务的执行方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;处理器还可能是可编程门阵列(Field Programmable Gate Array,FPGA),图形处理器GPU,嵌入式神经网络处理器NPU等。终端设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器602、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (17)
1.一种数据处理方法,其特征在于,包括:
浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;
所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;
所述浏览器内核向所述网页端返回所述算法处理的结果。
2.根据权利要求1所述的方法,其特征在于,
所述算法控制消息中还携带有目标对象选择指令,所述浏览器内核根据所述目标对象选择指令确定目标对象,以通过所述算法对象和所述算法参数对所述目标对象进行算法处理;
或者,
所述浏览器内核调用目标对象获取函数获取目标对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理。
3.根据权利要求1所述的方法,其特征在于,
所述浏览器内核中预先设置有Web接口,所述Web接口用于接收所述网页端的调用,以接收所述网页端发送的所述算法控制消息;
和/或,
所述浏览器内核中预先设置有SDK接口,所述浏览器内核通过所述SDK接口与所述后台算法端交互并调用所述后台算法端中的算法。
4.根据权利要求1所述的方法,其特征在于,通过所述算法对象和所述算法参数对目标对象进行算法处理包括:
所述浏览器内核调用所述后台算法端中的、与构造的所述算法对象对应的初始化函数,通过所述初始化函数对构造的所述算法对象初始化;
将所述算法参数传入初始化后的所述算法对象,以对所述目标对象进行算法处理。
5.根据权利要求1所述的方法,其特征在于,
所述浏览器内核接收网页端发送的算法控制消息包括:所述浏览器内核通过JS引擎接收并解析所述算法控制消息;
在所述浏览器内核接收网页端发送的算法控制消息之后,所述方法还包括:所述浏览器内核通过所述JS引擎对应的渲染进程将所述算法控制消息压缩为异步消息后,发送至浏览器主进程。
6.根据权利要求5所述的方法,其特征在于,所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理,包括:
所述浏览器内核中的浏览器主进程对所述异步消息进行解压,将解压后获得的算法控制消息传入所述浏览器内核的算法管理器中,以使所述算法管理器根据所述算法控制消息中的算法控制指令调用所述后台算法端中的算法构造所述算法对象,并通过所述算法对象和所述算法控制消息中的算法参数对目标对象进行算法处理。
7.根据权利要求1所述的方法,其特征在于,所述算法包括以下至少之一:用于对所述网页端展示的界面进行像素变化的算法、用于提取图像中的文字的算法、用于识别图像或视频帧中的特定内容的算法。
8.根据权利要求1所述的方法,其特征在于,所述算法控制指令中包括被调用的算法标识;
所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,包括:所述浏览器内核根据所述算法控制指令,调用所述后台算法端中与所述算法标识匹配的算法。
9.根据权利要求8所述的方法,其特征在于,所述算法标识为算法名称;
所述浏览器内核根据所述算法控制指令调用所述后台算法端中与所述算法标识匹配的算法,包括:所述浏览器内核根据所述算法控制指令,调用所述后台算法端中与所述算法名称具有相同名称的算法。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述浏览器内核确定所述后台算法端是否存在与所述算法控制指令对应的算法;
若不存在,则所述浏览器内核根据所述算法控制消息,生成处理请求并发送至对应的边缘计算平台,以通过所述边缘计算平台根据所述算法控制指令确定对应的算法,并根据确定的算法和对应的算法参数对目标对象进行算法处理;所述浏览器内核接收所述边缘计算平台返回的算法处理结果,并向所述网页端返回所述算法处理的结果。
11.一种数据处理方法,其特征在于,包括:
浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数;
所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;
所述浏览器内核向所述网页端返回匹配结果。
12.一种数据处理方法,其特征在于,包括:
浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数;
所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象;
所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
13.一种数据处理装置,其特征在于,包括:
接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的算法控制指令和对应的算法参数;
处理模块,用于通过所述浏览器内核根据所述算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标对象进行算法处理;
结果模块,用于通过所述浏览器内核向所述网页端返回所述算法处理的结果。
14.一种数据处理装置,其特征在于,包括:
接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的人脸识别算法控制指令和对应的算法参数;
处理模块,用于通过所述浏览器内核根据所述人脸识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行人脸识别,并确定识别出的人脸特征与预存的用户人脸特征是否匹配;
结果模块,用于通过所述浏览器内核向所述网页端返回匹配结果。
15.一种数据处理装置,其特征在于,包括:
接收模块,用于通过浏览器内核接收网页端发送的算法控制消息,其中,所述算法控制消息中携带有:所述网页端向浏览器的后台算法端发送的目标物品识别算法控制指令和对应的算法参数;
处理模块,用于所述浏览器内核根据所述目标物品识别算法控制指令调用所述后台算法端中的算法,在所述浏览器内核中构造对应的算法对象,并通过所述算法对象和所述算法参数对目标图像进行目标物品识别,并发送目标对象的识别结果,以搜索识别出的所述目标对象;
结果模块,用于所述浏览器内核接收所述目标对象的搜索结果,并向所述网页端返回所述搜索结果。
16.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-12任一项所述的数据处理方法对应的操作。
17.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-12中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911182420.5A CN112860982B (zh) | 2019-11-27 | 2019-11-27 | 数据处理方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911182420.5A CN112860982B (zh) | 2019-11-27 | 2019-11-27 | 数据处理方法、装置、电子设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860982A true CN112860982A (zh) | 2021-05-28 |
CN112860982B CN112860982B (zh) | 2024-05-10 |
Family
ID=75985412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911182420.5A Active CN112860982B (zh) | 2019-11-27 | 2019-11-27 | 数据处理方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860982B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267972A (zh) * | 2014-10-20 | 2015-01-07 | 中国科学院声学研究所 | 浏览器本地接口扩展方法及装置 |
WO2016107224A1 (zh) * | 2014-12-29 | 2016-07-07 | 深圳Tcl新技术有限公司 | 界面焦点移动控制方法及装置 |
CN109684584A (zh) * | 2018-11-15 | 2019-04-26 | 北京海泰方圆科技股份有限公司 | 一种浏览器内核的智能切换方法、装置、终端及存储介质 |
CN109740092A (zh) * | 2018-12-26 | 2019-05-10 | 深圳市网心科技有限公司 | 浏览器系统、消息处理方法、电子设备、装置及存储介质 |
WO2019105093A1 (zh) * | 2017-11-30 | 2019-06-06 | 广州市动景计算机科技有限公司 | 数据封装、处理方法、装置及电子设备 |
WO2019218736A1 (zh) * | 2018-05-14 | 2019-11-21 | 阿里巴巴集团控股有限公司 | 一种页面处理方法、装置及设备 |
-
2019
- 2019-11-27 CN CN201911182420.5A patent/CN112860982B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267972A (zh) * | 2014-10-20 | 2015-01-07 | 中国科学院声学研究所 | 浏览器本地接口扩展方法及装置 |
WO2016107224A1 (zh) * | 2014-12-29 | 2016-07-07 | 深圳Tcl新技术有限公司 | 界面焦点移动控制方法及装置 |
WO2019105093A1 (zh) * | 2017-11-30 | 2019-06-06 | 广州市动景计算机科技有限公司 | 数据封装、处理方法、装置及电子设备 |
WO2019218736A1 (zh) * | 2018-05-14 | 2019-11-21 | 阿里巴巴集团控股有限公司 | 一种页面处理方法、装置及设备 |
CN109684584A (zh) * | 2018-11-15 | 2019-04-26 | 北京海泰方圆科技股份有限公司 | 一种浏览器内核的智能切换方法、装置、终端及存储介质 |
CN109740092A (zh) * | 2018-12-26 | 2019-05-10 | 深圳市网心科技有限公司 | 浏览器系统、消息处理方法、电子设备、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
JERZY DUDA; WOJCIECH DŁUBACZ: "GPU acceleration for the web browser based evolutionary computing system", IEEE, 19 December 2013 (2013-12-19) * |
杨立扬;成国强;: "基于Android机顶盒实现云端网页适配遥控器按键的技术", 信息通信, no. 01, 15 January 2018 (2018-01-15) * |
田立群;: "浅谈浏览器的种类及内核功能", 才智, no. 35, 15 December 2012 (2012-12-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN112860982B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992301B (zh) | 用户界面实现方法、客户端及存储介质 | |
KR102179149B1 (ko) | 페이지 컴포넌트 동적 레이아웃 | |
CN109145238B (zh) | 一种卡片显示方法、装置及移动设备 | |
CN107480587B (zh) | 一种模型配置以及图像识别的方法及装置 | |
EP3625708A1 (en) | Two-dimensional code generation method, two-dimensional code processing method, apparatus, device, and two-dimensional code | |
US11210119B2 (en) | Method and device for displaying interface, electronic equipment, server, and storage medium | |
CN111414562A (zh) | 应用程序页面api接口前置方法、装置及存储介质 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN111209065B (zh) | 动态壁纸设置方法、装置、存储介质及电子设备 | |
CN112035768A (zh) | 快应用的页面渲染方法、装置、存储介质及电子设备 | |
CN108810132A (zh) | 动画显示方法、装置、终端、服务器及存储介质 | |
CN113568699A (zh) | 一种内容显示方法、装置、设备及存储介质 | |
CN111240776B (zh) | 动态壁纸设置方法、装置、存储介质及电子设备 | |
CN114035870A (zh) | 一种终端设备、应用资源控制方法和存储介质 | |
CN111880813B (zh) | 实现安卓卡片ui的方法、存储介质 | |
CN112860982B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN115809056B (zh) | 组件复用实现方法、装置和终端设备、可读存储介质 | |
WO2023103918A1 (zh) | 语音控制方法、装置、电子设备及存储介质 | |
CN112843681A (zh) | 虚拟场景控制方法、装置、电子设备及存储介质 | |
CN109558186A (zh) | 一种页面显示方法和装置 | |
CN111026973A (zh) | 一种商品兴趣度预测方法、装置及电子设备 | |
CN113407259B (zh) | 加载场景的方法、装置、设备以及存储介质 | |
CN113127783B (zh) | 页面显示方法及装置、设备和介质 | |
CN112631638A (zh) | 终端应用更新方法、装置、存储介质及电子设备 | |
US20210021639A1 (en) | Method and electronic device for displaying web page |
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 |