CN108804244B - 数据发送方法、装置及存储介质 - Google Patents

数据发送方法、装置及存储介质 Download PDF

Info

Publication number
CN108804244B
CN108804244B CN201810520112.8A CN201810520112A CN108804244B CN 108804244 B CN108804244 B CN 108804244B CN 201810520112 A CN201810520112 A CN 201810520112A CN 108804244 B CN108804244 B CN 108804244B
Authority
CN
China
Prior art keywords
data
identification information
application program
cache
application
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.)
Active
Application number
CN201810520112.8A
Other languages
English (en)
Other versions
CN108804244A (zh
Inventor
常群
龙海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201810520112.8A priority Critical patent/CN108804244B/zh
Publication of CN108804244A publication Critical patent/CN108804244A/zh
Application granted granted Critical
Publication of CN108804244B publication Critical patent/CN108804244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开是关于一种数据发送方法、装置及存储介质,属于终端技术领域。所述方法包括:接收第一应用程序发送的第一数据;生成第一数据的标识信息;发送用于唤醒第二应用程序的广播消息,该广播消息中携带第一数据的标识信息;接收第二应用程序在被唤醒之后发送的请求消息,该请求消息中携带第一数据的标识信息;向第二应用程序发送第一数据。本公开实现了通过广播消息唤醒应用程序,并在唤醒之后利用数据的标识信息向该应用程序发送数据,即便是大数据量的数据,本公开实施例提供的技术方案同样能够实时、准确地发送。

Description

数据发送方法、装置及存储介质
技术领域
本公开实施例涉及终端技术领域,特别涉及一种数据发送方法、装置及存储介质。
背景技术
在Android(安卓)系统中,广播(broadcast)是用于唤醒应用程序的常用方式。
在某一应用程序处于非运行状态的情况下,操作系统可以发送用于唤醒该应用程序的广播消息。系统服务(system server)进程接收到上述广播消息之后,根据该广播消息中携带的参数唤醒应用程序,使得应用程序启动运行。
由于Android系统对广播消息中最大所能够携带的数据量有限制,通常为1M,因此在通过广播消息唤醒应用程序的同时,无法通过该广播消息向该应用程序发送较大数据量的数据。
发明内容
本公开实施例提供了一种数据发送方法、装置及存储介质。技术方案如下:
根据本公开实施例的第一方面,提供了一种数据发送方法,所述方法包括:
接收第一应用程序发送的第一数据;
生成所述第一数据的标识信息;
发送用于唤醒所述第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
向所述第二应用程序发送所述第一数据。
可选地,所述向所述第二应用程序发送所述第一数据,包括:
通过Binder机制向所述第二应用程序发送所述第一数据。
可选地,所述生成所述第一数据的标识信息,包括:
获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
可选地,所述方法还包括:
在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
可选地,所述方法还包括:
在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
可选地,所述方法还包括:
设置所述第一对应关系对应的定时器;
当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
根据本公开实施例的第二方面,提供了一种数据发送装置,所述装置包括:
请求接收模块,被配置为接收第一应用程序发送的第一数据;
标识生成模块,被配置为生成所述第一数据的标识信息;
广播发送模块,被配置为发送用于唤醒所述第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
消息接收模块,被配置为接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
数据发送模块,被配置为向所述第二应用程序发送所述第一数据。
可选地,所述数据发送模块,被配置为通过Binder机制向所述第二应用程序发送所述第一数据。
可选地,所述标识生成模块,被配置为获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
可选地,所述装置还包括:
数据缓存模块,被配置为在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
可选地,所述装置还包括:
数据获取模块,被配置为在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
可选地,所述装置还包括:
定时器设置模块,被配置为设置所述第一对应关系对应的定时器;
数据删除模块,被配置为当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
根据本公开实施例的第三方面,提供了一种数据发送装置,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收第一应用程序发送的第一数据;
生成所述第一数据的标识信息;
发送用于唤醒所述第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
向所述第二应用程序发送所述第一数据。
根据本公开实施例的第四方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。
本公开实施例提供的技术方案可以包括以下有益效果:
通过生成第一数据的标识信息,在用于唤醒第二应用程序的广播消息中携带上述第一数据的标识信息,以便第二应用程序在被唤醒之后,根据该第一数据的标识信息获取第一数据;从而实现了通过广播消息唤醒应用程序,并在唤醒之后利用数据的标识信息向该应用程序发送数据,即便是大数据量的数据,本公开实施例提供的技术方案同样能够实时、准确地发送。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种数据发送方法的流程图;
图2是根据另一示例性实施例示出的一种数据发送方法的流程图;
图3是根据一示例性实施例示出的一种应用场景的界面示意图;
图4是根据一示例性实施例示出的一种数据发送装置的框图;
图5是根据另一示例性实施例示出的一种数据发送装置的框图;
图6是根据一示例性实施例示出的一种装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供的数据发送方法,各步骤的执行主体为终端。例如,终端可以是手机、平板电脑、电子书阅读器、多媒体播放设备、可穿戴设备、PC(Personal Computer,个人计算机)等电子设备。
终端中可以安装运行操作系统(operating system,OS),本公开实施例中各步骤的执行主体可以是操作系统。操作系统是管理和控制终端的硬件与软件资源的计算机程序。本公开提供的技术方案,主要针对Android系统中存在的上述问题,提供了相应的解决方案。当然,对于解决其它操作系统(如Windows系统、iOS系统或者其它基于Android系统的定制系统等)中存在的类似问题,本公开提供的技术方案同样适用。
图1是根据一示例性实施例示出的一种数据发送方法的流程图。该方法可以包括如下几个步骤:
在步骤101中,接收第一应用程序发送的第一数据。
操作系统接收第一应用程序发送的第一数据。第一应用程序是终端中安装运行的一个应用程序。第一应用程序可以是第三方应用程序,也可以是系统应用程序。在本公开实施例中,系统应用程序是指由操作系统的开发商提供的应用程序,系统应用程序通常在终端出厂之前就预装在终端中,或者也可以在操作系统进行版本更新时安装到终端中。第三方应用程序是指除操作系统的开发商之外,其它应用程序开发商提供的应用程序,第三方应用程序通常在终端出厂之后,由用户下载并安装到终端中。
在本公开实施例中,对第一数据的类型不作限定,其可以包括以下任意一种或多种的组合:文本、图片、音频、视频等。
在步骤102中,生成第一数据的标识信息。
操作系统在接收到上述数据发送请求之后,生成第一数据的标识信息。第一数据的标识信息用于唯一指示该第一数据,不同数据的标识信息各不相同。
在一个示例中,操作系统获取第一数据的哈希值,并将哈希值确定为第一数据的标识信息。例如,操作系统可以计算第一数据的哈希值,并将计算得到的哈希值作为第一数据的标识信息。可选地,第一数据的标识信息可记为该第一数据的token。
在本公开实施例中,第一数据的标识信息的数据量小于预设阈值。预设阈值的取值大小可以根据广播消息中最大所能够携带的数据量进行设定,预设阈值小于或者等于广播消息中最大所能够携带的数据量。
可选地,操作系统在生成第一数据的标识信息之后,在缓存中添加第一对应关系,该第一对应关系包括第一数据与第一数据的标识信息之间的对应关系。例如,上述第一对应关系可以采用键值对(key-value)的形式存储,第一数据的标识信息作为key,第一数据作为value。
终端的存储设备包括固定存储区和缓存。其中,固定存储区用于长期保存数据。缓存用于在程序运行的过程中,暂时存储程序的相关数据。
以终端为诸如手机、平板电脑等移动设备为例,其存储设备通常分为运行内存和非运行内存。运行内存是指移动设备运行应用程序时的内存,也叫RAM(Random AccessMemory,随机存取存储器),简称运存。运行内存是CPU(Central Processing Unit,中央处理器)直接交换数据的内部存储器。运行内存越大,移动设备可运行的应用程序越多,运行速度越流畅。非运行内存是指移动设备用于长期保存文件的存储器。非运行内存也称为机身内存、存储空间或者ROM(Read-Only Memory,只读存储器)。非运行内存越大,移动设备存储的文件数量越多,非运行内存一般不影响移动设备的运行速度。在本公开实施例中,对于移动设备来说,其缓存可以是运行内存,也可以是运行内存上的一部分存储区。
以PC为例,其存储设备通常分为内存储器和外存储器。其中,内存储器包括RAM和ROM,外存储器包括硬盘、光盘、软盘、U盘等。内存储器即为PC的主板上的存储部件,是CPU直接与之通信,并用其存储数据的部件,存放当前正在使用的数据和程序。外存储器是用于长期保存文件的存储部件。在本公开实施例中,对于PC来说,其缓存可以是RAM,也可以是RAM上的一部分存储区。
在本公开实施例中,操作系统在生成第一数据的标识信息之后,将第一对应关系在缓存中暂存一段时间,以便后续在第二应用程序向操作系统请求获取第一数据时,操作系统能够从缓存中获取第一数据并反馈给第二应用程序。
可选地,操作系统设置第一对应关系对应的定时器;当定时器超时时,操作系统将第一对应关系从缓存中删除。上述定时器可以从将第一对应关系添加至缓存中时刻开始计时,定时器的超时时长可以根据操作系统与第二应用程序之间的进程间通信时长进行设定,例如将定时器的超时时长设定为3秒,则当第一对应关系在缓存中存放超过3秒时,将第一对应关系从缓存中清除,避免其长时间占用缓存资源。
在步骤103中,发送用于唤醒第二应用程序的广播消息,该广播消息中携带第一数据的标识信息。
操作系统向外发送用于唤醒第二应用程序的广播消息。由于第一数据的标识信息的数据量小于或者等于广播消息中最大所能够携带的数据量,因此第一数据的标识信息能够作为广播消息的参数,携带在广播消息中发送。
另外,在本公开实施例中,唤醒第二应用程序是指将原本处于非运行状态的第二应用程序启动运行。
第二应用程序是指需要获取上述第一数据的应用程序。第二应用程序可以是第三方应用程序,也可以是系统应用程序。第二应用程序可以由第一应用程序指定,也可以由操作系统确定,本公开实施例对此不作限定。
可选地,操作系统在上述步骤101中接收第一应用程序发送的数据发送请求,该数据发送请求用于请求将第一数据发送给第二应用程序。在一个示例中,数据发送请求中包括第二应用程序的标识信息和第一数据。第二应用程序的标识信息用于唯一指示该第二应用程序,不同应用程序的标识信息各不相同。在另一个示例中,数据发送请求中包括第一数据和针对上述第一数据的操作事件。针对上述第一数据的操作事件用于指示针对上述第一数据所执行的用户操作,如长按、点击、滑动等操作。操作系统获取到数据发送请求之后,获取在操作系统中注册的对上述操作事件感兴趣的应用程序作为第二应用程序。
在步骤104中,接收第二应用程序在被唤醒之后发送的请求消息,该请求消息中携带第一数据的标识信息。
第二应用程序在被唤醒之后,向操作系统发送请求消息,该请求消息中携带第一数据的标识信息。
上述请求消息可以是专用于请求获取第一数据的消息,也可以是用于请求其它功能的消息。例如,当请求消息为注册请求消息时,其用于向操作系统进行注册,与此同时,在注册请求消息中携带第一数据的标识信息,以从操作系统请求获取第一数据。
在步骤105中,向第二应用程序发送第一数据。
操作系统接收到携带有第一数据的标识信息的请求消息之后,向第二应用程序发送第一数据。可选地,操作系统在接收到上述请求消息之后,根据第一数据的标识信息,从缓存中查找获取与第一数据的标识信息对应存储的第一数据,而后向第二应用程序发送上述查找获取到的第一数据。
在一种可能的实施方式中,操作系统通过Binder机制向第二应用程序发送第一数据。Binder机制是Android系统提供的一种进程间通信的机制,通过Binder机制发送数据,对数据量没有最大限制要求。
另外,如果操作系统在缓存中并未查找到与第一数据的标识信息对应存储的第一数据,则说明第一数据已经被清除,操作系统可以终止流程。
需要补充说明的一点是,操作系统在接收到第一应用程序发送的数据发送请求之后,可以检测第二应用程序是否处于运行状态;若第二应用程序处于非运行状态,则通过上述步骤102-105所述的流程向第二应用程序发送第一数据;若第二应用程序处于运行状态,则可直接通过Binder机制向第二应用程序发送第一数据,无须通过广播消息唤醒该第二应用程序。
综上所述,本公开实施例提供的技术方案中,通过生成第一数据的标识信息,在用于唤醒第二应用程序的广播消息中携带上述第一数据的标识信息,以便第二应用程序在被唤醒之后,根据该第一数据的标识信息获取第一数据;从而实现了通过广播消息唤醒应用程序,并在唤醒之后利用数据的标识信息向该应用程序发送数据,即便是大数据量的数据,本公开实施例提供的技术方案同样能够实时、准确地发送。
在一种可能的应用场景中,以第一应用程序为第三方应用程序,第二应用程序为系统应用程序为例,对本公开技术方案进行介绍说明。结合参考图2,该方法流程可以包括如下步骤:
在步骤201中,第三方应用程序向系统服务通信模块发送第一数据。
在本实施例中,以第一数据为图片为例,第一数据可以是一张大尺寸图片,其具有较大的数据量,例如该图片为10M。如果直接将该图片携带在用于唤醒第二应用程序的广播消息中发送,由于Android系统对广播消息中最大所能够携带的数据量有限制,因此该广播消息会发送失败。
在步骤202中,系统服务通信模块向系统服务缓存模块发送数据缓存请求。
数据缓存请求用于请求缓存第一数据,数据缓存请求中包括第一数据。
在步骤203中,系统服务缓存模块生成第一数据的标识信息,并在缓存中添加第一对应关系。
第一对应关系包括第一数据与第一数据的标识信息之间的对应关系。
在步骤204中,系统服务缓存模块设置第一对应关系对应的定时器。
当定时器超时时,系统服务缓存模块将第一对应关系从缓存中删除。
在步骤205中,系统服务缓存模块向系统服务通信模块发送第一数据的标识信息。
在步骤206中,系统服务通信模块发送用于唤醒系统应用程序的广播消息,该广播消息中携带第一数据的标识信息。
在步骤207中,系统服务进程接收到上述广播消息之后,唤醒系统应用程序,并将第一数据的标识信息发送给系统应用程序。
在步骤208中,系统应用程序在启动运行之后,向系统服务通信模块发送请求消息,该请求消息中携带第一数据的标识信息。
在步骤209中,系统服务通信模块向系统服务缓存模块发送数据获取请求。
数据获取请求用于请求获取第一数据,数据获取请求中包括第一数据的标识信息。
在步骤210中,系统服务缓存模块根据第一数据的标识信息,从缓存中查找获取与第一数据的标识信息对应存储的第一数据,并向系统服务通信模块发送第一数据。
在步骤211中,系统服务通信模块通过Binder机制向系统应用程序发送第一数据。
以第一数据为一张大尺寸图片为例,该图片的发送过程包括如下两部分:第一部分,利用广播消息唤醒第二应用程序,并不发送图片,而是将图片缓存用于稍后发送;第二部分,利用Binder机制将缓存的图片发送给第二应用程序。上述第一部分和第二部分之间,通过为图片生成相应的标识信息(如token)进行关联,从而实现在通过广播唤醒应用程序的同时,携带图片的标识信息来实时、准确地向应用程序发送图片。当然,本实施例仅以图片为例进行说明,对于其它类型的数据的发送过程,上文介绍的技术方案同样适用。
另外,在本实施例中,仅以第三方应用程序向系统应用程序发送数据的应用场景为例进行介绍说明,对于其它应用场景,如第三方应用程序向第三方应用程序发送数据、系统应用程序向第三方应用程序发送数据、或者系统应用程序向系统应用程序发送数据等应用场景,上文介绍的技术方案同样适用。
另外,上文介绍的系统服务通信模块用于实现通信接口的功能,包括操作系统与应用程序之间的通信、操作系统内部的不同功能模块或者进程之间的通信,系统服务缓存模块用于实现数据缓存功能,系统服务进程即为Android系统中的system server进程,用于实现根据广播消息唤醒应用程序的功能。在本实施例中,仅以操作系统包括系统服务通信模块、系统服务缓存模块、系统服务进程等功能模块和进程为进行介绍说明,在实际实现时,操作系统还可被划分为不同的功能模块和/或进程,本公开实施例对此不作限定。
在一个示例中,如图3所示,第一应用程序的用户界面30中显示有图片31。第一应用程序可以是浏览器、社交类应用、即时通信类应用等任意类型,本公开对此不作限定。用户长按图片31。相应地,第一应用程序获取到对应于图片31的长按操作事件。第一应用程序将图片31和对应于图片31的长按操作事件的事件信息发送给操作系统。操作系统生成图片31的token,然后将图片31及其token对应添加至缓存中。操作系统发送用于唤醒第二应用程序的广播消息,该广播消息中携带图片31的token。第二应用程序在被唤醒之后,向操作系统发送携带有图片31的token的请求消息。操作系统接收到上述请求消息之后,从缓存中查找获取图片31,并将图片31发送给第二应用程序。第二应用程序可以是系统应用程序。第二应用程序接收到图片31之后,获取图片31的关联信息。可选地,第二应用程序将图片31发送给后台服务器,由后台服务器识别图片31中的图片内容,获取与图片内容相关的关联信息,并发送给第二应用程序。例如,图片31是某个歌手的图片,则该图片31的关联信息可以包括该歌手的歌曲、百科资料等信息;又例如,图片31是某个景点的图片,则该图片31的关联信息可以包括该景点的百科资料、门票购买链接等信息。如图3所示,第二应用程序可以在第一应用程序的用户界面30的上层叠加显示一个或者多个卡片32,将图片31的关联信息显示在上述卡片32中。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种数据发送装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:数据接收模块410、标识生成模块420、广播发送模块430、消息接收模块440和数据发送模块450。
数据接收模块410,被配置为接收第一应用程序发送的第一数据。
标识生成模块420,被配置为生成所述第一数据的标识信息。
广播发送模块430,被配置为发送用于唤醒所述第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息。
消息接收模块440,被配置为接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息。
数据发送模块450,被配置为向所述第二应用程序发送所述第一数据。
综上所述,本公开实施例提供的技术方案中,通过生成第一数据的标识信息,在用于唤醒第二应用程序的广播消息中携带上述第一数据的标识信息,以便第二应用程序在被唤醒之后,根据该第一数据的标识信息获取第一数据;从而实现了通过广播消息唤醒应用程序,并在唤醒之后利用数据的标识信息向该应用程序发送数据,即便是大数据量的数据,本公开实施例提供的技术方案同样能够实时、准确地发送。
在基于图4实施例提供的一个可选实施例中,所述数据发送模块450,被配置为通过Binder机制向所述第二应用程序发送所述第一数据。
在基于图4实施例提供的另一个可选实施例中,所述标识生成模块420,被配置为获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
在基于图4实施例提供的另一个可选实施例中,如图5所示,所述装置还包括:数据缓存模块460,被配置为在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
可选地,所述装置还包括:数据获取模块470,被配置为在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
可选地,所述装置还包括:定时器设置模块480,被配置为设置所述第一对应关系对应的定时器;数据删除模块490,被配置为当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例还提供了一种数据发送装置,能够实现本公开提供的数据发送方法。该装置包括:处理器,以及用于存储处理器的可执行指令的存储器。其中,处理器被配置为:
接收第一应用程序发送的第一数据;
生成所述第一数据的标识信息;
发送用于唤醒所述第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
向所述第二应用程序发送所述第一数据。
可选地,处理器还被配置为:
通过Binder机制向所述第二应用程序发送所述第一数据。
可选地,处理器还被配置为:
获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
可选地,处理器还被配置为:
在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
可选地,处理器还被配置为:
在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
可选地,处理器还被配置为:
设置所述第一对应关系对应的定时器;
当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
图6是根据一示例性实施例示出的一种用于实现上述数据发送功能的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述数据发送方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述数据发送方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置600的处理器执行时,使得装置600能够执行上述实施例提供的数据发送方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (14)

1.一种数据发送方法,其特征在于,由终端执行,所述方法包括:
接收第一应用程序发送的第一数据,并将所述第一数据存储在缓存中;
生成所述第一数据的标识信息;
发送用于唤醒第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
根据所述第一数据的标识信息,从所述缓存中查找所述第一数据;
向所述第二应用程序发送所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述向所述第二应用程序发送所述第一数据,包括:
通过Binder机制向所述第二应用程序发送所述第一数据。
3.根据权利要求1所述的方法,其特征在于,所述生成所述第一数据的标识信息,包括:
获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
设置所述第一对应关系对应的定时器;
当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
7.一种数据发送装置,其特征在于,所述装置包括:
数据接收模块,被配置为接收第一应用程序发送的第一数据,并将所述第一数据存储在缓存中;
标识生成模块,被配置为生成所述第一数据的标识信息;
广播发送模块,被配置为发送用于唤醒第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
消息接收模块,被配置为接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
数据获取模块,被配置为根据所述第一数据的标识信息,从所述缓存中查找所述第一数据;
数据发送模块,被配置为向所述第二应用程序发送所述第一数据。
8.根据权利要求7所述的装置,其特征在于,
所述数据发送模块,被配置为通过Binder机制向所述第二应用程序发送所述第一数据。
9.根据权利要求7所述的装置,其特征在于,
所述标识生成模块,被配置为获取所述第一数据的哈希值,并将所述哈希值确定为所述第一数据的标识信息。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述装置还包括:
所述数据缓存模块,还被配置为在缓存中添加第一对应关系,所述第一对应关系包括所述第一数据与所述第一数据的标识信息之间的对应关系。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
所述数据获取模块,还被配置为在接收到所述请求消息之后,根据所述第一数据的标识信息,从所述缓存中查找获取与所述第一数据的标识信息对应存储的所述第一数据。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
定时器设置模块,被配置为设置所述第一对应关系对应的定时器;
数据删除模块,被配置为当所述定时器超时时,将所述第一对应关系从所述缓存中删除。
13.一种数据发送装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收第一应用程序发送的第一数据,并将所述第一数据存储在缓存中;
生成所述第一数据的标识信息;
发送用于唤醒第二应用程序的广播消息,所述广播消息中携带所述第一数据的标识信息;
接收所述第二应用程序在被唤醒之后发送的请求消息,所述请求消息中携带所述第一数据的标识信息;
根据所述第一数据的标识信息,从所述缓存中查找所述第一数据;
向所述第二应用程序发送所述第一数据。
14.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN201810520112.8A 2018-05-28 2018-05-28 数据发送方法、装置及存储介质 Active CN108804244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810520112.8A CN108804244B (zh) 2018-05-28 2018-05-28 数据发送方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810520112.8A CN108804244B (zh) 2018-05-28 2018-05-28 数据发送方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN108804244A CN108804244A (zh) 2018-11-13
CN108804244B true CN108804244B (zh) 2021-01-01

Family

ID=64090508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810520112.8A Active CN108804244B (zh) 2018-05-28 2018-05-28 数据发送方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108804244B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291289A (zh) * 2020-02-18 2020-06-16 浙江口碑网络技术有限公司 一种信息处理方法及装置,计算机存储介质和电子设备
CN111427705B (zh) * 2020-03-16 2023-05-02 北京字节跳动网络技术有限公司 一种数据同步方法及装置
CN111522674B (zh) * 2020-04-30 2024-05-07 维沃移动通信(杭州)有限公司 多媒体内容的跨应用处理方法及电子设备
CN113823279B (zh) * 2020-06-16 2024-09-17 阿里巴巴集团控股有限公司 应用程序唤醒方法、装置及电子设备
CN113220472A (zh) * 2021-04-16 2021-08-06 阿波罗智联(北京)科技有限公司 应用程序通信方法、设备和存储介质
CN115296943B (zh) * 2022-07-18 2024-04-16 杭州趣链科技有限公司 一种消息广播方法、装置、服务器和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
CN101135980A (zh) * 2006-08-29 2008-03-05 飞塔信息科技(北京)有限公司 一种基于Linux操作系统实现零拷贝的装置和方法
CN103249042A (zh) * 2012-02-13 2013-08-14 中国移动通信集团公司 一种唤醒终端gprs连接的方法、设备及系统
CN105511808A (zh) * 2015-12-01 2016-04-20 腾讯科技(深圳)有限公司 一种数据操作方法、系统及相关装置
CN107168812A (zh) * 2017-06-12 2017-09-15 迈普通信技术股份有限公司 获取进程数据的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
CN101135980A (zh) * 2006-08-29 2008-03-05 飞塔信息科技(北京)有限公司 一种基于Linux操作系统实现零拷贝的装置和方法
CN103249042A (zh) * 2012-02-13 2013-08-14 中国移动通信集团公司 一种唤醒终端gprs连接的方法、设备及系统
CN105511808A (zh) * 2015-12-01 2016-04-20 腾讯科技(深圳)有限公司 一种数据操作方法、系统及相关装置
CN107168812A (zh) * 2017-06-12 2017-09-15 迈普通信技术股份有限公司 获取进程数据的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于轮询和MQTT的私信系统的设计与实现;赵东晓;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180115;正文第7.2节 *

Also Published As

Publication number Publication date
CN108804244A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108804244B (zh) 数据发送方法、装置及存储介质
CN108334651B (zh) 收集用户端数据实现预设需求的方法、装置及存储介质
CN104506649B (zh) 通知消息推送方法及装置
CN109388625B (zh) 多分布式文件系统中处理配置文件的方法及装置
CN113190777B (zh) 数据更新方法、装置、电子设备、存储介质及产品
CN106598677A (zh) 下载安装包的方法及装置
CN107220059B (zh) 应用界面的显示方法及装置
CN107395624B (zh) 信息处理方法及装置
CN108280342B (zh) 应用同步方法和装置、用于应用同步的装置
CN106534495B (zh) 信息处理的方法、装置及设备
CN110213062B (zh) 处理消息的方法及装置
CN109245992B (zh) 请求处理方法、装置、电子设备及存储介质
CN110908814A (zh) 消息处理方法、装置、电子设备及存储介质
CN108012258B (zh) 虚拟sim卡的数据流量管理方法、装置、终端及服务器
CN107704489B (zh) 读写超时的处理方法、装置及计算机可读存储介质
CN107241432B (zh) 消息接收方法、装置、电子设备及计算机可存储介质
US9774730B2 (en) Method, device, and system for telephone interaction
CN112102009A (zh) 广告展示方法、装置、设备及存储介质
CN107707862A (zh) 视频远程协助的处理方法和装置、第一终端、第二终端
CN108737523B (zh) 应用模块与账户的关联方法、关联装置、硬件装置和介质
CN112769677A (zh) 数据同步方法、装置、电子设备、存储介质和程序产品
CN109150689B (zh) 评论处理方法和装置、用于评论处理的装置
CN110995767A (zh) 一种请求处理方法及装置
CN106484261B (zh) 信息获取方法和装置、信息发送方法和装置、以及终端
CN109582851B (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