CN111090431A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN111090431A CN111090431A CN201911200795.XA CN201911200795A CN111090431A CN 111090431 A CN111090431 A CN 111090431A CN 201911200795 A CN201911200795 A CN 201911200795A CN 111090431 A CN111090431 A CN 111090431A
- Authority
- CN
- China
- Prior art keywords
- component
- loaded
- page
- application program
- attribute
- 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 abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000009877 rendering Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 17
- 238000011161 development Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种数据处理方法及装置,响应于页面展示指令,通过第一类型操作系统和第二类型操作系统使用的应用程序接口获取待加载组件的身份标识信息,基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑;基于待加载组件的组件属性,创建待加载组件的页面样式;基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中;在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,由此可以在不同操作系统中嵌入适用的应用程序接口即可调用一个相同组件,从而无需开发同一组件的多套版本,提高组件通用性并降低不确定性。
Description
技术领域
本发明属于组件化处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
目前终端的组件化开发主要通过终端中的原生应用程序开发各种组件,如使用安卓操作系统的终端通过jar包/aar包开发组件,使用IOS的终端通过framework包文件开发组件,但是由于使用不同操作系统的终端的基础环境和开发语言的不同,导致使用不同操作系统的终端开发的组件不能通用,这样当同一组件在使用不同操作系统的终端上运行时,需要使用不同操作系统的终端基于各自的原生应用程序开发适配的组件,即需要针对同一组件开发多套版本,增加不确定性。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法及装置,提高组件通用性并降低不确定性。技术方案如下:
本发明提供一种数据处理方法,所述方法包括:
响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口获取待加载组件的身份标识信息;
基于所述待加载组件的身份标识信息,获取所述待加载组件的组件属性和所述待加载组件的业务逻辑;
基于所述待加载组件的组件属性,创建所述待加载组件的页面样式;
基于所述待加载组件的页面样式,将所述待加载组件渲染至页面中,并在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中;
在监测到渲染成功指令后,释放所述待加载组件渲染过程中使用的业务资源,从而完成所述待加载组件在页面中的展示。
优选的,所述待加载组件的业务逻辑包括所述待加载组件对应的事件和所述事件的触发条件;
所述方法还包括:响应于针对所述待加载组件的触发指令,如果所述触发指令的触发条件和所述事件的触发条件一致,通过所述页面的应用程序调用所述待加载组件对应的事件,以基于所述待加载组件对应的事件改变所述页面的展示;
在监测到完成所述触发指令后,释放执行所述待加载组件对应的事件过程中使用的业务资源。
优选的,所述通过页面的应用程序调用所述待加载组件对应的事件包括:从所述待加载组件的组件属性中获取程序标识;
从所述页面的应用程序中获取与所述程序标识对应的业务逻辑代码;
调用与所述程序标识对应的业务逻辑代码,以完成调用所述待加载组件对应的事件。
优选的,所述基于所述待加载组件的组件属性,创建所述待加载组件的页面样式包括:
获取页面的页面属性;
基于所述页面的页面属性,调整所述待加载组件的组件属性;
基于调整后的组件属性,创建所述待加载组件的页面样式。
优选的,所述在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中包括:
基于所述待加载组件的组件属性中的程序标识,获取与所述待加载组件的业务逻辑对应的业务逻辑代码;
在渲染过程中将所述业务逻辑代码写入到所述页面的应用程序中;
以程序标识在所述页面的应用程序中标记所述业务逻辑代码。
本发明还提供一种数据处理装置,所述装置包括:
获取单元,用于响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口获取待加载组件的身份标识信息,并基于所述待加载组件的身份标识信息,获取所述待加载组件的组件属性和所述待加载组件的业务逻辑;
创建单元,用于基于所述待加载组件的组件属性,创建所述待加载组件的页面样式;
渲染单元,用于基于所述待加载组件的页面样式,将所述待加载组件渲染至页面中;
写入单元,用于在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中;
释放单元,用于在监测到渲染成功指令后,释放所述待加载组件渲染过程中使用的业务资源,从而完成所述待加载组件在页面中的展示。
优选的,所述待加载组件的业务逻辑包括所述待加载组件对应的事件和所述事件的触发条件;
所述装置还包括:调用单元,用于响应于针对所述待加载组件的触发指令,如果所述触发指令的触发条件和所述事件的触发条件一致,通过所述页面的应用程序调用所述待加载组件对应的事件,以基于所述待加载组件对应的事件改变所述页面的展示,并在监测到完成所述触发指令后,触发所述释放单元释放执行所述待加载组件对应的事件过程中使用的业务资源。
优选的,所述调用单元,用于从所述待加载组件的组件属性中获取程序标识;从所述页面的应用程序中获取与所述程序标识对应的业务逻辑代码;调用与所述程序标识对应的业务逻辑代码,以完成调用所述待加载组件对应的事件。
优选的,所述创建单元,用于获取页面的页面属性;基于所述页面的页面属性,调整所述待加载组件的组件属性;基于调整后的组件属性,创建所述待加载组件的页面样式。
优选的,所述写入单元,用于基于所述待加载组件的组件属性中的程序标识,获取与所述待加载组件的业务逻辑对应的业务逻辑代码;在渲染过程中将所述业务逻辑代码写入到所述页面的应用程序中;以程序标识在所述页面的应用程序中标记所述业务逻辑代码。
从上述技术方案可知,响应于页面展示指令,通过第一类型操作系统和第二类型操作系统使用的应用程序接口获取待加载组件的身份标识信息,基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑;基于待加载组件的组件属性,创建待加载组件的页面样式;基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中;在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,由此通过一个适用于第一类型操作系统和第二类型操作系统的应用程序接口可以实现对待加载组件的调用并完成待加载组件在页面中的展示,这样对于分别使用第一类型操作系统和第二类型操作系统的终端来说,可以在第一类型操作系统和第二类型操作系统中嵌入适用的应用程序接口即可调用一个相同的待加载组件,从而无需为第一类型操作系统和第二类型操作系统开发同一待加载组件的多套版本,提高组件通用性并降低不确定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理方法的流程图;
图2是本发明实施例提供的另一种数据处理方法的流程图;
图3是本发明实施例提供的一种数据处理装置的结构示意图;
图4是本发明实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种数据处理方法的流程图,可以包括以下步骤:
101:响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口(Application Programming Interface,API)获取待加载组件的身份标识信息。
其中响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。如响应于页面展示指令表示在监测到页面展示指令立即通过API获取待加载组件的身份标识信息,或者在监测到页面展示指令后延迟一定时间获取。
第一类型操作系统和第二类型操作系统适用的API表明通过第一类型操作系统和第二类型操作系统均能够调用API,第一类型操作系统和第二类型操作系统不同,如第一类型操作系统和第二类型操作系统中的一个为安卓操作系统,另一个为IOS,当然第一类型操作系统和第二类型操作系统还可以为其他操作系统,对此本实施例不一一说明,并且上述API不仅仅适用于第一类型操作系统和第二类型操作系统,其还可以适用于更多类型操作系统,本实施例仅是以第一类型操作系统和第二类型操作系统为例进行说明。
从目前已有开发语言来看,C语言能够与安卓操作系统和IOS操作系统相互调用,且安卓操作系统和IOS操作系统是目前两个被普遍使用的操作系统,因此本实施例中的适用于第一类型操作系统和第二类型操作系统的API可以基于C语言开发。同样的C语言还能够与Lua脚本语言进行相互调用,Lua脚本能够用于编写组件,因此本实施例中的待加载组件可通过Lua脚本开发得到,从而通过基于C语言编写的适用第一类型操作系统和第二类型操作系统的API来调用同一个待加载组件,实现待加载组件跨操作系统的使用。并且通过Lua脚本能够对Lua脚本适应的业务场景中的组件进行封装(如业务场景中的控件和方法都可以通过Lua脚本开发封装),然后基于C语言编写的API进行调用,提高组件在不同操作系统上的通用性,避免重复开发组件,并且使得开发人员可以将精力集中到组件的开发和测试上,从而提高组件的开发效率。
在本实施例中,待加载组件的身份标识信息用于定位待加载组件,以将待加载组件与其他组件进行区分,待加载组件的身份标识信息的一种形式可以是待加载组件的名称或待加载组件的编号等等,本实施例不对身份标识信息进行限定。
102:基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑。其中待加载组件的组件属性用于刻画出待加载组件,例如待加载组件的组件属性包括但不限于:名称、颜色、组件类型、高度、宽度等等,从而通过待加载组件的组件属性能够描绘出待加载组件。
待加载组件的业务逻辑则是表明待加载组件对应的事件和事件的触发条件,以阐述待加载组件能够实现的功能,对于不同待加载组件来说,其对应的业务逻辑不同,如通过Lua脚本开发的组件分别能够实现终端定位、电话、短信功能、陀螺仪和相机等功能,通过本实施例适用于不同类型的操作系统的API均可以调用这些组件。
103:基于待加载组件的组件属性,创建待加载组件的页面样式。可以理解的是:待加载组件的页面样式说明待加载组件在页面中的展示形式,如待加载组件在页面中的位置,所属图层等等,以保证待加载组件准确展示在页面中。
而待加载组件在渲染到页面时,页面的页面属性会影响待加载组件的显示,如页面的高度和页面的宽度可能会使得待加载组件无法完整显示,因此本实施例在创建待加载组件的页面样式时需要参考页面的页面属性,其创建过程如下:获取页面的页面属性;基于页面的页面属性,调整待加载组件的组件属性;基于调整后的组件属性,创建待加载组件的页面样式。
其中页面的页面属性包括但不限于:高度、宽度、颜色、图层总数、页面适配的承载体等等,因为一个页面的高度和宽度等受到页面属性的限制,所以当一个待加载组件渲染到页面时需要适配页面,为此本实施例基于页面的页面属性来调整待加载组件的组件属性,以使得创建的待加载组件的页面样式能够使得待加载组件完整显示在页面中,其调整过程包括但不限于基于页面的高度、宽度对待加载组件的高度和宽度进行调整,对此本实施例不再详述。
在这里需要说明的一点是:一个页面中可能会显示至少两个待加载组件,各个待加载组件若在页面中有重叠可能会影响待加载组件的使用,因此在创建待加载组件的页面样式,尤其是在创建除第一个待加载组件之外的其他组件时可以参考其他已创建页面样式的待加载组件调整后的组件属性,其中第一个待加载组件是需要渲染到页面中的所有待加载组件中第一个创建页面样式的组件。而在对一个待加载组件的组件属性进行调整时,调整的是组件属性中影响待加载组件显示的属性,对于不影响待加载组件显示的属性,如程序标识可以不进行调整。
104:基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中。
其中将待加载组件的业务逻辑写入到页面的应用程序中目的是:不单单能够在页面中展示待加载组件,还能够通过页面实现待加载组件的业务逻辑,这样就能够使得页面具备待加载组件的功能。在本实施例中,将待加载组件的业务逻辑写入到页面的应用程序中的一种方式是:基于待加载组件的组件属性中的程序标识,获取与待加载组件的业务逻辑对应的业务逻辑代码;在渲染过程中将业务逻辑代码写入到页面的应用程序中;以程序标识在页面的应用程序中所述业务逻辑代码。
其中,程序标识为绑定在待加载组件的组件属性中的用于标识业务逻辑代码的标识,如程序名,通过该程序名能够查找到对应的业务逻辑代码,该业务逻辑代码以代码形式阐述待加载组件的业务逻辑,通过运行业务逻辑代码可以完成待加载组件的业务逻辑。例如业务逻辑包括待加载组件对应的事件和事件的触发条件,则业务逻辑代码中包括对应事件和触发条件的代码,以监测到待加载组件被以触发条件指示的动作触发时,能够与对应的业务逻辑代码匹配,运行业务逻辑代码中与对应事件相关的代码,完成触发对应的事件的执行。
在将业务逻辑代码写入到页面的应用程序中,还可以进一步以程序标识在页面的应用程序中所述业务逻辑代码,这样在将待加载组件渲染到页面中后能够通过程序标识从页面代码中找到待加载组件的业务逻辑代码。
105:在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,使得待加载组件渲染过程中使用的业务资源能够被其他组件重复使用,提高业务资源的利用率。
在本实施例中,上述步骤102至步骤105的功能可以集成到一个组件解析器中,该组件解析器可基于C语言开发,适用于不同类型的操作系统的API将待加载组件的身份标识信息传递给组件解析器,由组件解析器对待加载组件进行调用加载。并且不同的待加载组件虽然业务逻辑不同,但是不同的待加载组件的结构和调用过程都是由组件解析器定义,其定义了三个方法,分别为:createNew,doStartTag,doEndTag,组件解析器在调用加载组件的过程中先后执行这三个方法,形成了一个组件的生命周期,相对应的组件解析器调用三个方法的过程如下:
在接收到待加载组件的身份标识信息,通过调用createNew方法创建待加载组件的页面样式,然后调用doStartTag方法得到待加载组件的业务功能,将待加载组件的业务功能写入到页面的应用程序中,最后调用doEndTag方法释放业务资源,至此完成待加载组件在页面中的渲染。在这里需要说明的一点是:虽然不同组件的业务功能和组件属性不同,上述三个方法针对不同组件的执行逻辑略有不同,但是不同组件的生命周期是一样的,组件解析器调用上述三个方法的时机也是一样的,因此只要在不同组件的生命周期中添加上述三个方法的执行逻辑就可以完成一个组件在页面中的渲染。
从上述技术方案可知,响应于页面展示指令,通过第一类型操作系统和第二类型操作系统使用的应用程序接口获取待加载组件的身份标识信息,基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑;基于待加载组件的组件属性,创建待加载组件的页面样式;基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中;在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,由此通过一个适用于第一类型操作系统和第二类型操作系统的应用程序接口可以实现对待加载组件的调用并完成待加载组件在页面中的展示,这样对于分别使用第一类型操作系统和第二类型操作系统的终端来说,可以在第一类型操作系统和第二类型操作系统中嵌入适用的应用程序接口即可调用一个相同的待加载组件,从而无需为第一类型操作系统和第二类型操作系统开发同一待加载组件的多套版本,提高组件通用性并降低不确定性。
此外通过本实施例提供的数据处理方法,待加载组件满足API的调用且在调用时符合上述待加载组件渲染过程即可渲染到页面中,因此基于本实施例可以自定义组件(适配于某一功能的组件或者是基于页面的某一功能开发的组件其不适配于其他页面),该自定义组件满足API的调用且在调用时符合上述待加载组件渲染过程。
上述待加载组件的业务逻辑包括待加载组件对应的事件和事件的触发条件,那么在将待加载组件渲染至页面中完成页面展示之后,还需要监控待加载组件的业务逻辑的执行,相对应的上述数据处理方法的另一可选流程如图2所示,在上述图1基础上还可以包括以下步骤:
106:响应于针对待加载组件的触发指令,如果触发指令的触发条件和事件的触发条件一致,通过页面的应用程序调用待加载组件对应的事件,以基于待加载组件对应的事件改变页面的展示。
其中触发指令的触发条件和事件的触发条件一致表明触发指令的触发条件和事件的触发条件相同,在两者相同时才能够触发待加载组件执行其对应的事件,以防止事件误触发。例如事件的触发条件为点击待加载组件,若触发指令携带的触发条件也是点击待加载组件,则说明两者一致,在本实施例中事件的触发条件包括但不限于点击/双击待加载组件、滑动、缩放和语音控制等,对此本实施例不加以限定。
如果触发指令的触发条件和事件的触发条件一致,从待加载组件的组件属性中获取程序标识;从页面的应用程序中获取与程序标识对应的业务逻辑代码;调用与程序标识对应的业务逻辑代码,以完成调用待加载组件对应的事件。这是因为业务逻辑代码中包括待加载组件对应的事件和事件的触发条件的代码,运行业务逻辑代码中与对应事件相关的代码,则会触发页面执行该业务逻辑代码对应的时间,以完成事件的调用和执行。
在事件被触发的同时页面展示的内容可能会随之发生变化,此时需要基于事件的触发改变页面的展示,如待加载组件对应的事件是一个搜索事件,在触发该搜索时间之后,页面会展示搜索过程并在接收到搜索结果后,将搜索结果展示在页面中,这些都视为是基于事件对页面展示的改变。
对于业务逻辑代码来说,其采用的编程语言可以是与页面代码的编程语言相同的语言,如可以采用页面专用的javascript语言,在渲染待加载组件至页面的过程中可以直接将业务逻辑代码写入到页面代码中。如果业务逻辑代码和页面代码采用不同的编程语言,若业务逻辑代码和页面代码采用的编程语言能够相互调用,尤其是页面代码采用的编程语言能够调用业务逻辑代码采用的编程语言,则可以由页面代码直接调用业务逻辑代码,若不能调用则需要对业务逻辑代码进行格式转换,以适配页面代码。
107:在监测到完成触发指令后,释放执行待加载组件对应的事件过程中使用的业务资源。同样的在响应针对待加载组件的触发指令过程中,也需要占用一些业务资源,如网络资源等等,当监测到完成触发指令之后释放这些业务资源,以使得业务资源能够被其他组件重复使用,提高业务资源的利用率。
此外,本实施例提供的数据处理方法在响应于页面展示指令之前,还能够将待加载组件下载到实施数据处理方法的设备的本地,在实施数据处理方法的设备的本地进行页面样式的创建、渲染等等,以提高执行效率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
与上述方法实施例相对应,本发明实施例还提供一种数据处理装置,其结构如图3所示,可以包括:获取单元11、创建单元12、渲染单元13、写入单元14和释放单元15。
获取单元11,用于响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口(API)获取待加载组件的身份标识信息,并基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑。
其中第一类型操作系统和第二类型操作系统适用的API表明通过第一类型操作系统和第二类型操作系统均能够调用API,但是第一类型操作系统和第二类型操作系统不同。从目前已有开发语言来看,C语言能够与安卓操作系统和IOS操作系统相互调用,且安卓操作系统和IOS操作系统是目前两个被普遍使用的操作系统,因此本实施例中的适用于第一类型操作系统和第二类型操作系统的API可以基于C语言开发。
在本实施例中,待加载组件的身份标识信息用于定位待加载组件,以将待加载组件与其他组件进行区分,待加载组件的身份标识信息的一种形式可以是待加载组件的名称或待加载组件的编号等等,本实施例不对身份标识信息进行限定。待加载组件的组件属性用于刻画出待加载组件,例如待加载组件的组件属性包括但不限于:名称、颜色、组件类型、高度、宽度等等,从而通过待加载组件的组件属性能够描绘出待加载组件。
待加载组件的业务逻辑则是表明待加载组件对应的事件和事件的触发条件,以阐述待加载组件能够实现的功能,对于不同待加载组件来说,其对应的业务逻辑不同,如通过Lua脚本开发的组件分别能够实现终端定位、电话、短信功能、陀螺仪和相机等功能,通过本实施例适用于不同类型的操作系统的API均可以调用这些组件。
创建单元12,用于基于待加载组件的组件属性,创建待加载组件的页面样式。可以理解的是:待加载组件的页面样式说明待加载组件在页面中的展示形式,如待加载组件在页面中的位置,所属图层等等,以保证待加载组件准确展示在页面中。
而待加载组件在渲染到页面时,页面的页面属性会影响待加载组件的显示,如页面的高度和页面的宽度可能会使得待加载组件无法完整显示,因此本实施例创建单元12在创建待加载组件的页面样式时需要参考页面的页面属性,其创建过程如下:获取页面的页面属性;基于页面的页面属性,调整待加载组件的组件属性;基于调整后的组件属性,创建待加载组件的页面样式,具体请参阅方法实施例中的相关说明,对此本实施例不再阐述。
渲染单元13,用于基于待加载组件的页面样式,将待加载组件渲染至页面中,从而将待加载组件加载到页面中。
写入单元14,用于在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中。其中将待加载组件的业务逻辑写入到页面的应用程序中目的是:不单单能够在页面中展示待加载组件,还能够通过页面实现待加载组件的业务逻辑,这样就能够使得页面具备待加载组件的功能。在本实施例中,写入单元14将待加载组件的业务逻辑写入到页面的应用程序中的一种方式是:基于待加载组件的组件属性中的程序标识,获取与待加载组件的业务逻辑对应的业务逻辑代码;在渲染过程中将业务逻辑代码写入到页面的应用程序中;以程序标识在页面的应用程序中所述业务逻辑代码,具体请参阅方法实施例中的相关说明,对此本实施例不再阐述。
释放单元15,用于在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,使得待加载组件渲染过程中使用的业务资源能够被其他组件重复使用,提高业务资源的利用率。
在本实施例中,上述创建单元12、渲染单元13、写入单元14和释放单元15可以集成到一个组件解析器中,该组件解析器可基于C语言开发,适用于不同类型的操作系统的API将待加载组件的身份标识信息传递给组件解析器,由组件解析器对待加载组件进行调用加载。并且不同的待加载组件虽然业务逻辑不同,但是不同的待加载组件的结构和调用过程都是由组件解析器定义,其定义了三个方法,分别为:createNew,doStartTag,doEndTag,组件解析器在调用加载组件的过程中先后执行这三个方法,形成了一个组件的生命周期,相对应的组件解析器调用三个方法的过程如下:
在接收到待加载组件的身份标识信息,通过调用createNew方法创建待加载组件的页面样式,然后调用doStartTag方法得到待加载组件的业务功能,将待加载组件的业务功能写入到页面的应用程序中,最后调用doEndTag方法释放业务资源,至此完成待加载组件在页面中的渲染。在这里需要说明的一点是:虽然不同组件的业务功能和组件属性不同,上述三个方法针对不同组件的执行逻辑略有不同,但是不同组件的生命周期是一样的,组件解析器调用上述三个方法的时机也是一样的,因此只要在不同组件的生命周期中添加上述三个方法的执行逻辑就可以完成一个组件在页面中的渲染。
从上述技术方案可知,响应于页面展示指令,通过第一类型操作系统和第二类型操作系统使用的应用程序接口获取待加载组件的身份标识信息,基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑;基于待加载组件的组件属性,创建待加载组件的页面样式;基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中;在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,由此通过一个适用于第一类型操作系统和第二类型操作系统的应用程序接口可以实现对待加载组件的调用并完成待加载组件在页面中的展示,这样对于分别使用第一类型操作系统和第二类型操作系统的终端来说,可以在第一类型操作系统和第二类型操作系统中嵌入适用的应用程序接口即可调用一个相同的待加载组件,从而无需为第一类型操作系统和第二类型操作系统开发同一待加载组件的多套版本,提高组件通用性并降低不确定性。
上述待加载组件的业务逻辑包括待加载组件对应的事件和事件的触发条件,那么在将待加载组件渲染至页面中完成页面展示之后,还需要监控待加载组件的业务逻辑的执行,相对应的本实施例提供的数据处理装置的另一种结构如图4所示,在图3基础上还可以包括:调用单元16。
调用单元16,用于响应于针对待加载组件的触发指令,如果触发指令的触发条件和事件的触发条件一致,通过页面的应用程序调用待加载组件对应的事件,以基于待加载组件对应的事件改变页面的展示,并在监测到完成触发指令后,触发释放单元15释放执行待加载组件对应的事件过程中使用的业务资源。
其中触发指令的触发条件和事件的触发条件一致表明触发指令的触发条件和事件的触发条件相同,在两者相同时才能够触发待加载组件执行其对应的事件,以防止事件误触发。例如事件的触发条件为点击待加载组件,若触发指令携带的触发条件也是点击待加载组件,则说明两者一致,在本实施例中事件的触发条件包括但不限于点击/双击待加载组件、滑动、缩放和语音控制等,对此本实施例不加以限定。
如果触发指令的触发条件和事件的触发条件一致,调用单元16通过如下操作完成调用待加载组件对应的事件:
从待加载组件的组件属性中获取程序标识;从页面的应用程序中获取与程序标识对应的业务逻辑代码;调用与程序标识对应的业务逻辑代码,以完成调用待加载组件对应的事件,具体请参阅方法实施例中的相关说明,对此本实施例不再阐述。
本发明实施例还提供一种电子设备,电子设备包括显示屏和处理器,显示屏,用于显示页面;处理器用于响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口获取待加载组件的身份标识信息;基于待加载组件的身份标识信息,获取待加载组件的组件属性和待加载组件的业务逻辑;基于待加载组件的组件属性,创建待加载组件的页面样式;基于待加载组件的页面样式,将待加载组件渲染至页面中,并在渲染过程中将待加载组件的业务逻辑写入到页面的应用程序中;在监测到渲染成功指令后,释放待加载组件渲染过程中使用的业务资源,从而完成待加载组件在页面中的展示,对于处理器的执行过程请参阅上述方法实施例,对此本实施例不再阐述。
本发明实施例还提供一种存储介质,存储介质中存储有计算机程序代码,计算机程序代码被执行时实现上述数据处理方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口获取待加载组件的身份标识信息;
基于所述待加载组件的身份标识信息,获取所述待加载组件的组件属性和所述待加载组件的业务逻辑;
基于所述待加载组件的组件属性,创建所述待加载组件的页面样式;
基于所述待加载组件的页面样式,将所述待加载组件渲染至页面中,并在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中;
在监测到渲染成功指令后,释放所述待加载组件渲染过程中使用的业务资源,从而完成所述待加载组件在页面中的展示。
2.根据权利要求1所述的方法,其特征在于,所述待加载组件的业务逻辑包括所述待加载组件对应的事件和所述事件的触发条件;
所述方法还包括:响应于针对所述待加载组件的触发指令,如果所述触发指令的触发条件和所述事件的触发条件一致,通过所述页面的应用程序调用所述待加载组件对应的事件,以基于所述待加载组件对应的事件改变所述页面的展示;
在监测到完成所述触发指令后,释放执行所述待加载组件对应的事件过程中使用的业务资源。
3.根据权利要求2所述的方法,其特征在于,所述通过页面的应用程序调用所述待加载组件对应的事件包括:从所述待加载组件的组件属性中获取程序标识;
从所述页面的应用程序中获取与所述程序标识对应的业务逻辑代码;
调用与所述程序标识对应的业务逻辑代码,以完成调用所述待加载组件对应的事件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述待加载组件的组件属性,创建所述待加载组件的页面样式包括:
获取页面的页面属性;
基于所述页面的页面属性,调整所述待加载组件的组件属性;
基于调整后的组件属性,创建所述待加载组件的页面样式。
5.根据权利要求1所述的方法,其特征在于,所述在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中包括:
基于所述待加载组件的组件属性中的程序标识,获取与所述待加载组件的业务逻辑对应的业务逻辑代码;
在渲染过程中将所述业务逻辑代码写入到所述页面的应用程序中;
以程序标识在所述页面的应用程序中标记所述业务逻辑代码。
6.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于响应于页面展示指令,通过第一类型操作系统和第二类型操作系统适用的应用程序接口获取待加载组件的身份标识信息,并基于所述待加载组件的身份标识信息,获取所述待加载组件的组件属性和所述待加载组件的业务逻辑;
创建单元,用于基于所述待加载组件的组件属性,创建所述待加载组件的页面样式;
渲染单元,用于基于所述待加载组件的页面样式,将所述待加载组件渲染至页面中;
写入单元,用于在渲染过程中将所述待加载组件的业务逻辑写入到所述页面的应用程序中;
释放单元,用于在监测到渲染成功指令后,释放所述待加载组件渲染过程中使用的业务资源,从而完成所述待加载组件在页面中的展示。
7.根据权利要求6所述的装置,其特征在于,所述待加载组件的业务逻辑包括所述待加载组件对应的事件和所述事件的触发条件;
所述装置还包括:调用单元,用于响应于针对所述待加载组件的触发指令,如果所述触发指令的触发条件和所述事件的触发条件一致,通过所述页面的应用程序调用所述待加载组件对应的事件,以基于所述待加载组件对应的事件改变所述页面的展示,并在监测到完成所述触发指令后,触发所述释放单元释放执行所述待加载组件对应的事件过程中使用的业务资源。
8.根据权利要求7所述的装置,其特征在于,所述调用单元,用于从所述待加载组件的组件属性中获取程序标识;从所述页面的应用程序中获取与所述程序标识对应的业务逻辑代码;调用与所述程序标识对应的业务逻辑代码,以完成调用所述待加载组件对应的事件。
9.根据权利要求6所述的装置,其特征在于,所述创建单元,用于获取页面的页面属性;基于所述页面的页面属性,调整所述待加载组件的组件属性;基于调整后的组件属性,创建所述待加载组件的页面样式。
10.根据权利要求6所述的装置,其特征在于,所述写入单元,用于基于所述待加载组件的组件属性中的程序标识,获取与所述待加载组件的业务逻辑对应的业务逻辑代码;在渲染过程中将所述业务逻辑代码写入到所述页面的应用程序中;以程序标识在所述页面的应用程序中标记所述业务逻辑代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200795.XA CN111090431B (zh) | 2019-11-29 | 2019-11-29 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200795.XA CN111090431B (zh) | 2019-11-29 | 2019-11-29 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090431A true CN111090431A (zh) | 2020-05-01 |
CN111090431B CN111090431B (zh) | 2024-02-23 |
Family
ID=70393779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200795.XA Active CN111090431B (zh) | 2019-11-29 | 2019-11-29 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090431B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736977A (zh) * | 2020-07-21 | 2020-10-02 | 成都新希望金融信息有限公司 | 一种多中台的中央调度方法及系统 |
CN112099891A (zh) * | 2020-09-10 | 2020-12-18 | 亚信科技(南京)有限公司 | 弹窗展示方法、装置、电子设备及计算机可读存储介质 |
CN112114805A (zh) * | 2020-08-27 | 2020-12-22 | 长沙市到家悠享网络科技有限公司 | 页面生成方法、装置、设备 |
CN112165482A (zh) * | 2020-09-24 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN112416533A (zh) * | 2021-01-25 | 2021-02-26 | 北京小米移动软件有限公司 | 在浏览器上运行应用程序的方法、装置及电子设备 |
CN115469923A (zh) * | 2022-10-28 | 2022-12-13 | 湖南映客互娱网络信息有限公司 | 一种通用的排行榜配置方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426204A (zh) * | 2015-11-05 | 2016-03-23 | 浪潮软件集团有限公司 | 一种基于国产CPU、操作系统和浏览器的Web高速加载渲染方法 |
WO2018077085A1 (zh) * | 2016-10-28 | 2018-05-03 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置及存储介质 |
CN108073424A (zh) * | 2016-11-17 | 2018-05-25 | 深圳万兴信息科技股份有限公司 | 组件接口的调用方法及装置 |
CN108228288A (zh) * | 2016-12-22 | 2018-06-29 | 航天信息股份有限公司 | 一种组件系统及其调用方法和装置 |
CN110020292A (zh) * | 2017-10-13 | 2019-07-16 | 华为技术有限公司 | 网页内容提取方法以及终端设备 |
-
2019
- 2019-11-29 CN CN201911200795.XA patent/CN111090431B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426204A (zh) * | 2015-11-05 | 2016-03-23 | 浪潮软件集团有限公司 | 一种基于国产CPU、操作系统和浏览器的Web高速加载渲染方法 |
WO2018077085A1 (zh) * | 2016-10-28 | 2018-05-03 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置及存储介质 |
CN108073424A (zh) * | 2016-11-17 | 2018-05-25 | 深圳万兴信息科技股份有限公司 | 组件接口的调用方法及装置 |
CN108228288A (zh) * | 2016-12-22 | 2018-06-29 | 航天信息股份有限公司 | 一种组件系统及其调用方法和装置 |
CN110020292A (zh) * | 2017-10-13 | 2019-07-16 | 华为技术有限公司 | 网页内容提取方法以及终端设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736977A (zh) * | 2020-07-21 | 2020-10-02 | 成都新希望金融信息有限公司 | 一种多中台的中央调度方法及系统 |
CN112114805A (zh) * | 2020-08-27 | 2020-12-22 | 长沙市到家悠享网络科技有限公司 | 页面生成方法、装置、设备 |
CN112099891A (zh) * | 2020-09-10 | 2020-12-18 | 亚信科技(南京)有限公司 | 弹窗展示方法、装置、电子设备及计算机可读存储介质 |
CN112099891B (zh) * | 2020-09-10 | 2024-01-12 | 亚信科技(南京)有限公司 | 弹窗展示方法、装置、电子设备及计算机可读存储介质 |
CN112165482A (zh) * | 2020-09-24 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN112165482B (zh) * | 2020-09-24 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及介质 |
WO2022062869A1 (zh) * | 2020-09-24 | 2022-03-31 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112416533A (zh) * | 2021-01-25 | 2021-02-26 | 北京小米移动软件有限公司 | 在浏览器上运行应用程序的方法、装置及电子设备 |
CN115469923A (zh) * | 2022-10-28 | 2022-12-13 | 湖南映客互娱网络信息有限公司 | 一种通用的排行榜配置方法和装置 |
CN115469923B (zh) * | 2022-10-28 | 2023-02-17 | 湖南映客互娱网络信息有限公司 | 一种通用的排行榜配置方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111090431B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090431B (zh) | 一种数据处理方法及装置 | |
CN105354014B (zh) | 应用界面渲染展示方法及装置 | |
CN109325195B (zh) | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 | |
CN107688529B (zh) | 组件调试方法和装置 | |
CN107092475B (zh) | 一种交互控件的调用方法及装置 | |
GB2589658A (en) | Method and apparatus for running an applet | |
CN109240697B (zh) | 调用处理方法及装置、存储介质 | |
CN105718313A (zh) | 应用操作方法和装置 | |
US10747510B1 (en) | Application runtime modification | |
CN103049320A (zh) | 在浏览器中启动外部应用程序的方法和装置 | |
CN109361948B (zh) | 界面管理方法、智能终端及可读存储介质 | |
CN108170430B (zh) | 一种界面展示的方法及系统 | |
CN111639278A (zh) | 一种网页加载方法及装置 | |
CN110806868A (zh) | 一种单页面搭建及加载方法 | |
CN107480117B (zh) | 自动化页面表单数据的恢复方法及装置 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
JP2022505656A (ja) | サブアプリケーション開発方法、装置、コンピュータ機器、並びにコンピュータプログラム | |
CN105743955A (zh) | 一种扩展JavaScript对象方法 | |
CN109684192B (zh) | 基于数据处理的本地测试方法、设备、存储介质及装置 | |
CN111666199B (zh) | 在智能终端上执行的调试方法以及软件调试器 | |
CN108804120B (zh) | 一种页面构建方法、装置、设备及存储介质 | |
CN111679828B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN110069247A (zh) | 一种应用程序的开发方法及装置、使用方法及装置 | |
CN105930166A (zh) | 一种基于web界面弹出层的方法 | |
CN117519877A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |