一种数据分享方法及装置
技术领域
本申请涉及计算机信息技术领域,尤其涉及一种数据分享方法及装置。
背景技术
目前,用户若期望在移动设备间实现数据分享一般可以通过下述步骤实现:
1、打开某终端应用,选取并复制该终端应用提供的一些数据。比如复制某信息中包括的想要分享的内容,目前,可通过复制分享的内容只支持文本格式的内容。
2、打开通信类应用,将复制的数据粘贴到通信类应用的信息输入框中。其中,通信类应用,可以但不限于包括:采用近距离通信技术实现通信的应用或采用非近距离通信技术实现通信的应用(如来往、QQ、微信等)。“近距离通信技术”,一般包括蓝牙技术、红外数据传输、无线保真网(Wireless Fidelity,WiFi)技术和NFC(Near Field Communication,近场通信)技术等。
3、触发通信类应用向发送信息输入框中的数据。
上述数据分享方式存在的缺陷在于:数据分享过程的效率较低。
发明内容
本申请实施例提供一种数据分享方法,用以提高数据分享过程的效率。
本申请实施例还提供一种数据分享装置,用以提高数据分享过程的效率。
本申请实施例采用下述技术方案:
一种数据分享方法,包括:接收对信息卡的数据分享指令;调用通信类应用执行特定操作;所述特定操作包括:将待分享的信息卡数据传输给接收端设备;或将所述信息卡的标识传输给接收端设备,以使得所述接收端设备根据所述标识下载所述信息卡数据。
一种数据分享方法,包括:本地终端应用获得本地通信类应用提供的数据;其中,所述数据是由发送端终端应用调用发送端通信类应用发送给所述本地通信类应用的;根据所述数据,得到所述本地终端应用支持的数据格式的信息卡数据。
一种数据分享装置,包括:指令接收单元,用于接收对信息卡的数据分享指令;调用单元,用于调用通信类应用执行特定操作;所述特定操作包括:将待分享的信息卡数据传输给接收端设备;或将所述信息卡的标识传输给接收端设备,以使得所述接收端设备根据所述标识下载所述信息卡数据。
一种数据分享装置,包括:应用数据获得单元,用于获得本地通信类应用提供的数据;其中,所述数据是由发送端终端应用调用发送端通信类应用发送给所述装置的;信息卡数据获得单元,用于根据所述数据,得到所述装置支持的数据格式的信息卡数据。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
该方案由于在接收到数据分享指令后,可以自动调用通信类应用实现对信息卡数据的分享,因此提高了数据分享过程的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例1提供的一种数据分享方法的流程示意图;
图2为本申请实施例2提供的另一种数据分享方法的流程示意图;
图3为本申请实施例3提供的一种数据分享应用流程的示意图;
图4为设备上展示的一张电影卡券的示意图;
图5为设备1采用短信发送的信息卡数据示意图;
图6为设备2接收到的短信内容示意图;
图7为本申请实施例4提供的一种数据分享装置的具体结构示意图;
图8为本申请实施例5提供的另一种数据分享装置的具体结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
为提高数据分享过程的效率,本申请实施例1提供一种数据分享方法。该方法的实现流程示意图如图1所示,包括如下步骤:
步骤11,接收对信息卡的数据分享指令;
数据分享指令可以是用户输入的,也可以是服务器或者下文所说的接收端设备发送来的。其中,“信息卡片”是指一种电子卡片,其可以展示在终端的显示屏上。构成信息卡片的卡片背景的数据、信息卡片上显示的各种信息(包括图像和文字等等),均可称为信息卡片数据。
当步骤11的执行主体是带有触摸屏的终端时,数据分享指令比如可以是用户通过该触摸屏输入的指令。如用户可以通过对待分享的信息卡数据对应的信息卡显示区域执行特定操作,以实现向终端输入该数据分享指令。这里所说的特定操作可以是点击操作(如单击或双击等),也可以是手势操作(如滑动手势等)。
步骤12,调用通信类应用执行特定操作(为便于描述,后文称该操作为“所述特定操作”)。
其中,本申请实施例中所述的“特定操作”包括:将待分享的信息卡数据传输给接收端设备;或将待分享的信息卡数据的标识传输给接收端设备,以使得接收端设备根据待分享的信息卡数据的标识下载待分享的信息卡数据。
其中,通信类应用,可以但不限于包括:采用近距离通信技术实现通信的应用或采用非近距离通信技术实现通信的应用(如短信、飞信、来往、QQ、微信等)。“近距离通信技术”,一般包括蓝牙技术、红外数据传输或无线保真网(Wireless Fidelity,WiFi)技术、NFC技术等。
采用本申请实施例提供的上述方法,由于在接收到数据分享指令后,可以自动调用通信类应用实现对信息卡数据的分享,因此提高了数据分享过程的效率。
并且,现有技术可供分享的数据一般主要是文本信息,或者单纯的图片信息,而根据本申请实施例提供的分享方法,能够分享信息卡,该信息卡包括的信息不局限于文本或图片,可以进一步包括文本和图片的组合、动画等多种格式的信息。例如,该信息卡可以是按照设定展示样式展示的信息,所述展示样式可以理解为包括展示区域(可选信息)、展示内容的背景(可选信息)、字段、字段的布局(可选信息)等。对于文本类型的字段,该展示样式还可以进一步包括文本的字体、颜色;如果是图片类型的字段,该展示样式可以进一步包括图片的格式、大小、显示区域等;如果是动画类型的字段,该展示样式可以进一步包括动画的格式、展示区域等。通过图画和/或动画的展示形式,可以起到更加直观提示的效果。因此,基于本申请,能够实现多种信息的混合分享,且可以分享信息卡的展示样式,使得接收终端也可以按照信息卡的展示样式展示信息卡。
本申请各实施例中,待分享的信息卡数据,可以包括信息卡中的信息内容,例如,时间、地点、人物、事件等;也可以在包括信息卡中的信息内容的基础上,包括信息卡的展示样式,用于指示信息卡中的信息内容的展现方式。
在完成对待分享的信息卡数据的分享后,实现对该数据的操作,在一种实施方式中,在步骤12执行完毕后,本申请实施例提供的上述方法还可以进一步包括步骤:接收针对待分享的信息卡数据的操作指令;执行该操作指令对应的操作。
在一种实施方式中,当针对待分享的信息卡数据(为便于描述,后文简称所述信息卡数据)的操作指令为针对该信息卡数据的更新指令时,该指令对应的操作可以包括:调用通信类应用(为便于描述,后文简称所述通信类应用)将针对该信息卡数据的更新信息传输给接收端设备。其中,针对该信息卡数据的更新信息,可以是该信息卡数据的增量更新数据,也可以是该信息卡数据的全量更新数据。
在一种实施方式中,当针对所述信息卡数据的操作指令为针对所述信息卡数据的删除指令或者回收指令时,该指令对应的操作可以包括:使得保存在接收端设备本地的所述信息卡数据被删除或隐藏的操作。特别地,当该操作指令为针对所述信息卡数据的回收指令时,该指令对应的操作还可以包括向接收端设备发送收回通知消息。后续接收端设备接收到该通知消息后,可以对本地保存的所述信息卡数据执行删除或者隐藏的操作。需要说明的是,所谓“回收”,一般是指这样一种行为:分享方用户在完成将所述信息卡数据分享给被分享方用户的接收端设备后,分享方用户由于某种原因,撤回对所述信息卡数据的分享。
在一种实施方式中,当针对所述信息卡数据的操作指令为针对所述信息卡数据的禁用指令时,该指令对应的操作可以包括:向服务器发送包含接收端设备的标识的禁用请求,以使得服务器拒绝处理接收端设备发送的与所述信息卡数据相关的业务请求。比如,在分享方用户在完成将所述信息卡数据分享给被分享方用户的接收端设备后,分享方用户由于某种原因,期望被分享方用户不能够行使所述信息卡数据的使用权限,则可以发出上述针对所述信息卡数据的禁用指令。在一种实施方式中,当所述信息卡数据为某种信息卡,尤其是电子消费券(如电子优惠券、电子电影票等)时,与所述信息卡数据相关的业务请求比如可以是该电子消费券的使用请求。
可见,根据本申请实施例,能够对在分享信息卡数据后,对分享后的信息卡数据进行如上所述的各种操作,使得数据分享方能够对分享的数据可控制。而根据现有技术,分享数据后,数据分享方不能对分享的数据进行控制。
前文已经说明,所述特定操作可以包括:将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据。在一种实施方式中,接收端设备可以是从服务器或从分享方用户使用的终端设备下载所述信息卡数据。当采用从服务器下载所述信息卡数据的方案时,考虑到可以让服务器了解该接收端设备具备所述信息卡数据的下载权限,可将接收端设备的标识发送给服务器,以使得服务器根据该接收端设备的标识,确定接收端设备具备所述信息卡数据的下载权限。或者,也可以将下载权限标识发送给接收端设备,以使得接收端设备利用该下载权限标识下载所述信息卡数据。具体而言,接收端设备可以将该下载权限标识携带在数据下载请求中发送给服务器,以使得服务器获知接收端设备具备所述信息卡数据的下载权限。
在一种实施方式中,当调用所述通信类应用执行特定操作的执行主体为终端应用(后称所述终端应用)时,调用所述通信类应用执行特定操作,包括:
将所述信息卡数据转换为所述终端应用支持的数据格式后,调用所述通信类应用执行:利用所述通信类应用支持的通信协议,将转换数据格式后的信息卡数据发送给接收端设备;或
将所述信息卡数据的标识转换为所述终端应用支持的数据格式后,调用所述通信类应用执行:利用所述通信类应用支持的通信协议,将转换数据格式后的所述信息卡数据的标识发送给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据。
具体而言,当所述特定操作包括将所述信息卡数据传输给接收端设备时,可以对数据执行两次封装,然后传输封装得到的数据包。其中,第一次封装可以是在调用所述通信类应用前,按照某种数据包封装协议,对所述信息卡数据进行封装,得到包含所述信息卡数据的第一数据包;而第二次封装则可以是调用所述通信类应用执行的。具体而言,所述通信类应用可以利用所述通信类应用支持的通信协议,对第一数据包进行封装,得到第二数据包并发送给接收端设备。
类似地,当所述特定操作包括将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据时,也可以对所述信息卡的标识执行两次封装。其中,第一次封装可以是在调用所述通信类应用前,按照某种数据包封装协议,对所述信息卡的标识进行封装,得到包含该标识的第三数据包;而第二次封装可以是调用所述通信类应用执行的。具体而言,所述通信类应用可以利用所述通信类应用支持的通信协议对所述第三数据包进行封装,得到第四数据包并发送给接收端设备。
本申请实施例中,当上述第一次封装的执行主体为某种应用(如提供信息卡的应用)时,上述某种数据包封装协议,可以是该应用所支持的数据包封装协议。该信息卡数据包封装协议可以是由提供该应用的服务器设置的。
本领域技术人员可以理解,若接收端设备中安装有支持该信息卡数据包封装协议的应用以及所述通信类应用,则在接收到比如第二数据包后,先由接收端折本本地的所述通信类应用根据通信协议对该信息卡数据包解封装,得到第一数据包,然后再由支持该信息卡数据包封装协议的应用根据数据包封装协议对第一数据包进行解封装,得到所述信息卡数据。
对于第四数据包的解封装过程与上述过程类似,此处不再赘述。
在一种实施方式中,本申请实施例中的所述信息卡数据可以为信息卡的相关数据。其中,信息卡的相关数据可以是指所有的可以以电子卡片形式展现的数据,该信息卡数据比如可以包括但不限于下述一种或多种:
信息卡的唯一标识;
信息卡的服务类型;
信息卡的用户属性;
信息卡的展示标题;
信息卡的描述信息;
信息卡的相关图片信息。
如上所述,可供分享的信息卡数据还可以包括信息卡的展示样式信息,以指示接收端信息卡的展示。
以上各信息可以称为信息卡包括的字段。
上述字段仅为举例,本发明涵盖对包含各种字段的信息的信息卡数据的分享,且各字段的名称以及对应的内容都可以定义。举例来说,信息卡的唯一标识比如可以是类似电子优惠券的密码、将电子电影票兑换为真实电影票时所依据的兑换编码等;信息卡的服务类型比如可以是“消费类”、“通知信息类”等;信息卡的用户属性比如可以是分享方用户的身份证号码中的部分或全部,和/或分享方用户的电话号码等;信息卡的展示标题是指在终端上展示该信息卡时所使用的展示标题,例如“电影票”、“火车票”、“海底捞优惠券”等;信息卡的描述信息一般为该信息卡的简单介绍,比如使用有效期、相关产品(如电影)的简介等;信息卡的相关图片信息,比如可以是电影的电子海报、商品照片等。
本申请实施例中,信息卡可以包括:电子消费券、电子代金券、电子电影票、电子火车票、电子优惠券、电子订单卡片等等。
在一种实施方式中,当所述特定操作包括将所述信息卡数据传输给接收端设备,且所述信息卡数据为某信息卡的相关数据时,调用所述通信类应用执行特定操作的具体实现方式可以包括:调用所述通信类应用将该信息卡的所有相关数据传输给接收端设备。
在一种实施方式中,当所述特定操作包括将所述信息卡数据传输给接收端设备,且所述信息卡数据为某信息卡的相关数据时,也可以仅将信息卡的所有相关数据中的一部分传输给接收端设备。具体而言,前文所述步骤12的具体实现方式可以包括下述子步骤:
从该信息卡的所有信息卡数据包括的字段中,确定设定的字段;
获得设定的字段中的信息卡数据;
调用所述通信类应用将获得的信息卡数据传输给接收端设备。
或者,在获得设定字段中的信息卡数据后,可以对获得的信息卡数据进行处理后,调用所述通信类应用将处理后的信息卡数据传输给接收端设备。
在一种实施方式中,对获得的信息卡数据进行处理,包括:将获得的信息卡数据填入设定的模板。比如按照该模板的数据结构,将获得的信息卡数据填入该模板。应当理解,本申请中对获得的信息卡数据进行处理,并不仅限于此,具体可以根据分享需求进行各种处理,例如,将获得的信息和对应的指定信息进行组合等。
一般说来,设定的字段中的数据可以包括该信息卡的唯一标识。除此之外,设定的字段中的数据还可以包括下述数据中的一种或多种:
信息卡的服务类型;
信息卡的用户属性;
信息卡的展示标题;
信息卡的描述信息;
信息卡的相关图片信息;
信息卡的展示样式。
在一种实施方式中,当所述特定操作包括将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据,且所述信息卡数据为某信息卡时,步骤12的具体实现方式可以包括下述子步骤:
从该信息卡的所有相关数据包括的字段中,确定该信息卡的标识所在的字段;
获得确定的字段中的该信息卡的标识;
调用所述通信类应用将获得的该标识传输给接收端设备,以使得接收端设备根据该标识下载该信息卡。
在一种实施方式中,数据分享指令可以是用户通过触发入口触发的。比如,执行步骤11之前,如图1所述的方法还可以包括:信息卡界面显示分享数据的触发入口。从而步骤11的具体实现方式可以包括:接收用户通过信息卡界面上显示的触发入口触发的数据分享指令。例如,该触发入口可以为显示在信息卡下方的一个可供用户操作的对象,在触发入口所在区域可以显示该触发入口的功能描述、或名称、或触发后分享的数据类型等,以起到对用户指引的目的。
在一种实施方式中,分享数据的触发入口可以包括一个或多个。当包括多个触发入口时,每个触发入口可以分别对应不同的数据分享指令,每个数据分享指令用于指示要分享的数据。
在一种实施方式中,分享数据的触发入口还用于指示分享数据的分享方式。其中,分享方式可以但不限于包括:通过短信分享、通过微信分享、通过微博分享、分享到微信朋友圈等等中的一种或多种。当分享数据的触发入口还用于指示分享数据的分享方式时,步骤12可以包括:调用支持特定分享方式的通信类应用执行特定操作。其中,该特定分享方式为数据分享指令对应的触发入口所指示的分享方式。数据分享指令对应的触发入口,即触发产生该数据分享指令的入口。
需要说明的是,实施例1所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。这里所说的设备可以是硬件设备、软硬件结合实现其功能的设备,或者由纯软件实现的虚拟设备。
实施例2
与上述实施例1提供的数据分享方法对应,实施例2提供一种数据分享方法,用以提高数据分享过程的效率。该方法的实现流程示意图如图2所示,包括如下步骤:
步骤21,本地终端应用获得本地通信类本地应用(后文简称所述本地通信类应用)提供的数据;
其中,该数据是由发送端终端应用调用发送端通信类应用发送给所述本地通信类应用的。
发送端终端应用调用发送端通信类应用发送数据的具体实现方式与实施例1中的实现方式类似,此处不再赘述。
步骤22,根据通过执行步骤21获得的数据,得到具备所述本地终端应用支持的数据格式的信息卡数据。
其中,可以直接将通过执行步骤21获得的数据进行格式转化,转换为具备所述本地终端应用支持的数据格式的信息卡数据。
或者,当通过执行步骤21获得的数据为所述信息卡数据的标识时,可以根据该标识,下载与该标识对应的、具备所述本地终端应用支持的数据格式的信息卡数据;或下载与该标识对应的信息卡数据,并将下载得到的信息卡数据的格式被处理为所述本地终端应用支持的数据格式。
本申请实施例提供的上述方法还可以进一步支持对于信息卡数据的操作。具体而言,在得到信息卡数据后,上述方法还可以进一步包括下述步骤:
接收针对信息卡数据的操作指令;
执行该操作指令对应的操作。
其中,上述操作可以包括下述操作中的至少一种:
利用针对信息卡数据的更新信息,更新信息卡数据;
删除或隐藏保存在本地的信息卡数据;
展示针对信息卡数据的收回通知消息。对该通知消息的展示目的在于使得使用本地终端应用的用户获知该信息卡数据被收回,后续该用户不能行使与该信息卡数据有关的权限,比如发送与该信息卡数据相关的业务请求等。
在一种实施方式中,若服务器仅允许具备信息卡数据下载权限的终端下载信息卡数据,则为了便于接收端设备下载信息卡数据,实施例2提供的该方法还可以进一步包括步骤:接收发送端发送的下载权限标识。基于该下载权限标识,后续当需要下载信息卡数据时,可以向服务器发送该下载权限标识,以使得服务器获知本地终端应用获得信息卡数据的下载权限,进而获得服务器提供的信息卡数据。
需要说明的是,实施例2所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。这里所说的设备可以是硬件设备、软硬件结合实现其功能的设备,或者由纯软件实现的虚拟设备。
实施例2中,本地终端应用获得所述本地通信类应用提供的数据的实现方式可以包括如下步骤一~步骤三:
步骤一,A应用接收所述本地通信类应用在接收到该数据后广播的通知消息;
其中,由于数据可以是发送端中安装的A应用调用通信类应用发送的,因此数据中可以包含该A应用的标识。
步骤二,A应用从通知消息中获取到A应用的标识,确定所述通知消息对应的数据可被自身所使用;
步骤三,A应用获得所述本地通信类应用提供的数据。A应用比如可以请求所述本地通信类应用发送该数据,或者从所述本地通信类应用处直接下载该数据。
实施例3
为了对实施例1和实施例2提供的上述方法进行详细说明,本申请实施例3提供了上述方法在实际应用中的一种应用流程。
具体而言,实施例3中以移动设备上普遍存在的第三方通讯工具(即采用非近距离通信技术通信的应用,如短信、来往、QQ等)作为数据传输通道,以约定的数据包格式在移动设备之间实现多样化的数据传输并展现。
以云OS生活服务卡券中心(其是一种可为用户获取并展现信息卡的应用,简称卡券中心)为例,实施例3主要是提供这样一种应用流程:
当设备1期望向设备2分享一张信息卡(即相当于分享实施例1和实施例2中的“所述信息卡数据”)时,设备1上的卡券中心先以约定的协议将待分享的信息卡打成数据包;
设备1上的卡券中心调用第三方通讯工具将数据包发送到设备2;
设备2上的第三方通讯工具收到数据包后广播通知数据包来到;
设备2上的卡券中心取走数据包并以约定协议解析,并对数据包中的数据进行存储与展现。
信息卡分享完成后,设备1和设备2上都有同一张信息卡。当设备1上对信息卡修改时,将更新后的信息上传到服务端,设备2再从服务端获取更新后的信息卡数据,以实现多端相同信息卡的信息同步。
以下结合附图3,对上述应用流程进行详细介绍。
具体而言,上述应用流程主要分为6个部分,分别如下。
1、信息卡数据包格式定义
先对信息卡数据(即前文所述的信息卡的相关数据)做模型定义。
具体而言,可以为信息卡数据定义基本字段、业务字段和扩展字段,如下:
[card_id]:TEXT
[service_id]:TEXT
[type]:TEXT
[ownerid]:TEXT
[title]:TEXT
[logourl]:TEXT
[content]:TEXT
[location]:TEXT
[status]:TEXT DEFAULT'1'
[biz_status]:INTEGER DEFAULT'1'
[sync_status]:TEXT
[occurtime]:INTEGER
[gmtexpired]:INTEGER
[gmt_modify]:INTEGER
[gmt_create]:INTEGER
[other_ext]:TEXT
[local_category]:INTEGER DEFAULT'2'
[local_createtime]:INTEGER
[local_modifydate]:INTEGER
[arg0]:INTEGER
[arg1]:TEXT
[arg2]:TEXT
上述定义中,[]符号表示字段,该符号中的内容表示该字段中存储的数据的特征。如card_id表示信息卡的标识,[card_id]表示该标识所在的字段。
以上,业务字段包含content和biz_status两个字段;arg0~arg 2是扩展字段,其余都是基本字段。Content的具体格式可以是一个json。
上述字段中,card_id是信息卡的标识,通信包定义时最小可只包含card_id;每一张信息卡都可以有一个service_id,表示服务类型,具有同样service_id的信息卡展示层是一样的。ownerid是信息卡的用户属性;title是展示卡片时的标题。
在实际应用中,信息卡数据可以仅为上述部分字段中的数据。比如,构成如图4所示的一张电影卡券的具体数据可以如下表所示:
2、通讯数据包格式定义
设备1中的卡券中心提取信息卡数据包括的必要字段中的数据,并以约定协议格式组织该些数据,以生成数据包。
比如:若必要字段包括:[card_id]^[service_id]^[title]^[ownerid]^[content],则以上表为例,可以提取出这些字段中的数据,并组织为下述形式:
221S24GX3NMJYIJHXCM^CXA8B16D6GRJFQ3H2IEK^544907768684xxxx^单身男女2^{"partnerName":"网票网"...}
进一步地,可以将上述形式的数据先以BASE64编码,再采用高级加密标准(Advanced Encryption Standard,AES)加密(密码123456)并压缩,得到数据包(该数据包假设称为card_message)。具体地,该数据包可以用字符表示如下:
U2FsdGVkX1+rR8dSy1xFVkTE+WzaJwaG6i7G79osQhhLAUQmwuEcffN3oZAcmJu8
FiucL64el3voB0Z0jm//daEwYZD7LO8c7T0ACcDpckx718IkG5WKCt05Yp/XVYRB
IvB28HD+Df48shKrpJhbdJw9rlU0A55gACPRHJcLgYPzDc4lpXZdqz46rDb PUGf8
wqp1VsHqhJoumVsfd/NIgQ==。
通过上述处理,即形成了一个用于发送的数据包,并且数据经过加密处理,保证了数据安全。
针对上述处理过程,需要说明的有以下几点:
1)必要字段可根据应用的情况酌情选择,比如:可选择[card_id]字段,设备2收到后再根据[card_id]去服务端下载信息卡的其他字段中的数据;
2)发送的协议格式不限于如上格式,也可以是可读的json,xml,或者其他自定义格式;
3)加密的方式不限于以上以BASE64+AES的方式,也可以是其他自定义算法;
4)如果数据长度太大,可考虑以压缩算法进行压缩;
5)如果所发送数据没有安全风险,直接明文发送即可;
6)如果数据是要发送到社交平台,数据打包的方式可采用图片+链接的方式:图片即此信息卡的可视化形式(如图4所示),链接则可以是一个特殊形式的统一资源标识符(Uniform Resource Identifier,URI)。
举例来说,该URI比如可以采用如下代码:
lifecard://lifecard.app/carddata?message={card_message}
在设备1的卡券中心这个应用中,可以定义一个可处理这种URI的活动(activity),比如定义如下:
基于定义的上述活动,当用户在社交平台(如微博、微信)上点击图片时,就会触发与该图片绑定的这个URI。而这个URI则会触发一个定义好的这个活动,在活动中可以用如下方式获取到card_message:
总之,本申请实施例中,数据包协议是可以自由定义的,只要两个设备上都以约定的数据包协议打包和解析数据包即可。
3、发送数据包
具体而言,设备1中的卡券中心调用第三方通讯工具发送通过组织数据得到的数据包(即前文所述的card_message)。
比如可以通过短信发送card_message:
Intent intent=new Intent(Intent.ACTION_SENDTO,URI.parse("smsto:"+phoneNumber));
intent.putExtra("sms_body",card_message);
startActivity(intent);
其中,phoneNumber即设备2上的手机号码。
具体地,设备1采用短信发送的一种信息卡数据如图5所示。需要说明的是,设备1可以支持用户自主选取信息卡数据的接收方。比如用户可以自主选取短信的接收方号码。
当采用通过短信发送card_message的方式时,可以选择一种静默发送方式。采用该方式,不会在设备1和设备2的短信中显示card_message的具体内容,更为安全。具体可以采用下述代码实现选择该静默发送方式进行发送。
SmsManager smsm=SmsManager.getDefault();
smsm.sendDataMessage(phoneNumber,null,port,card_message,null,null);
其中,port是约定的短信接收接口,比如可设为1000。
本申请实施例3中,第三方通讯工具不限于短信,也可以是微信、QQ、微博、来往等,只要满足设备1和设备2上都安装了此通讯工具,并且卡券中心可以调用该通讯工具发送数据,或者从该通讯工具处获取数据即可。
本申请实施例中,当通过社交平台应用发送数据时,有三种方式,一是发送到指定朋友(好友),二是发送到某个群(如微信群聊、来往扎堆等),三是发送到动态(如微信朋友圈、来往动态)。
4、设备2获取信息卡数据
设备2的第三方通讯工具收到card_message时,发出新消息通知,设备2的卡券中心得到通知后,从第三方通讯工具处读取数据。以第三方通讯工具为短信为例,卡券中心在监控SMS_RECEIVED广播后,可以读取如图6所示的短信内容中的card_message。卡券中心实现对短信内容进行读取的代码如下:
其中“String content”中的“content”即是card_message,对其执行前文第1部分描述的步骤的逆向操作,即可获取到信息卡数据。
另外,如果设备1仅发送了card_id,则设备2的卡券中心需要根据此card_id,向服务端请求信息卡的其他数据;
此外,如果是通过短信外的其他第三方通讯工具发送card_message,则这一步相应从其他第三方通讯工具处读取card_message。
当通过社交平台发送card_message时,对于上文第3部分描述的社交分享第一、二两种方式,限制在于卡券中心不一定能被第三方通讯工具允许读取第三方通讯工具接收的信息内容,但有一个办法,第三方通讯工具每当有新消息到来时,都会发包含card_message的通知给操作系统的通知中心,从而卡券中心可以从通知中心读取到card_message。上文第3部分描述的社交分享第三种方式则如在第2部分中描述过的那样可以通过URI读取到card_message。
5、设备2的卡券中心识别card_message并展示相应的内容
至上述第4部分,设备2上的卡券中心已经收到了card_message中的数据,进而其可以将该数据保储到本地数据库中,并对该数据做可视化展现,呈现出诸如图4所示的信息卡。
6、数据内容动态更新、多端设备间信息卡同步
设备1,2中都保存有信息卡数据,当该信息卡数据有更新时,两个设备都可以向服务端发送包含card_id和gmt_modify的请求,以获取信息卡的更新数据。其中,gmt_modify为信息卡在保存信息卡的终端本地的更新时间。
需要说明的是,如果设备1做为信息卡原持有者,则在其将信息卡数据分享给设备2,设备3…后,用户通过点击设备1展示的信息卡上设置的“删除”按钮,可以使得将上文所述的[sync_status]字段置“d”,进而该字段的当前状态会被同步到服务端。后续其他设备请求更新该信息卡数据时,服务端监测到该字段的该状态,会通知其他设备的卡券中心删除设备本地的该信息卡数据。类似地,设备1展示的信息卡上还可以设置“收回分享”的按钮,用户通过点击该按钮,同样可以达到删除其他设备本地的信息卡数据的目的。
类似地,设备1展示的信息卡上还可以设置“禁用同步功能”的按钮,用户通过点击设备1展示的信息卡上设置的该按钮,可以向服务端发送禁用同步通知消息。后续其他设备请求更新该信息卡数据时,服务端根据该禁用同步消息中包含的某标识,会拒绝其他设备的卡券中心获取该信息卡的更新数据,从而其他设备获取不到该更新数据。
本申请实施例中,也可以是其他设备来发送该禁用同步通知消息。或者是由其他设备与服务端同步[sync_status]字段的状态。
需要说明的是,本申请实施例3中,设备间的通信,不限于一定要通过服务端转接。比如,设备1也可以直接将信息卡的更新数据通过第三方通讯工具直接发送到设备2,3…等。
此外,设备1将信息卡数据发送给设备2,设备2也可能不对该数据做其他处理而仅展示。因为设备1向设备2发送信息卡数据的场景很多,比如可能只是想告诉设备2的使用用户某个信息而已。如:设备1告诉设备2的使用用户我有这张物流信息卡,我买了这个东西,物流已经运送到哪里了等。
本申请实施例3提供的上述方案存在下述技术优势:
信息卡数据在设备间基于第三方通讯工具分享,稳定可靠,不依赖于特殊硬件。
卡券中心调用第三方通讯工具发送、读取数据包。相比现有技术更快速、流程更简单、不受距离限制、且支持多样化的数据格式而不仅限于文字及文件。为应用跨设备分享数据提供一种更可靠方式。
数据分享后仍可多端更新。
数据分享者对分享后的数据仍可以一些控制权限,比如:收回、删除、更改、禁用等。
包括但不限于信息卡数据的分享,任何形式载体的数据皆可用本申请实施例提供的技术实现分享。
实施例4
本申请实施例提供一种数据分享装置,用以提高数据分享过程的效率。该装置的具体结构示意图如图7所示,包括如下所述两个单元:
指令接收单元71,用于接收对信息卡的数据分享指令;
调用单元72,用于调用通信类应用(简称所述通信类应用)执行特定操作。其中,特定操作包括:将待分享的信息卡数据(简称所述信息卡数据)传输给接收端设备;或将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据。
在一种实施方式中,指令接收单元71还用于在调用单元72调用所述通信类应用执行特定操作后,接收针对所述信息卡数据的操作指令。基于指令接收单元71的该功能,本申请实施例提供的上述装置还可以包括:执行单元,用于执行指令接收单元71接收的操作指令对应的操作。
在一种实施方式中,上述操作指令对应的操作包括下述至少一种:
调用所述通信类应用将针对所述信息卡数据的更新信息传输给接收端设备;
使得保存在接收端设备本地的所述信息卡数据被删除或隐藏的操作;
向服务器发送包含接收端设备的标识的禁用请求,以使得服务器拒绝处理接收端设备发送的与所述信息卡数据相关的业务请求;
向接收端设备发送收回通知消息。
在一种实施方式中,当特定操作包括:将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据时,上述装置还可以包括标识发送单元。该单元用于将接收端设备的标识发送给服务器,以使得服务器根据接收端设备的标识,确定接收端设备具备所述信息卡数据的下载权限。
在一种实施方式中,当特定操作包括:将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据时,上述装置还可以包括标识发送单元。该单元用于将下载权限标识发送给接收端设备,以使得接收端设备利用下载权限标识下载所述信息卡数据。
在一种实施方式中,当特定操作包括将待分享的信息卡数据传输给接收端设备时,调用单元72还可以用于:将所述信息卡数据转换为所述终端应用支持的数据格式后,调用所述通信类应用执行:利用所述通信类应用支持的通信协议,将转换数据格式后的信息卡数据发送给所述接收端设备;或
将所述标识转换为所述终端应用支持的数据格式后,调用所述通信类应用执行:利用所述通信类应用支持的通信协议,将转换数据格式后的所述标识发送给所述接收端设备,以使得所述接收端设备根据所述标识下载所述信息卡数据。
在一种实施方式中,上述装置还可以包括:显示单元,用于在接收对信息卡的数据分享指令之前,在信息卡界面显示分享数据的触发入口;指令接收单元,用于接收用户通过触发入口触发的数据分享指令。
在一种实施方式中,分享数据的触发入口包括一个或多个;当包括多个触发入口时,每个触发入口分别对应不同的数据分享指令,每个数据分享指令用于指示要分享的数据。
在一种实施方式中,当触发入口还用于指示分享数据的分享方式时,调用单元可以用于:调用支持特定分享方式的通信类应用执行特定操作。其中,特定分享方式为数据分享指令对应的触发入口所指示的分享方式。
在一种实施方式中,当特定操作包括将待分享的信息卡数据传输给接收端设备时,调用单元72可以用于:调用所述通信类应用将信息卡的所有信息卡数据传输给接收端设备。
在一种实施方式中,当特定操作包括将待分享的信息卡数据传输给接收端设备时,调用单元72可以用于:从所述信息卡的所有信息卡数据包括的字段中,确定设定的字段;
获得所述设定的字段中的信息卡数据,调用所述通信类应用将获得的信息卡数据传输给接收端设备;或者,获得所述设定的字段中的信息卡数据,对获得的信息卡数据进行处理,调用所述通信类应用将处理后的信息卡数据传输给接收端设备。
在一种实施方式中,设定的字段中的数据包括信息卡的唯一标识。
在一种实施方式中,设定的字段中的数据还包括下述数据中的至少一种:
信息卡的服务类型;
信息卡的用户属性;
信息卡的展示标题;
信息卡的描述信息;
信息卡的相关图片信息。
在一种实施方式中,当特定操作包括将所述信息卡的标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据时,调用单元72可以用于:从信息卡的所有相关数据包括的字段中,确定该标识所在的字段;获得确定的字段中的该标识;调用所述通信类应用将获得的该标识传输给接收端设备,以使得接收端设备根据该标识下载所述信息卡数据。
采用本申请实施例提供的上述装置,由于在接收到数据分享指令后,可以自动调用通信类应用实现对信息卡数据的分享,因此提高了数据分享过程的效率。
并且,现有技术可供分享的数据一般主要是文本信息,或者单纯的图片信息,而根据本申请实施例提供的分享方法,能够分享信息卡,该信息卡包括的信息不局限于文本或图片,可以进一步包括文本和图片的组合、动画等多种格式的信息。例如,该信息卡可以是按照设定展示样式展示的信息,所述展示样式可以理解为包括展示区域(可选信息)、展示内容的背景(可选信息)、字段、字段的布局(可选信息)等。对于文本类型的字段,该展示样式还可以进一步包括文本的字体、颜色;如果是图片类型的字段,该展示样式可以进一步包括图片的格式、大小、显示区域等;如果是动画类型的字段,该展示样式可以进一步包括动画的格式、展示区域等。通过图画和/或动画的展示形式,可以起到更加直观提示的效果。因此,基于本申请,能够实现多种信息的混合分享,且可以分享信息卡的展示样式,使得接收终端也可以按照信息卡的展示样式展示信息卡。
本申请各实施例中,待分享的信息卡数据,可以包括信息卡中的信息内容,例如,时间、地点、人物、事件等;也可以在包括信息卡中的信息内容的基础上,包括信息卡的展示样式,用于指示信息卡中的信息内容的展现方式。
实施例5
本申请实施例5提供一种数据分享装置,该装置的具体结构示意图如图8所示,包括如下功能单元:
应用数据获得单元81,用于获得本地通信类应用提供的数据(后称所述数据);其中,该数据是由发送端终端应用调用发送端通信类应用发送给该装置的。
信息卡数据获得单元82,用于根据应用数据获得单元81获得的数据,得到具备该装置支持的数据格式的信息卡数据(后称所述信息卡数据)。
在一种实施方式中,上述装置还可以包括:指令接收单元,用于在信息卡数据获得单元82得到所述信息卡数据后,接收针对所述信息卡数据的操作指令;执行单元,用于执行指令接收单元接收的操作指令对应的操作。
在一种实施方式中,上述操作可以包括下述至少一种:
利用针对所述信息卡数据的更新信息,更新所述信息卡数据;
删除或隐藏保存在该装置本地的所述信息卡数据;
展示针对所述信息卡数据的收回通知消息。
在一种实施方式中,当所述数据为所述信息卡数据的标识时,信息卡数据获得单元82可以用于下载与所述信息卡的标识对应的、具备该装置支持的数据格式的信息卡数据;或下载与所述信息卡的标识对应的信息卡数据,并将下载得到的信息卡数据的格式被处理为该装置支持的数据格式。
在一种实施方式中,上述装置还可以包括标识接收单元。其中,标识接收单元用于接收发送端发送的下载权限标识;信息卡数据获得单元82具体可以用于向服务器发送下载权限标识,以获得服务器根据下载权限标识提供的、具备该装置支持的数据格式的信息卡数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。