CN111327711A - 一种数据服务方法、数据服务装置、终端和机器可读存储介质 - Google Patents
一种数据服务方法、数据服务装置、终端和机器可读存储介质 Download PDFInfo
- Publication number
- CN111327711A CN111327711A CN202010192955.7A CN202010192955A CN111327711A CN 111327711 A CN111327711 A CN 111327711A CN 202010192955 A CN202010192955 A CN 202010192955A CN 111327711 A CN111327711 A CN 111327711A
- Authority
- CN
- China
- Prior art keywords
- data
- data service
- terminal
- service
- uploading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000004064 recycling Methods 0.000 claims 2
- 238000005538 encapsulation Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种数据服务方法、数据服务装置、终端和机器可读存储介质。所述数据服务方法包括:终端上运行唯一数据服务,该数据服务采集第一数据,第一数据包括终端自带的第一类应用程序运行时产生的数据;数据服务接收数据服务SDK发送的、终端上安装的第二类应用程序运行时产生的第二数据;存储第一数据和第二数据。本发明实施例中,因终端仅运行一个数据服务,终端上运行的第一类应用程序通过该数据服务进行数据采集,终端上运行的第二类应用程序采集的数据,通过统一的数据服务SDK进行存储。
Description
技术领域
本申请实施例涉及信息技术领域,并且更具体地,涉及数据服务方法、数据服务装置、终端和机器可读存储介质。
背景技术
当前市面上的智能移动终端或终端运行的应用程序都会采集终端的唯一标识码、应用操作、使用时长、终端使用情况等数据。第三方数据获取平台、软件开发者获得这些数据后,用于分析用户使用行为、硬件基本情况,给未来的迭代提供参考依据和优化建议。
一般当前应用程序主要使用第三方平台提供的SDK,来记录终端或软件的使用行为等数据。在终端正常运行时,SDK会在后台运行一个服务,并按预置好的埋点进行数据采集并进行上传。由于一个终端会运行多个商户的应用程序,而若每个应用程序都集成一个第三方数据采集SDK,那么终端的后台服务将运行多个数据采集服务,这些服务均需要占用CPU、内存资源,同时会加快终端的电量、流量消耗,且上传机制基本固定不允许自定义。因此目前的方式容易产生占用***资源、安全性未知、商用场景环境较差的情况。
发明内容
本申请实施例提供一种数据服务方法、数据服务装置、终端和机器可读存储介质,每台移动终端仅运行一个数据服务模块,通过该数据服务对终端上安装的应用程序进行数据采集存储上传服务,能够以最小的资源占用、消耗来提供数据服务。
一方面,本申请实施例提供了一种数据服务方法,唯一的数据服务运行在终端,所述方法包括:
所述数据服务采集第一数据,所述第一数据包括所述终端自带的第一类应用程序运行时产生的数据;
所述数据服务接收数据服务SDK发送的、终端上安装的第二类应用程序运行时产生的第二数据;
存储所述第一数据和所述第二数据。
作为一种优选方式,所述第一数据还包括终端的基础信息,所述第二数据包括业务数据。
作为一种优选方式,所述存储所述第一数据和所述第二数据,具体包括:
分别将所述第一数据和第二数据封装成DataBean格式;
将封装后的数据存储到内容提供者。
进一步的,所述方法还包括:
根据预定上传策略和上传时间,将所述内容提供者存储的数据上传到云端服务器。
进一步的,所述方法还包括:
判断上传数据是否上传成功;
判断出上传失败时,在所述上传时间内触发所述上传数据重新上传;
判断出上传成功时,触发所述内容提供者删除所述上传成功的数据。
作为一种优选方式,所述上传策略具体根据所述终端的网络状态和流量模式,和/或存储数据的数据等级提供,所述上传时间为凌晨1点到凌晨4间之间。
另一方面,本申请实施例提供了一种数据服务装置,包括唯一的数据服务、数据服务SDK模块和内容提供者:
所述数据服务,用于采集终端自带的第一类应用程序运行时产生的第一数据;
所述数据服务SDK模块连接数据服务模块,用于将终端上安装的第二类应用程序运行时产生的第二数据发送给所述数据服务;
所述内容提供者连接所述数据服务,用于将所述数据服务采集的第一数据和第二数据进行存储。
作为一种优选方式,所述数据服务装置还包括封装模块,所述封装模块连接所述内容提供者,用于分别将所述第一数据和第二数据封装成DataBean格式,并将封装后的数据存储到所述内容提供者。
进一步的,所述数据服务装置还包括上传模块,用于根据预定上传策略和上传时间,将所述内容提供者的数据上传到云端服务器。
其中,所述数据服务装置还包括判断模块,所述判断模块连接所述内容提供者,用于判断上传数据是否上传成功,当上传失败时,在所述上传时间内触发数据重新上传,当上传成功时,触发所述内容提供者删除所述上传成功的数据。
又一方面,本申请实施例提供了一种终端,所述终端包括上述任一数据服务装置。
作为一种优选方式,所述终端还包括数据回收模块,用于在所述数据服务装置的内容提供者存储的数据达到一定阈值时,进行数据回收。
其中,所述数据回收模块在所述数据服务装置的内容提供者存储的数据达到一定阈值时,根据数据的存储时间和数据等级进行回收。
再一方面,本申请实施例提供了一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使得实现上述方法。
可见,在上述技术方案中,终端仅运行一个数据服务(DataService),终端上运行的第一类应用程序通过该数据服务进行数据采集,终端上运行的第二类应用程序采集的数据,通过统一的数据服务SDK(DataServiceSDK)存储到内容提供者(ContentProvider)。通过利用唯一的数据服务进行数据采集和存储,终端的后台服务只运行一个采集服务,从而占用CPU和内存资源较小,且减少终端的电量、流量的消耗。
附图说明
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单介绍。然而,本领域技术人员应当理解的是,下面描述中的附图仅仅是本申请的一些示例,并不限制其范围。
图1是根据一个实施例的数据服务方法流程示意图。
图2是根据一个实施例的另一种数据服务方法流程示意图。
图3是根据一个实施例的又一数据服务的工作流程示意图。
图4是根据一个实施例的数据服务装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。本领域技术人员应当理解的是,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员可以进行任何适当的修改或变型,从而获得的所有其它实施例。
目前终端上运行有各种应用程序,每个应用程序集成第三方平台提供的数据采集SDK(Software Development Kit,软件开发工具包),在终端正常运行时,SDK会在后台运行一个服务,并按预置好的埋点进行数据采集并进行上传,这种运行多个SDK进行数据服务的方式,不仅占用CPU、内存等资源,加快终端的电亮、流量消耗,而且对于终端在WIFI、基站信号差、SIM卡套餐流量较低的情况下,会影响数据采集服务和上传。
鉴于此,本申请实施例提供了一种数据服务方案。在该技术方案中,终端仅运行一个数据服务,即DataService,该DataService包括两部分:数据处理模块和数据采集模块,该数据采集模块用于采集第一类应用程序运行时产生的数据,并存储在,ContentProvider(内容提供者),而第二类应用程序运行时独立采集的数据通过DataServiceSDK,存储到ContentProvider,该数据处理模块用于将ContentProvider存储的数据上传到云端服务器。
下面将结合具体实施例来详细描述上述技术方案。
图1提供了根据一个实施例的数据服务方法流程示意图,主要包括三个步骤。
步骤101,终端运行唯一的数据服务,该数据服务采集第一数据,该第一数据包括终端自带的第一类应用程序运行时产生的数据;
该步骤中,终端仅运行一个数据服务,即DataService,该DataService对终端安装的各个应用程序运行产生的数据进行存储和上传。具体的,本实施例中,将终端上运行的应用程序分为第一类应用程序和第二类应用程序,第一类应用程序是指终端出厂自带的应用程序,与终端的操作***相关联,而第二类应用程序是指一般的商用应用程序,或第三方应用程序,与终端的操作***无关。实际应用中,本实施例的终端可以运行在特定操作***下,如SUNMI OS,即商米操作***,此时DataServicec可以采集终端的任何数据,若终端运行在非商米的安卓ROM,此时DataService无法获取某些需要特定接口访问的数据,如监控CPU峰值、电池电量等,但一般的数据采集、上传等可以正常运行。
步骤102:数据服务接收数据服务SDK发送的、终端上安装的第二类应用程序运行时产生的第二数据;
本实施例中,对于终端上安装的第二类应用程序,其运行时产生的第二数据,通过数据服务SDK发送给数据服务。此处的第二数据一般为业务数据,可以为空中下载升级时产生的ROM包的下载速度信息、作为应用市场需要采集应用的下载速度、模块的点击量或操作量等。
目前DataService所有的能力是用于商米自带应用程序(APP),未向一般商用APP开放,本实施例提供的DataService SDK将一般商用APP采集的数据存储到ContentProvider。
步骤103:存储第一数据和第二数据。
其中,本发明实施例中,将数据服务存储的第一数据和第二数据,统称为存储数据,数据服务会根据当前终端所处的网络状态和流量模式来综合选择上传策略,结合选择上传时间,以最小的资源占用、消耗来保证数据可以完整传到云端服务器。
在本申请中,上述技术方案可以应用于智能终端、移动终端等。
在一个实施例中,终端仅运行一个数据服务,即DataService,该数据服务会在终端开机后运行,对终端自带应用程序运行时产生的数据进行记录,并对终端安装的一般应用程序采集的数据,通过DataService的SDK存储到ContentProvider。
为了帮助本领域技术人员更好地理解本申请的技术方案,下面将结合具体例子进行说明。然而,应当理解的是,这些例子并不对本申请的保护范围造成任何限制。
图2是根据一个实施例的数据服务方法的一个示例。
步骤201:终端运行唯一数据服务,该数据服务在终端开机后运行;
实际应用中,该数据服务在开机后第一时间获取服务时间戳,后续时间通过计算可以知道服务器具体时间,该数据本服务中数据都是以服务器时间来记录的。
本实施例的终端可以运行在特定操作***下,如SUNMI OS,即商米操作***,此时DataServicec可以采集终端的任何数据,若终端运行在非商米的安卓ROM,此时DataService无法获取某些需要特定接口访问的数据,如监控CPU峰值、电池电量等,但一般的数据采集、上传等可以正常运行。
具体的,本实施例通过Android***的定时服务(AlarmManager)来提供定时任务,唤醒AlarmManager是***唤醒,即使***现在处于休眠状态也能被唤醒处理数据服务中的数据采集任务。这样可以保证数据采集任务在设定的时间后准时运行。
AlarmManager启动后,设置了不同的定时任务和定时时间,到达定时时间后,数据服务运行程序采集相关数据。
步骤202:数据服务采集终端自带的第一类应用程序运行时产生的第一数据;
本实施例中,将终端上运行的应用程序分为第一类应用程序和第二类应用程序,第一类应用程序是指终端出厂自带的应用程序,与终端的操作***相关联,而第二类应用程序是指一般的商用应用程序,与终端的操作***无关。
本发明数据服务的数据采集功能,是基于Android原生和定制rom 提供的API采集的,因而数据的准确性能得到很好的保证。
进一步的,第一数据还包括终端的基础信息,数据服务还采集终端的基础信息,该基础信息可以为终端内存、终端电量、位置信息、ROM信息和/或安装APP的运行时间等,基础信息是通过***广播来收集的,广播采用静态注册,即使数据服务退出或者被回收了,也能在收到广播重新开启运行,进而可以节省***内存和减少***消耗。
步骤203:数据服务接收数据服务SDK发送的、终端上安装的第二类应用程序运行时产生的第二数据;
具体的,终端上安装的第二类应用程序,其运行时产生的第二数据,一般为业务数据,如第二类应用程序升级产生***包的下载速度信息、模块的点击量或操作量等,通过数据服务SDK发送给数据服务,从而通过该数据服务将采集的数据存储、上传给云端服务器。
其中,该第二数据一般为业务数据,可以为空中下载升级时产生的ROM包的下载速度信息、作为应用市场需要采集应用的下载速度、模块的点击量或操作量等,第二类应用程序采集的第二数据,都需要通过DataServiceSDK传到ContentProvider的数据库。该ROM包是好比电脑装***时所需的安装盘,在本实施例指终端的***包。
步骤204:将第一数据和第二数据进行存储。
将数据存储在ContentProvider的数据库,其他组件可以通过URI将数据存储到设定好的数据库里,本实施例在此处增加权限控制,防止其他APP存储或者读取数据。其他组件不能通过URI读数据,该URI服务只能添加数据,不能读取数据。
具体的,数据服务的数据接收部分是由很多广播接收器和定时任务控制,收到数据后将数据push到数据处理模块的队列中一个一个处理,然后存储到数据库中进行保存。
DataService存储数据时,可以对部分指定重要业务的数据进行汇总,例如汇总每个APP每天的流量消耗,或汇总出单台设备每天消耗的流量。除此之外,DataService会把数据分为明细、半汇总、汇总三个类型,这三个类型的重要等级分别为明细→低、半汇总→中、汇总→高,存储数据的数据等级会影响到数据存储及上传策略。
为了方便本实施例封装了整个过程,其他App只需要调用相关的API 即可完成操作。
对于第一数据的存储方式,将采集的第一数据全部封装成DataBean的List集合,存储到ContentProvider中,可以批量存储,优选地,本实施例中,以服务端记录的时间为准,数据服务在开机后第一时间获取服务时间戳,服务器时间戳记录数据采集的时间,将当前时间到第二天凌晨0点之间采集的数据全部封装成DataBean的List集合,存储到ContentProvider中,可以批量存储。
对于第二数据的存储方式,将其他第三方APP采集的数据,封装成固定的DataBean,通过DataServiceSDK存储到ContentProvider中。
步骤205:数据服务将存储的数据上传到云端服务器。
本实施例中数据服务的工作流程如图3所示,本实施例分别对商米APP、第三方APP及其他APP运行时的数据进行采集,然后对采集数据标志等级,将采集的数据通过DataServiceSDK存储到内容提供者;DataService上传数据时,从内容提供者中获取数据,并通过上传策略和处理逻辑,将数据上传给云端服务器。图未示出对商米APP通过终端安装的唯一数据服务进行采集,而对第三方APP和其他APP则利用自身的采集功能,只是将采集后的数据通过DataServiceSDK存储到ContentProvider。
其中对数据的上传功能,由定时任务进行控制,本实施例通过Android的***服务AlarmManager来提供定时任务,即使***现在处于休眠状态也能被唤醒处理数据服务中的数据采集任务及数据上传服务,不仅保证了数据采集任务在设定的时间后准时运行,而且保证了数据上传时以服务器记录的时间为准,克服了目前数据产生的时间使用的是服务器时间,在获取app的当天的流量消耗时,却是以本地的时间区间去计算,因在本地时间和服务器时间不匹配时数据无法真实描述当天的流量消耗的情况。
AlarmManager服务启动后,会设置不同的定时任务和定时时间,到达定时时间后数据服务运行程序采集相关数据,唤醒AlarmManager是***唤醒。
实际应用中,每天凌晨1点后,选择一个随机时间开始从ContentProvider中根据一定的策略取出数据,如,每次取出1MB以内的数据通过Gzip压缩后发生Http请求上传,分多次进行直到所有都上传成功。
如果上传失败,则再随机一段时间后重新上传,直至凌晨4点停止上传等明天凌晨。如果上传成功,将删除已经上传成功的数据。
本实施例中对于数据是否上传成功,提供了验证手段,上传结果会通过接口回调获取上传数据,实际中,如果在2分钟内无法获取就默认失败,此处的2分钟是作为举例说明,并不对实际中的时间值进行限制。
本实施例提供的在凌晨1点到凌晨4点间上传数据的方式,根据机具空闲状态进行及时上传数据。与现有方案中在凌晨后设置固定时间,定时上传数据的方式相比,不会导致数据在后端显示的滞后性。该机具空闲状态是指终端闲置空闲未被使用的时候。
本实施例的终端还提供了回收数据模块,如果囤积超过20MB的数据没有删除,则自动启动回收数据功能,将按照时间和数据等级将低优先级和早期的数据删除,保持总体数据在20MB以内。
另外,本实施例还提供了数据服务根据当前终端所处的网络状态和流量模式来综合选择上传策略,结合上传时间,以最小的资源占用、消耗来保证数据可以完整传到云端服务器。
其中,网络状态可以是网络连接类型,如wifi,有线,sim卡等。设备的流量模式可以是极省流量模式或无限制模式,如终端使用SIM卡且处于极省流量模式,DataService仅会上传汇总类数据,而终端处于极省流量模式且使用WIFI,DataService会上传所有等级数据。上传策略是上传前会根据网络状态和流量模式判断上传哪些数据,和要不要上传。
在此基础上,本实施例提供的上传策略除考虑终端所处的网络状态、流量模式之外,还可以结合存储数据的数据等级,在终端的网络状态、流量模式相同的情况下,优先将高等级的数据上传给云端服务器。
本发明实施例提供的方法,终端仅运行一个数据服务,即DataService,该数据服务会在终端开机后运行,对终端自带应用程序运行时产生的第一数据进行记录,并存储在DataService的数据库,将终端安装的一般应用程序采集的第二数据,通过DataService的SDK存储到ContentProvider。对于第一数据和第二数据均封装成DataBean的List集合,存储到ContentProvider中。
本实施例以服务端记录的时间为准,能够避免以本地时间区间计算数据,而数据产生时间是使用服务器时间,两者不匹配时产生无法真实描述当天的流量消耗的情况。
本实施例上传数据时,根据终端的网络状态和流量模式提供了上传策略,因而服务商可以根据自己需求进行数据上传,不再受单一上传策略的限制,有助于上传的数据动态适应网络状态。
在一个实施例中,图4提供了一种数据服务装置的结构示意图,该数据服务装置包括唯一的数据服务301、数据服务SDK模块302和内容提供者303:
数据服务301,用于采集终端自带的第一类应用程序运行时产生的第一数据;
数据服务SDK模块302连接数据服务模块301,用于将终端上安装的第二类应用程序运行时产生的第二数据发送给数据服务301;
内容提供者303连接数据服务301,用于将数据服务301采集的第一数据和第二数据进行存储。
其中,该数据服务装置位于移动终端或智能终端上。
图3的数据服务装置的其它功能和操作可以参照上面图1至图2的方法实施例的过程,为了避免重复,此处不再赘述。
本发明实施例提供的数据服务装置,根据终端运行的数据服务对终端自带应用程序运行时产生的数据进行记录并存储在DataService的数据库,并对终端安装的一般应用程序采集的数据,通过DataService的SDK存储在ContentProvider。
在一个实施例中,提供了一种终端的结构示意图,该终端包括上述实施例所述的任一数据服务装置;
该数据服务装置至少包括唯一的数据服务、数据服务SDK模块和内容提供者,数据服务用于采集终端自带的第一类应用程序运行时产生的第一数据;数据服务SDK模块将终端上安装的第二类应用程序运行时产生的第二数据发送给数据服务;内容提供者存储数据服务采集的第一数据和第二数据。
进一步的,该终端还包括数据回收模块,用于在内容提供者存储的数据达到一定阈值时,进行数据回收。
具体的根据数据存储时间和数据等级进行数据回收,实际中,一般将低优先级的数据和/和存储时间较早的数据进行回收。
实际中,该阈值可以为20MB,如果内容提供者的数据囤积超过20MB的数据没有删除,则自动启动回收数据功能,将按照时间和数据等级将低优先级和早期的数据删除,保持总体数据在20MB以内。
其中,该终端可以为智能终端,或移动终端,该终端能够运行android***。
本发明实施例提供的终端,根据终端运行的唯一数据服务对终端自带应用程序运行和安装的第三方应用程序运行时产生的数据进行采集、存储,并上传到云端服务器,通过唯一的数据服务完成数据采集存储操作,有助于减少终端后台服务运行的采集服务的数量,相比于目前对每个应用程序均集成第三方数据采集SDK,在设备后台服务运行多个采集服务,而大量占用CPU、内存资源的情况,本实施例不必占用大量CPU及内存资源,且能够加快设备的电量、流量消耗。
此外,本申请实施例还提供一种机器可读存储介质。该机器可读存储介质可以存储有可执行指令,可执行指令在被机器执行时使得机器实现上面参照图1至图2描述的方法实施例的具体过程。
例如,机器可读存储介质可以包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、静态随机存取存储器(Static Random Access Memory,SRAM)、硬盘、闪存等等。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现。这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的***、装置和方法可以通过其它方式来实现。例如,所述单元的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式。例如,多个单元或组件可以进行组合或者可以集成到另一个***中。另外,各个单元之间的耦合可以是直接耦合或间接耦合。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是单独的物理存在等等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中。因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程。上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
以上内容仅为本申请的具体实施方式,本申请的保护范围并不局限于此。本领域技术人员在本申请所公开的技术范围内可以进行变化或替换,这些变化或替换都应当在本申请的保护范围之内。
Claims (15)
1.一种数据服务方法,其特征在于,唯一的数据服务运行在终端,所述方法包括:
所述数据服务采集第一数据,所述第一数据包括所述终端自带的第一类应用程序运行时产生的数据;
所述数据服务接收数据服务SDK发送的、终端上安装的第二类应用程序运行时产生的第二数据;
存储所述第一数据和所述第二数据。
2.根据权利要求1所述的方法,其特征在于,所述第一数据还包括终端的基础信息,所述第二数据包括业务数据。
3.根据权利要求1或2所述的方法,其特征在于,所述存储所述第一数据和所述第二数据,具体包括:
分别将所述第一数据和第二数据封装成DataBean格式;
将封装后的数据存储到内容提供者。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据预定上传策略和上传时间,将所述内容提供者存储的数据上传到云端服务器。
5.根据权利要求4所述的方法,其特征在于,所述上传时间包括定位上传时间,所述方法还包括:
根据安卓***的定时服务提供定时采集时间和定时上传时间;
到达所述定时采集时间时,启动所述数据服务采集第一数据;
到达所述定时上传时间时,根据所述上传策略将所述内容提供者存储的数据上传到云端服务器。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断上传数据是否上传成功;
判断出上传失败时,在所述上传时间内触发所述上传数据重新上传;
判断出上传成功时,触发所述内容提供者删除上传成功的数据。
7.根据权利要求4所述的方法,其特征在于,所述上传策略具体根据所述终端的网络状态和流量模式,和/或存储数据的数据等级提供,所述上传时间为凌晨1点到凌晨4点之间。
8.一种数据服务装置,其特征在于,所述数据服务装置包括唯一的数据服务、数据服务SDK模块和内容提供者,
所述数据服务,用于采集终端自带的第一类应用程序运行时产生的第一数据;
所述数据服务SDK模块连接数据服务模块,用于将终端上安装的第二类应用程序运行时产生的第二数据发送给所述数据服务;
所述内容提供者连接所述数据服务,用于将所述数据服务采集的第一数据和第二数据进行存储。
9.根据权利要求8所述的装置,其特征在于,所述数据服务装置还包括封装模块,所述封装模块连接所述内容提供者,用于分别将所述第一数据和第二数据封装成DataBean格式,并将封装后的数据存储到所述内容提供者。
10.根据权利要求8或9所述的装置,其特征在于,所述数据服务装置还包括上传模块,用于根据预定上传策略和上传时间,将所述内容提供者存储的数据上传到云端服务器。
11.根据权利要求10所述的装置,其特征在于,所述数据服务装置还包括判断模块,所述判断模块连接所述内容提供者,用于判断上传数据是否上传成功,当上传失败时,在上传时间内触发数据重新上传,当上传成功时,触发所述内容提供者删除上传成功的数据。
12.一种终端,其特征在于,所述终端包括如权利要求8-11任一所述的数据服务装置。
13.根据权利要求12所述的终端,其特征在于,所述终端还包括数据回收模块,用于在所述数据服务装置的内容提供者存储的数据达到一定阈值时,进行数据回收。
14.根据权利要求13所述的终端,其特征在于,所述数据回收模块在所述数据服务装置的内容提供者存储的数据达到一定阈值时,根据数据的存储时间和数据等级进行回收。
15.一种机器可读存储介质,其上存储有可执行指令,所述可执行指令在被机器执行时使得实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010192955.7A CN111327711A (zh) | 2020-03-18 | 2020-03-18 | 一种数据服务方法、数据服务装置、终端和机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010192955.7A CN111327711A (zh) | 2020-03-18 | 2020-03-18 | 一种数据服务方法、数据服务装置、终端和机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111327711A true CN111327711A (zh) | 2020-06-23 |
Family
ID=71170038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010192955.7A Pending CN111327711A (zh) | 2020-03-18 | 2020-03-18 | 一种数据服务方法、数据服务装置、终端和机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327711A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899325A (zh) * | 2015-06-19 | 2015-09-09 | 上海卓悠网络科技有限公司 | 一种app采集数据的收集方法、终端、服务器及*** |
CN105656714A (zh) * | 2015-12-25 | 2016-06-08 | 北京京东尚科信息技术有限公司 | 移动设备的数据采集上报方法和装置 |
CN107018046A (zh) * | 2017-06-06 | 2017-08-04 | 上海鋆创信息技术有限公司 | 一种数据采集方法、装置、终端及存储介质 |
CN108134838A (zh) * | 2017-12-27 | 2018-06-08 | 广东欧珀移动通信有限公司 | 数据上报方法、装置、移动终端及计算机可读介质 |
CN108235308A (zh) * | 2017-12-27 | 2018-06-29 | 广东欧珀移动通信有限公司 | 数据上报方法、装置、移动终端及计算机可读介质 |
-
2020
- 2020-03-18 CN CN202010192955.7A patent/CN111327711A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899325A (zh) * | 2015-06-19 | 2015-09-09 | 上海卓悠网络科技有限公司 | 一种app采集数据的收集方法、终端、服务器及*** |
CN105656714A (zh) * | 2015-12-25 | 2016-06-08 | 北京京东尚科信息技术有限公司 | 移动设备的数据采集上报方法和装置 |
CN107018046A (zh) * | 2017-06-06 | 2017-08-04 | 上海鋆创信息技术有限公司 | 一种数据采集方法、装置、终端及存储介质 |
CN108134838A (zh) * | 2017-12-27 | 2018-06-08 | 广东欧珀移动通信有限公司 | 数据上报方法、装置、移动终端及计算机可读介质 |
CN108235308A (zh) * | 2017-12-27 | 2018-06-29 | 广东欧珀移动通信有限公司 | 数据上报方法、装置、移动终端及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785428B2 (en) | Internal software updating method and system | |
US20170206079A1 (en) | Method and Device for Upgrading Software | |
US9411573B2 (en) | Testing framework for applications | |
US9262242B2 (en) | Machine-to-machine (“M2M”) device client systems, methods, and interfaces | |
CN108632309B (zh) | 一种升级窄带物联网终端的方法及装置 | |
CN109298878B (zh) | 基于物联网的执法记录仪升级***及执法记录仪升级方法 | |
CN107534879B (zh) | 网络诊断应用 | |
CN112637365B (zh) | 终端资源下发、获取方法、装置、电子设备 | |
CN104267799A (zh) | 一种网络服务器、处理电子设备耗电的方法及*** | |
CN107734495B (zh) | 信息处理方法、装置、存储介质和终端 | |
CN114327543A (zh) | 车载控制器的在线升级方法、装置、车辆及存储介质 | |
CN110764812B (zh) | 一种智能设备、智能穿戴设备及其软件升级的***和方法 | |
CN107995284A (zh) | 一种适用于pos机的ota升级方法 | |
CN108989365B (zh) | 一种信息处理方法、服务器、终端设备及存储介质 | |
CN103686821A (zh) | 根据移动终端唯一标识进行应用程序流量统计的控制方法 | |
CN111327711A (zh) | 一种数据服务方法、数据服务装置、终端和机器可读存储介质 | |
CN113031996A (zh) | 一种电子设备的ota升级方法、装置、控制终端及介质 | |
CN113535214A (zh) | 算法文件升级方法、装置、电子装置和存储介质 | |
CN111694590A (zh) | 一种智能水电表的升级方法 | |
WO2023116104A1 (zh) | 一种配置参数更新方法、装置及相关设备 | |
CN101877071A (zh) | 一种数据更新方法、装置及*** | |
CN108920328B (zh) | 发现终端应用变更的方法及装置 | |
CN116048546A (zh) | 一种***升级方法、电子设备以及计算机可读存储介质 | |
CN113031984B (zh) | 双芯智能电表管理单元应用程序远程在线升级方法和装置 | |
CN113885969A (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 |