CN112148499A - 数据上报方法、装置、计算机设备及介质 - Google Patents
数据上报方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN112148499A CN112148499A CN201910569287.2A CN201910569287A CN112148499A CN 112148499 A CN112148499 A CN 112148499A CN 201910569287 A CN201910569287 A CN 201910569287A CN 112148499 A CN112148499 A CN 112148499A
- Authority
- CN
- China
- Prior art keywords
- user operation
- data
- message
- user
- reporting
- 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
Images
Classifications
-
- 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/546—Message passing systems or structures, e.g. queues
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Abstract
本申请公开了一种数据上报方法、装置、终端及存储介质,属于数据处理领域。所述方法包括:在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;将所述用户操作事件转化为消息调度器中的用户操作消息;在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。本申请解决了相关技术需要对每个业务代码分别设置埋点代码,开发工作量大,代码维护成本高的问题。
Description
技术领域
本申请涉及数据处理领域,特别涉及一种数据上报方法、装置、计算机设备及介质。
背景技术
用户行为数据的收集可以采用埋点上报的方式来得到。“埋点”是指对用户在应用程序中的行为数据进行捕捉,“上报”是指把捕捉到的行为数据从应用程序传输到服务器。
相关技术中提供了一种埋点上报的方法,如图1所示,在应用程序的用户界面12上提供有多个控件元素:控件元素1、控件元素2、控件元素3等等;在网页网页12的界面逻辑14设置有业务代码141和埋点代码142。业务代码141和埋点代码142一一对应。当用户点击界面12上的某个控件元素时,该控件元素用于触发业务代码141,应用程序调用相应的埋点代码142将业务代码141的业务数据上报至后端服务器中。
上述方法需要对每个业务代码141分别设置埋点代码142,开发工作量大,代码维护成本高。
发明内容
本申请实施例提供了一种数据上报方法、装置、计算机设备及介质。所述技术方案如下:
根据本申请的一个方面,提供了一种数据上报方法,所述方法包括:
在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;
将所述用户操作事件转化为消息调度器中的用户操作消息;
在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;
根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;
其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的
根据本申请的另一方面,提供了一种数据上报装置,所述装置包括:
交互模块,用于在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;
转化模块,用于将所述用户操作事件转化为消息调度器中的用户操作消息;
拦截模块,用于在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;
上报模块,用于根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;
其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。
根据本申请的另一方面,提供了一种终端,所述终端包括:处理器和存储器;所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的数据上报方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的数据上报方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过在消息调度器处理用户操作消息时,拦截用户操作消息,根据拦截的用户操作消息调用基类提供的埋点代码进行数据上报,由于该基类提供的埋点代码是至少两个控件元素所共用的埋点代码,因此不需要在每个用户界面中分别根据不同的业务代码来设置不同的埋点代码,通过继承基类中的埋点代码来进行数据上报即可,从而解决了每个业务代码分别设置埋点代码时的开发工作量大,以及代码维护成本高的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了相关技术提供的一种数据上报方法的界面示意图;
图2示出了本申请的一个示例性实施例提供的数据上报方法的界面示意图;
图3示出了本申请的一个示例性实施例提供的基类的结构框图;
图4示出了本申请的一个示例性实施例提供的计算机系统的框图;
图5示出了本申请的一个示例性实施例提供的数据上报方法的流程图;
图6示出了本申请的一个示例性实施例提供的Runtime机制的示意图;
图7示出了本申请的另一个示例性实施例提供的Runtime机制的示意图;
图8示出了本申请的另一示例性实施例提供的数据上报方法的流程图;
图9示出了本申请的另一示例性实施例提供的上报字段的配置方法的示意图;
图10示出了本申请的一个示例性实施例提供的数据上报装置的框图;
图11示出了本申请的一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
埋点代码主要分为两类事件:曝光事件和点击事件。其中,曝光事件是指用户界面中的界面展示内容的曝光(实际显示出相应的用户界面供用户查看);点击事件是指用户界面中存在控件元素,该控件元素被用户点击的事件。这两类事件的上报流程如图2所示:
1、当用户点击用户界面22上的控件元素时,会触发点击事件;或者,当用户滑动用户界面22到某个位置(含有埋点的位置)停止时,会触发曝光事件;
2、埋点代码获取用户界面22上当前展示的控件元素所绑定的数据项,并且封装为上报格式;
比如,控件元素1是一张图片,当该图片的位置触发曝光事件时,将该图片对应的统一资源定位符(Uniform Resource Locator,URL)进行提取,并将提取到的URL封装为上报格式。又比如,控件元素2是一个按钮,当该按钮的位置触发点击事件时,将该按钮对应的活动(action,一种代码逻辑)进行提取,并将提取到的action封装为上报格式。
3、埋点代码调用上报接口,将封装后的数据项上报至服务器。
从上报流程上分析,各个用户界面的曝光事件和点击事件的上报逻辑是一样的。因此本申请实施例提供了一种自动化的数据上报方案,可以将各个用户界面的埋点代码抽象为通用的函数方法,利用封装和继承机制由基类(基础类)30进行管理和维护,如图3所示。基类30是将各个用户界面能够共用的代码抽象为通用代码后得到的基础编程类。比如,将加载失败时的错误弹出逻辑代码抽象为通用代码;将加载缓冲过程中的缓冲画面的显示逻辑代码抽象为通用代码。在本申请实施例中,将埋点代码抽象成为一种通用代码,利用基类来进行管理和维护。
图4示出了本申请一个示例性实施例提供的计算机系统400的结构框图。该计算机系统400可以是一个应用程序系统,本申请实施例对该应用程序的具体类型不加以限定。该计算机系统400包括:终端420和服务器集群440。
终端420通过无线网络或有线网络与服务器集群420相连。终端420可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP4播放器、MP4播放器和膝上型便携计算机中的至少一种。终端420安装和运行有应用程序。该应用程序可以是在线视频程序、短视频程序、图片分享程序、声音社交程序、动漫程序、壁纸程序、新闻推送程序、供求信息推送程序、学术交流程序、技术交流程序、政策交流程序、包含评论机制的程序、包含观点发布机制的程序、知识分享程序中的任意一种。终端420是用户使用的终端,终端420中运行的应用程序内登录有用户帐号。
终端420通过无线网络或有线网络与服务器440相连。
服务器集群440包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群440用于为支持声音消息的应用程序提供后台服务。可选地,服务器集群440承担主要计算工作,终端420承担次要计算工作;或者,服务器集群440承担次要计算工作,终端420承担主要计算工作;或者,终端420和服务器集群440之间采用分布式计算架构进行协同计算。
可选地,以计算机系统400是网页浏览系统为例,该服务器集群440包括:接入服务器442、网页服务器444和数据服务器446。接入服务器442可以为一个或多个,接入服务器442可以就近部署在不同的城市中,接入服务器442用于接收各个终端420的服务请求,并将服务请求转发给相应的服务器进行处理。网页服务器444是用于向终端420提供网页的服务器,该网页中集成有埋点代码;数据服务器446是用于接收终端420上报的数据(用户行为数据、业务数据等)。
图5是本申请一个示例性实施例提供的数据上报方法的流程图。该方法可由图4所示的终端420执行,该方法包括:
步骤501,在用户界面上接收用户操作事件,用户界面上包括至少一个控件元素;
控件元素是用户界面中作为组织界面最基础的元素。控件元素包括:文本输入框、按钮控件、下拉选框、日期/时间控件、上传控件、树形控件、列表框、多格式文本框、Tab控件或者其它控件所组成的集合中的至少一种。
用户界面上包括:一个或多个控件元素。用户可以在控件元素上施加:点击操作、双击操作、滑动操作、长按操作中的至少一种操作。点击操作、双击操作、长按操作均可触发用户点击事件。滑动操作可以将用户界面移动到不同的位置,因此可以触发界面刷新事件。
步骤502,将用户操作事件转换为消息调度器中的用户操作消息;
示例性的,消息调度器是Runtime(运行时机制)中的消息调度器。Runtime机制是IOS系统中的一种机制,用于在运行时做一些处理。Runtime机制是属于objective-c语言的底层,可以进行一些非常底层的操作:
-在程序运行过程中,动态创建一个类(比如KVO(Key-Value Observing,键值监测)的底层实现);
-在程序运行过程中,动态地为某个类添加属性\方法,修改属性值\方法;
-遍历一个类的所有成员变量(属性)\所有方法。
用户界面中产生的用户操作事件,可以转换为用户操作消息,添加到消息调度器中。等待消息调度器对用户操作消息的依次处理。
步骤503,在消息调度器处理用户操作消息时,拦截用户操作消息;
Runtime机制在用户界面中的业务代码运行时,每当一个类创建了一个方法的时候,系统就会为这个方法进行一个编号,然后会在方法实现列表中添加一个方法。
如图6所示,当产生用户操作事件(用户点击事件62或界面刷新事件64)时,将用户操作事件转化为消息调度器66中的用户操作消息。对于每个用户操作消息,消息调度器66调用方法实现列表68中与用户操作消息对应的方法,对该用户操作消息进行处理。
在本实施例中,如图7所示,在消息调度器66和方法实现列表68之间增加了消息拦截器67。当消息调度器66处理用户操作消息时,需要调用方法实现列表中响应的方法,此时消息拦截器67拦截该用户操作消息。
步骤504,根据拦截的用户操作消息,调用基类提供的埋点代码进行数据上报。
消息拦截器67根据拦截的用户操作消息,调用基类提供的埋点代码进行数据上报。
其中,基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。
可选地,在数据上报后,消息拦截器再调用方法实现列表68中与用户操作消息对应的方法(业务代码所提供的方法),对该用户操作消息进行处理。
综上所述,本实施例提供的方法,通过在消息调度器处理用户操作消息时,拦截用户操作消息,根据拦截的用户操作消息调用基类提供的埋点代码进行数据上报,由于该基类提供的埋点代码是至少两个控件元素所共用的埋点代码,因此不需要在每个用户界面中分别根据不同的业务代码来设置不同的埋点代码,通过继承基类中的埋点代码来进行数据上报即可,从而解决了每个业务代码分别设置埋点代码时的开发工作量大,以及代码维护成本高的问题。
本实施例提供的方法,还通过消息调度器来执行业务代码,消息拦截器来完成曝光数据和点击数据的收集上报,实现了业务逻辑和埋点逻辑的解耦,能够降低代码维护成本。
图8是本申请另一个示例性实施例提供的数据上报方法的流程图。该方法可由图4所示的终端420执行,该方法包括:
步骤801,接收配置文件;
由于同一个用户界面或不同的用户界面中存在很多个业务代码,不同的业务代码对应不同的数据项。存在一些数据项是需要埋点上报的数据项,存在另一些数据项是不需要埋点上报的数据项。为了降低上报的数据量,客户端可以只上报需要的数据,具体上报哪些数据可以由服务器来配置。
在本实施例中,基类中包括:数据源。数据源包括:与业务代码对应的各个数据项。为了实现有针对性的数据上报,每个数据项还对应有上报字段,该上报字段用于指示该数据项是否需要进行上报。
示意性的,表一示意性的出了业务数据、数据项和上报字段三者之间的配置关系。数值“1”代表需要上报,数值“0”代表不需要上报。
表一
业务数据 | 数据项 | 上报字段(report) |
业务数据1 | 数据项1 | 1 |
业务数据2 | 数据项2 | 0 |
业务数据3 | 数据项1 | 1 |
业务数据4 | 数据项3 | 0 |
业务数据5 | 数据项4 | 1 |
服务器按照与终端约定的动态数据协议,向终端发送配置文件。该配置文件用于配置每个数据项是否需要进行上报。可选地,服务器和终端之间约定有配置接口,服务器将配置文件通过该配置接口发送给终端。终端通过配置接口,按照与服务器约定的动态数据协议,接收该配置文件。
步骤802,根据配置文件配置数据源中的数据项的上报字段,上报字段用于指示数据项是否进行上报;
终端在接收到配置文件后,对配置文件中的数据源进行解析,得到业务数据、数据项、上报字段之间的对应关系。由于业务数据和控件元素之间存在对应关系,终端可以将数据项绑定到用户界面所显示的控件元素上。
如图9所示,服务器向终端下发配置文件,终端根据该配置文件将基类中的数据源进行配置。经过配置后,控件元素1对应的上报字段为1、控件元素2对应的上报字段为0、控件元素3对应的上报字段为1。
步骤803,在用户界面上接收用户操作事件,用户界面上包括至少一个控件元素;
在用户界面上接收用户点击操作(单击操作、双击操作、长按操作等),根据用户点击操作生成用户操作事件。
在用户界面上接收界面刷新操作(滑动操作,点击刷新按钮的操作等),根据界面刷新操作生成界面刷新事件。
步骤804,将用户操作事件转化为消息调度器中的用户操作消息;
用户界面中产生的用户操作事件,可以转换为用户操作消息,添加到消息调度器中。等待消息调度器对用户操作消息的依次处理。
步骤805,在消息调度器处理用户操作消息时,拦截用户操作消息;
基类提供的埋点代码中提供有消息拦截器。
如图7所示,在消息调度器66和方法实现列表68之间增加了消息拦截器67。当消息调度器66处理用户操作消息时,需要调用方法实现列表中响应的方法,此时消息拦截器67拦截该用户操作消息。
步骤806,根据拦截的用户操作消息,调用基类提供的埋点代码在数据源中,确定与用户操作消息对应的数据项;
消息拦截器在拦截该用户操作消息后,在基类的数据源中确定与该用户操作消息对应的数据项。
消息拦截器可以确定该用户操作消息所对应的控件元素,根据控件元素确定相对应的数据项。或者,消息拦截器可以确定该用户操作消息所对应的业务代码,根据业务代码确定相对应的数据项。
步骤807,根据与用户操作消息对应的数据项,生成待上报的业务数据;
可选地,消息拦截器还读取该数据项所对应的上报字段。
当该上报字段指示该数据项需要上报时,根据该数据项生成待上报的业务数据;当该上报字段指示该数据项不需要上报时,停止对该数据项的处理。
可选地,该数据项是业务代码所涉及的数据项,比如图片的URL地址、文本内容、按钮的活动等。
可选地,消息拦截器根据时间戳、用户帐号、网页URL、数据项等数据来生成一条业务数据。该业务数据也可称为:用户行为数据、自动化上报数据、埋点上报数据等其他名称。
步骤808,将业务数据进行上报。
终端将生成的业务数据上报至服务器。
综上所述,本实施例提供的方法,通过在消息调度器处理用户操作消息时,拦截用户操作消息,根据拦截的用户操作消息调用基类提供的埋点代码进行数据上报,由于该基类提供的埋点代码是至少两个控件元素所共用的埋点代码,因此不需要在每个用户界面中分别根据不同的业务代码来设置不同的埋点代码,通过继承基类中的埋点代码来进行数据上报即可,从而解决了每个业务代码分别设置埋点代码时的开发工作量大,以及代码维护成本高的问题。
本实施例提供的方法,还通过消息调度器来执行业务代码,消息拦截器来完成曝光数据和点击数据的收集上报,实现了业务逻辑和埋点逻辑的解耦,能够降低代码维护成本。
本实施例提供的方法,还通过由服务器向终端下发配置文件,不仅可以灵活控制上报数据量,而且还能动态扩展统计事件,增强了实时分析线上用户行为的能力。
本申请实施例提供的自动化上报方案,可以用于应用程序浏览网页的场景,也可以用于应用程序采用内置的应用程序内核显示网页的场景。相比于相关技术中的方案:
(1)提升埋点上报的工作效率;
从本申请的技术方案的详细描述中可以看出,如果没有使用本申请的技术方案,各个界面都需要编写埋点代码,占用的开发时间为O(N);如果使用本申请的技术方案,则只需要在基类中编写埋点代码,占用的开发时间为O(1),开发效率提升N倍
(2)降低埋点代码的维护成本;
由于相关技术中的业务代码分散在各个用户界面,如果需要更新数据上报协议,则需要修改N个用户界面的埋点代码,而本方案只需要采用配置文件来修改基类中的代码,维护成本降低N倍。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图10示出了本申请一个示例性实施例提供的数据上报装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或部分。该装置包括:
交互模块1020,用于在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;
转化模块1040,用于将所述用户操作事件转化为消息调度器中的用户操作消息;
拦截模块1060,用于在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;
上报模块1080,用于根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;
其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。
在一个可选的实施例中,所述基类包括数据源,所述数据源包括至少一个数据项;所述拦截模块1060,用于根据拦截的所述用户操作消息,调用所述基类提供的埋点代码在所述数据源中,确定与所述用户操作消息对应的数据项;根据与所述用户操作消息对应的数据项,生成待上报的业务数据;将所述业务数据进行上报。
在一个可选的实施例中,所述基类还包括所述数据项对应的上报字段;
所述拦截模块1060,用于确定与所述用户操作消息对应的数据项对应的目标上报字段;当所述目标上报字段用于指示上报状态时,根据与所述用户操作消息对应的数据项,生成待上报的业务数据。
在一个可选的实施例中,所述装置还包括:
接收模块1010,用于接收配置文件;
配置模块1030,用于根据所述配置文件配置所述数据源中的所述数据项的上报字段,所述上报字段用于指示对所述数据项是否进行上报。
在一个可选的实施例中,所述交互模块1020,用于在所述用户界面上接收用户点击操作,根据所述用户点击操作生成所述用户操作事件;或,所述交互模块1020,用于在所述用户界面上接收界面刷新操作,根据所述界面刷新操作生成所述界面刷新事件。
需要说明的是:上述实施例提供的数据上报装置在埋点上报时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据上报装置与数据上报方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11其示出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的数据上报方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、触摸显示屏1105、摄像头1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或Wi-Fi(Wireless-Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1108可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1111采集的重力加速度信号,控制触摸显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1112可以检测终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1113可以设置在终端1100的侧边框和/或触摸显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在触摸显示屏1105的下层时,由处理器1101根据用户对触摸显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1114可以被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114可以与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制触摸显示屏1105的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1105的显示亮度;当环境光强度较低时,调低触摸显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制触摸显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制触摸显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据上报方法,其特征在于,所述方法包括:
在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;
将所述用户操作事件转化为消息调度器中的用户操作消息;
在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;
根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;
其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。
2.根据权利要求1所述的方法,其特征在于,所述基类包括数据源,所述数据源包括至少一个数据项;
所述根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报,包括:
根据拦截的所述用户操作消息,调用所述基类提供的埋点代码在所述数据源中,确定与所述用户操作消息对应的数据项;
根据与所述用户操作消息对应的数据项,生成待上报的业务数据;
将所述业务数据进行上报。
3.根据权利要求2所述的方法,其特征在于,所述基类还包括所述数据项对应的上报字段;
所述根据与所述用户操作消息对应的数据项,生成待上报的业务数据,包括:
确定与所述用户操作消息对应的数据项对应的目标上报字段;
当所述目标上报字段用于指示上报状态时,根据与所述用户操作消息对应的数据项,生成待上报的业务数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收配置文件;
根据所述配置文件配置所述数据源中的所述数据项的上报字段,所述上报字段用于指示对所述数据项是否进行上报。
5.根据权利要求1至4任一所述的方法,其特征在于,所述在用户界面上接收用户操作事件,包括:
在所述用户界面上接收用户点击操作,根据所述用户点击操作生成所述用户操作事件;
或,
在所述用户界面上接收界面刷新操作,根据所述界面刷新操作生成所述界面刷新事件。
6.一种数据上报装置,其特征在于,所述装置包括:
交互模块,用于在用户界面上接收用户操作事件,所述用户界面上包括至少一个控件元素;
转化模块,用于将所述用户操作事件转化为消息调度器中的用户操作消息;
拦截模块,用于在所述消息调度器处理所述用户操作消息时,拦截所述用户操作消息;
上报模块,用于根据拦截的所述用户操作消息,调用基类提供的埋点代码进行数据上报;
其中,所述基类提供的埋点代码是至少两个控件元素所对应的业务代码所共用的。
7.根据权利要求6所述的装置,其特征在于,所述基类包括数据源,所述数据源包括至少一个数据项;
所述拦截模块,用于根据拦截的所述用户操作消息,调用所述基类提供的埋点代码在所述数据源中,确定与所述用户操作消息对应的数据项;根据与所述用户操作消息对应的数据项,生成待上报的业务数据;将所述业务数据进行上报。
8.根据权利要求7所述的装置,其特征在于,所述基类还包括所述数据项对应的上报字段;
所述拦截模块,用于确定与所述用户操作消息对应的数据项对应的目标上报字段;当所述目标上报字段用于指示上报状态时,根据与所述用户操作消息对应的数据项,生成待上报的业务数据。
9.一种终端,其特征在于,所述终端包括:处理器和存储器;
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的数据上报方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的数据上报方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569287.2A CN112148499A (zh) | 2019-06-27 | 2019-06-27 | 数据上报方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910569287.2A CN112148499A (zh) | 2019-06-27 | 2019-06-27 | 数据上报方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148499A true CN112148499A (zh) | 2020-12-29 |
Family
ID=73868829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910569287.2A Pending CN112148499A (zh) | 2019-06-27 | 2019-06-27 | 数据上报方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148499A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788054A (zh) * | 2021-01-27 | 2021-05-11 | 杭州萤石软件有限公司 | 一种物联网数据处理方法、系统及设备 |
-
2019
- 2019-06-27 CN CN201910569287.2A patent/CN112148499A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788054A (zh) * | 2021-01-27 | 2021-05-11 | 杭州萤石软件有限公司 | 一种物联网数据处理方法、系统及设备 |
CN112788054B (zh) * | 2021-01-27 | 2022-08-02 | 杭州萤石软件有限公司 | 一种物联网数据处理方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845856B (zh) | 基于对象的同步更新方法、装置、存储介质及设备 | |
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN111597008A (zh) | 弹窗管理方法、装置、终端及存储介质 | |
CN110168487B (zh) | 一种触摸控制方法及装置 | |
CN113204298B (zh) | 显示发布进度的方法、装置、电子设备及存储介质 | |
CN111338910B (zh) | 日志数据处理、显示方法、装置、设备及存储介质 | |
CN112420217B (zh) | 消息推送方法、装置、设备及存储介质 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
WO2021244267A1 (zh) | 应用程序的移植方法、装置、设备及介质 | |
CN112163406A (zh) | 互动消息显示方法、装置、计算机设备及存储介质 | |
CN111694478A (zh) | 内容展示方法、装置、终端及存储介质 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN110045958B (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
CN110995842A (zh) | 业务数据下载方法、装置、设备及存储介质 | |
CN110768843B (zh) | 网络问题分析方法、装置、终端及存储介质 | |
CN110825465A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN112148499A (zh) | 数据上报方法、装置、计算机设备及介质 | |
CN113485596B (zh) | 虚拟模型的处理方法、装置、电子设备及存储介质 | |
CN112597417B (zh) | 页面更新方法、装置、电子设备及存储介质 | |
CN113051015A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN112783533A (zh) | 版本信息更新方法、装置、终端及存储介质 | |
CN113204724A (zh) | 创建互动信息的方法、装置、电子设备及存储介质 | |
CN113312249A (zh) | 日志数据生成方法、日志数据显示方法及装置 | |
CN113392120A (zh) | 获取SQLite的执行信息的方法及装置 | |
CN114385939A (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 |