共享资源处理方法和装置与流程

文档序号:12664990阅读:316来源:国知局
共享资源处理方法和装置与流程

本发明涉及网络技术领域,特别是涉及一种共享资源处理方法和装置。



背景技术:

共享资源是指将资源通过社交应用进行共享的动作,资源承受用户则需要对共享的资源进行相应的操作来获得相应的资源。随着终端配置的不断升级,目前终端上可以完成的资源共享操作的种类也不断增加。其中共享资源比如发送虚拟红包、分享积分或者分享电子代金券等,其中虚拟红包的数值、分享的积分以及电子代金券的数值等都是资源。

资源承受用户需要对通过社交应用共享的资源进行操作来获得相应的资源,但资源共享的发生对资源承受用户来说是不可预期的,一直等待资源被共享时间成本太高,因此衍生出可自动获取共享的资源的辅助应用程序。通过这种辅助应用程序,可以模拟用户的操作,在社交应用中发生资源共享时可以自动获取到共享的资源。比如辅助应用程序可以检测系统通知栏中出现的属于社交应用的消息,从而定位到相应联系人的会话页面,对共享的资源进行操作从而使用户获得相应的资源。

然而,目前自动获取共享的资源的辅助应用程序,要求必须开启系统通知栏通知功能,而且社交应用本身必须通过系统通知栏进行通知,否则辅助应用程序就无法检测到共享的资源,也无法自动获取到共享的资源。因此目前通过辅助应用程序自动获取共享的资源的方式使用场景受限,而且实际应用时获取资源的效率也不高。



技术实现要素:

基于此,有必要针对目前通过辅助应用程序自动获取共享的资源的方式使用场景受限且效率低的问题,提供一种共享资源处理方法和装置。

一种共享资源处理方法,所述方法包括:

将预设代码注入社交应用的进程中;

通过所述进程中的所述预设代码获取社交会话中产生的消息;

若获取到的消息是资源共享消息,则

获取所述消息中的资源标识;

根据当前登录所述社交应用的用户标识和所述资源标识生成资源获取请求;

向所述社交应用所属的社交应用服务器发送所述资源获取请求,使所述社交应用服务器为所述用户标识分配所述资源标识对应的资源。

一种共享资源处理装置,所述装置包括:

代码注入模块,用于将预设代码注入社交应用的进程中;

消息获取模块,用于通过所述进程中的所述预设代码获取社交会话中产生的消息;

消息解析模块,用于若获取到的消息是资源共享消息,则获取所述消息中的资源标识;

请求生成模块,用于根据当前登录所述社交应用的用户标识和所述资源标识生成资源获取请求;

请求发送模块,用于向所述社交应用所属的社交应用服务器发送所述资源获取请求,使所述社交应用服务器为所述用户标识分配所述资源标识对应的资源。

上述共享资源处理方法和装置,将预设代码注入社交应用的进程中,就可以通过预设代码在该进程中获取社交应用中产生的消息,如果是资源共享消息,便可以解析获得资源标识并与用户标识结合生成资源获取请求。通过社交应用的进程将资源获取请求发送至社交应用服务器,就可以使得社交应用服务器自动为用户标识分配资源标识对应的资源。通过社交应用本身的进程就可以自动地获取共享的资源,与是否开启系统通知栏通知功能无关,使用场景不受系统通知栏通知功能的限制,而且通过进程本身来获取共享的资源也比通过检测系 统通知栏的消息来获取共享的资源效率更高。

附图说明

图1为一个实施例中共享资源处理系统的应用环境图;

图2为一个实施例中用于实现共享资源处理方法的终端的结构示意图;

图3为一个实施例中共享资源处理方法的流程示意图;

图4为一个实施例中将预设代码注入社交应用的进程中的步骤的流程示意图;

图5为一个实施例中获取资源分配结果并进行展示的步骤的流程示意图;

图6为一个实施例中辅助应用提供的统计页面的示意图;

图7为一个实施例中根据社交应用的版本信息自适应配置预设代码的步骤的流程示意图;

图8为一个具体应用场景中共享资源处理方法的流程示意图;

图9为一个实施例中共享资源处理装置的结构框图;

图10为一个实施例中共享资源处理装置的代码注入模块的结构框图;

图11为另一个实施例中共享资源处理装置的结构框图;

图12为再一个实施例中共享资源处理装置的结构框图;

图13为一个实施例中共享资源处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,在一个实施例中,提供了一种共享资源处理系统,包括终端101、社交应用服务器102和辅助应用服务器103。终端101可通过网络连接到社交应用服务器102和辅助应用服务器103。终端101上运行有社交应用和辅助应用,社交应用和辅助应用是不同的应用程序。终端101可通过社交应用与社交应用服务器通信,还可通过辅助应用与辅助应用服务器通信。

如图2所示,在一个实施例中,提供了一种用于实现共享资源处理方法的终端101,包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏以及输入装置。其中处理器具有计算功能和控制终端101工作的功能,该处理器被配置为执行一种共享资源处理方法。非易失性存储介质包括磁存储介质、光存储介质和闪存式存储介质中的至少一种,非易失性存储介质存储有操作系统和共享资源处理装置。该共享资源处理装置用于实现一种共享资源处理方法。网络接口用于连接到网络与社交应用服务器102或者辅助应用服务器103通信。显示屏包括液晶显示屏、柔性显示屏和电子墨水显示屏中的至少一种。输入装置包括物理按钮、轨迹球、触控板以及与显示屏重叠的触控层中的至少一种,其中触控层与显示屏组合形成触控屏。

如图3所示,在一个实施例中,提供了一种共享资源处理方法,本实施例以该方法应用于上述图1和图2中共享资源处理系统中的终端101来举例说明。该方法具体包括如下步骤:

步骤302,将预设代码注入社交应用的进程中。

具体地,预设代码是预先编写的用于实现共享资源处理方法的代码,可以采用C语言或者C++语言编写。注入是指在进程中加入可执行的代码的过程,注入可以是远程注入,是指在一个进程中通过调用远程注入系统函数在另一个进程中加入可执行的代码的过程。在不同的操作系统下可使用不同的远程注入系统函数实现远程注入,比如在Android(安卓)操作系统下可使用远程注入系统函数ptrace()实现远程注入,在Solaris操作系统下可使用远程注入系统函数dtrace()实现远程注入,在Mac操作系统下可使用远程注入系统函数dtruss()实现远程注入。社交应用通常具有联系人查找功能以及即时通信功能,还可以具有UGC(User Generated Content,用户生成内容)分享功能以及UGC评论功能。

步骤304,通过进程中的预设代码获取社交会话中产生的消息。

具体地,终端通过社交应用的进程执行预设代码,通过该预设代码的逻辑,获取在社交应用中的社交会话中产生的消息。社交会话是指用户与联系人之间的用来交互消息的会话。联系人可以是网络社交好友、群组成员、企业账号或者陌生人,陌生人是指与当前用户未建立网络社交关系的用户。

社交会话可以是一对一的双人会话,也可以是群组会话。双人会话可以发起自用户与联系人中的任意一方,群组会话可以发起自相应群组中的任意群组成员,用户与联系人都存在于该群组中。群组可以是即时通信群组、临时建立的讨论组或者基于已有的群组而建立的讨论组等。

社交会话中产生的消息可以是用户发送的消息,也可以是来自于用户的联系人的消息,还可以是系统消息。消息可以是即时编辑产生的,也可以是转发的消息。

步骤306,若获取到的消息是资源共享消息,则获取消息中的资源标识。

具体地,消息是结构化消息,包括若干字段,至少包括消息类型字段和消息内容字段,消息内容字段的数据中包括资源标识。终端通过进程中的预设代码获取到消息后,调用预设代码所指定的消息解析接口来解析该消息获得消息类型字段的数据,根据消息类型字段的数据判断该消息是否为资源共享消息。若是资源共享消息,则终端通过进程中的预设代码获取消息中的资源标识;若不是资源共享消息,则进程中的预设代码停止对该消息的处理。进程本身也会按照进程本身的逻辑处理消息,比如解析消息获得消息内容并展示等,不被预设代码的逻辑所影响。

在一个实施例中,步骤306包括:若获取到的消息是资源共享消息,且资源标识对应的资源所属的资源共享用户被配置为允许获取所共享的资源,则获取消息中的资源标识。

具体地,终端通过进程中的预设代码解析消息获得消息类型字段的数据和资源共享用户字段的数据,从而根据消息类型字段的数据判定消息是资源共享消息,根据资源共享用户字段的数据判定相应的资源共享用户被配置为允许获取该资源共享用户所共享的资源,则获取消息中的资源标识以及执行后续的步骤308和310。

其中资源共享用户被配置为允许获取所共享的资源,可以是相应的资源共享用户存在于允许获取其所共享的资源的用户列表中,和/或相应的资源共享用户不存在于禁止获取其所共享的资源的用户列表中。资源共享用户是指发起资源共享的用户或者转发共享的资源的用户,当前终端的用户为资源承受方用户, 资源共享用户与资源承受用户可以是同一用户。

本实施例中,用户可以配置允许或者不允许获取特定用户所共享的资源,从而可以灵活地调整获取资源的策略。

步骤308,根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求。

具体地,终端通过进程中的预设代码调用预设代码所指定的资源获取请求生成接口来根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求。用户标识是唯一表示用户的字符串,用户标识可以包括数字、字母以及标点符号中的至少一种。用户标识可以是登录社交应用的用户账号。终端通过进程中的预设代码根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求时,可对用户标识和资源标识进行加密,此时资源获取请求就是一串加密的字符串。

步骤310,向社交应用所属的社交应用服务器发送资源获取请求,使社交应用服务器为用户标识分配资源标识对应的资源。

具体地,社交应用服务器是社交应用的服务器,终端通过进程的预设代码调用预设代码所指定的通信接口与社交应用服务器进行通信,以向社交应用所属的社交应用服务器发送资源获取请求。社交应用服务器从资源获取请求中提取用户标识和资源标识,从而为用户标识分配该资源标识对应的资源。在分配资源使可将资源标识对应的全部资源或者部分资源分配给用户标识。资源标识对应的资源可以是数值资源,比如虚拟红包的数值资源。

上述共享资源处理方法,将预设代码注入社交应用的进程中,就可以通过预设代码在该进程中获取社交应用中产生的消息,如果是资源共享消息,便可以解析获得资源标识并与用户标识结合生成资源获取请求。通过社交应用的进程将资源获取请求发送至社交应用服务器,就可以使得社交应用服务器自动为用户标识分配资源标识对应的资源。通过社交应用本身的进程就可以自动地获取共享的资源,与是否开启系统通知栏通知功能无关,使用场景不受系统通知栏通知功能的限制,而且通过进程本身来获取共享的资源也比通过检测系统通知栏的消息来获取共享的资源效率更高。

如图4所示,在一个实施例中,步骤302具体包括如下步骤:

步骤402,远程调用社交应用的进程的用于分配存储空间的系统调用函数以分配存储空间,并在存储空间中写入动态链接库的路径。

具体地,终端可通过辅助应用获取社交应用的进程标识(PID),从而通过该进程标识连接到社交应用的进程。终端通过辅助应用获取进程的寄存器值并保存,以便完成注入后恢复进程原有的状态。终端通过辅助应用获取进程的用于分配存储空间的系统调用函数(mmap)的调用地址、用于加载动态链接库的系统调用函数(dlopen)的调用地址以及用于操作动态链接库的系统调用函数(dlsym)的调用地址。从而根据进程的用于分配存储空间的系统调用函数的调用地址调用相应的系统调用函数(mmap)来分配一段存储空间,并在分配的存储空间中写入动态链接库(SO)的路径以及函数调用参数,该动态链接库是需要注入的预设代码。

步骤404,远程调用进程的用于加载动态链接库的系统调用函数以根据路径加载动态链接库。

具体地,终端通过辅助应用根据用于加载动态链接库的系统调用函数的调用地址调用相应的系统调用函数(dlopen),以根据存储空间中写入的路径加载相应的动态链接库。

步骤406,远程调用进程的用于操作动态链接库的系统调用函数获取动态链接库中用于处理共享资源的函数的函数地址。

具体地,终端通过辅助应用根据用于操作动态链接库的系统调用函数的调用地址调用相应的系统调用函数(dlsym),以根据存储空间中写入的函数调用参数从加载的动态链接库中获取函数地址。

步骤408,根据获取的函数地址执行相应的函数。

具体地,获取的函数地址的函数用于处理共享资源,主要用于获取社交会话中产生的消息;若获取到的消息是资源共享消息,则获取消息中的资源标识;根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求;向社交应用所属的社交应用服务器发送资源获取请求,使社交应用服务器为用户标识分配资源标识对应的资源。

本实施例中,通过远程注入的方式向社交应用的进程注入动态链接库以执行动态链接库中的相应函数,从而使得进程可以在获取到资源共享消息后自动地处理资源共享消息。

如图5所示,在一个实施例中,预设代码通过辅助应用被注入社交应用的进程中;该共享资源处理方法还包括获取资源分配结果并进行展示的步骤,具体包括如下步骤:

步骤502,通过进程接收社交应用服务器反馈的资源分配结果。

具体地,社交应用服务器根据资源获取请求进行资源分配的处理后,会向终端反馈资源分配结果。资源分配结果包括资源分配成功的结果和资源分配失败的结果。

步骤504,通过辅助应用获取来自于进程的资源分配结果。

具体地,终端可通过辅助应用主动通过进程中的预设代码所提供的接口获取应用服务器所反馈的资源分配结果,也可以被动地接收进程通过其中的预设代码向辅助应用传递的资源分配结果。

步骤506,展示资源分配结果,和/或,根据获取的资源分配结果进行统计后展示统计结果。

终端可通过辅助应用展示资源分配结果,具体可通过系统通知栏的通知消息展示资源分配结果,也可以在辅助应用的资源分配结果展示页面中展示资源分配结果。

终端通过辅助应用对获取的资源分配结果进行统计,具体可统计资源分配成功的次数或者获取到的数值资源的总额等信息。统计的时间段可以是自注入预设代码起至当前时间的时间段,也可以是当日、当周或者当月的时间段。

终端可通过辅助应用同时展示资源分配结果以及统计结果,也可以仅展示资源分配结果和统计结果中的一者。在一个实施例中,终端还可以通过辅助应用分享资源分配结果和/或统计结果给社交好友。

举例说明,终端可通过辅助应用提供如图6所示的统计页面,在统计页面中显示统计结果。图6中统计页面所显示的统计结果包括最近30天所获取到的虚拟红包的数值资源总额,还包括单次获取的虚拟红包的数值资源的信息。

本实施例中,通过辅助应用可以获取到社交应用的进程在触发资源获取请求后社交应用服务器所反馈的资源分配结果并进行展示,从而可以使用户通过辅助应用及时了解到通过社交应用获取资源的情况。

如图7所示,在一个实施例中,预设代码通过辅助应用被注入社交应用的进程中;该共享资源处理方法还包括根据社交应用的版本信息自适应配置预设代码的步骤,具体包括如下步骤:

步骤702,通过辅助应用获取社交应用的版本信息。

社交应用的版本信息是可唯一标识社交应用的版本的信息,通常为一段字符串,可以包括数字、标点符号以及字符中的至少一种。终端安装了更新版本的社交应用后,相应的版本信息也会更新。

步骤704,从辅助应用服务器下载与版本信息匹配的配置信息。

具体地,辅助应用服务器是辅助应用的服务器,终端通过辅助应用从辅助应用服务器下载与获取的版本信息匹配的配置信息,该配置信息用以配置进程中的预设代码,使进程中的预设代码在执行时按照该配置信息来执行。

若终端通过辅助应用未下载到与版本信息匹配的配置信息,说明辅助应用服务器上还未存储相应的配置信息,则终端可通过辅助应用将下载任务挂起,并在预设时长之后再次下载版本信息匹配的配置信息;或者终端可在将下载任务挂起之后等待,直到接收到辅助应用服务器在更新了与版本信息匹配的配置信息后推送的相应的配置信息。

在一个实施例中,终端可通过辅助应用定期获取社交应用的版本信息与上次传递给进程的配置信息对应的版本信息进行比对,若不匹配则从辅助应用服务器下载与版本信息匹配的配置信息。

步骤706,将配置信息传递给进程,使进程在通过预设代码执行获取消息中的资源标识、根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求以及向社交应用所属的社交应用服务器发送资源获取请求中的至少一种时以配置信息为依据执行。

具体地,终端通过辅助应用将下载的配置信息传递给进程,使得进程根据传递的配置信息更新配置。配置信息可以包括指定解析消息所调用的接口的信 息、指定生成资源获取请求时所调用的接口的信息以及发送资源获取请求时所调用的接口的信息中的至少一种。终端通过进程中的预设代码以根据配置信息中指定的接口来执行获取消息中的资源标识、生成资源获取请求以及向社交应用服务器发送资源获取请求中的至少一种。

本实施例中,通过辅助应用服务器存储与社交应用的版本信息匹配的配置信息,从而通过辅助应用可以根据社交应用的版本信息来下载相应的配置信息,以对社交应用中的预设代码进行相应的配置,使得进程中注入的预设代码可以适用最新版本的社交应用,避免因版本更新而导致不可用的情况。

在一个实施例中,该共享资源处理方法还包括:获取在预设延迟时间长度范围内的随机延迟时间长度,并按照随机延迟时间长度延迟执行以下步骤中的一者:判断获取到的消息是否是资源共享消息;获取消息中的资源标识;根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求;向社交应用所属的社交应用服务器发送资源获取请求。

具体地,预设延迟时间长度范围是随机延迟时间长度可取的范围,该预设延迟时间长度范围可具有最小值和最大值,在该范围内随机产生一个随机延迟时间长度,从而按照该随机延迟时间长度延迟执行特定的步骤。按照随机延迟时间长度延迟执行是指并不是马上执行而是在等待随机延迟时间长度后执行。延迟执行的步骤为判断获取到的消息是否是资源共享消息的步骤、步骤306、步骤308以及步骤310中的一者。

举例说明,预设延迟时间长度范围比如可以是(0,1秒),那么随机产生一个随机延迟时间长度可以是0.5秒,那么终端可通过进程中的预设代码延迟0.5秒判断获取到的消息是否是资源共享消息,或者延迟0.5秒获取消息中的资源标识,或者延迟0.5秒延迟执行根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求的步骤,或者延迟0.5秒延迟执行向社交应用所属的社交应用服务器发送资源获取请求。

本实施例中,通过预设代码随机延迟执行为获取共享的资源所执行的某一步骤,可避免被社交应用服务器通过统计分析误判为使用外挂,更加安全可靠。

在一个实施例中,步骤310包括:向社交应用所属的社交应用服务器发送 资源获取请求,使社交应用服务器从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户。

具体地,本实施例中,资源标识对应的资源为数值资源,则社交应用服务器在接收到资源获取请求后,可从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户,直至资源标识对应的剩余数值资源为0。其中数值资源账户可以是银行账户或者第三方支付账户,可存储在银行服务器或者第三方支付平台。

其中,数值资源比如虚拟红包的数值,电子代金券的数值或者其他可分享的数值资源。社交应用服务器在接收到资源获取请求后,可先判断资源标识对应的剩余数值资源是否为0,若剩余数值资源是0,则可直接生成资源分配失败的资源分配结果;若剩余数值资源不是0,则可从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户。

进一步地,若资源标识对应的资源未被获取,则相应的剩余数值资源为资源标识对应的全部数值资源;若资源标识对应的资源已被获取且有剩余,则相应的剩余数值资源则是全部数值资源减去已被获取的数值资源;若资源标识对应的资源已被全部获取,则相应的剩余数值资源为0,则会产生分配数值资源失败的情况。

本实施例中,通过社交应用服务器处理资源获取请求时,从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户,数值资源存储在数值资源账户中,可以保障数值资源的安全。

在一个实施例中,资源标识对应的资源为虚拟红包的数值资源;社交应用服务器在从资源标识对应的剩余数值资源中划分数值资源时按照随机划分方式和等额划分方式中的一种进行划分。

具体地,这里虚拟红包是指具有表示资金数额的数值资源的一种虚拟对象,虚拟红包的数值资源可被转移,但被转移后虚拟红包的数值资源会相应地减少。

其中按照随机划分方式从资源标识对应的剩余数值资源中划分数值资源,是指按照资源标识对应的划分份数将虚拟红包的数值资源总额进行划分,每份的数值资源是随机的,社交应用服务器每次处理资源获取请求时将其中一份的 数值资源分配给相应的用户标识。比如虚拟红包的数值资源总额为100,对应的划分份数是50,那么社交应用服务器就将100分为50份,每份的数值资源是随机的,但所有的50份的数值资源的和为100,社交应用服务器每次处理资源获取请求时将50份数值资源中的一份分配给相应的用户标识。等额划分方式与随机划分方式不同,在划分份数时是等分的,即每份的数值资源是相等的。

本实施例中,社交应用服务器从资源标识对应的剩余数值资源划分数值资源使可采用随机划分方式或者等额划分方式,从而使得资源被共享时用户之间有更丰富的互动方式的选择。

如图8所示,下面用一个具体应用场景来说明上述共享资源处理方法的原理,本应用场景中共享的资源为虚拟红包,该共享资源处理方法包括如下步骤:

S801,通过辅助应用获取社交应用的版本信息,从辅助应用服务器请求下载与版本信息匹配的配置信息。

S802,通过辅助应用接收辅助应用服务器返回的配置信息。

S803,通过辅助应用将预设代码注入社交应用的进程中。

S804,通过辅助应用接收进程返回的注入成功的结果。

S805,通过辅助应用向进程发送配置信息。

S806,通过辅助应用接收进程返回的配置成功的结果。

S807,通过社交应用的进程获取到社交应用的社交会话产生的消息后,若消息是虚拟红包消息,则获取虚拟红包消息的虚拟红包标识,根据当前登录所述社交应用的用户标识和虚拟红包标识生成拆红包请求。

S808,通过社交应用的进程向社交应用服务器发送拆红包请求。

S809,社交应用服务器根据拆红包请求从虚拟红包标识对应的剩余资金数额中划分资金数额分配至用户标识对应的资金账户。

S810,通过社交应用的进程接收社交应用服务器返回的拆红包结果。

S811,通过辅助应用接收进程返回的拆红包结果。

S812,对拆红包结果进行展示以及记录。

如图9所示,在一个实施例中,提供了一种共享资源处理装置900,包括代 码注入模块901、消息获取模块902、消息解析模块903、请求生成模块904和请求发送模块905。

代码注入模块901,用于将预设代码注入社交应用的进程中。

具体地,预设代码是预先编写的用于实现共享资源处理方法的代码,可以采用C语言或者C++语言编写。注入是指在进程中加入可执行的代码的过程,注入可以是远程注入,是指在一个进程中通过调用远程注入系统函数在另一个进程中加入可执行的代码的过程。代码注入模块901可用于在不同的操作系统下可使用不同的远程注入系统函数实现远程注入,比如在Android操作系统下可使用远程注入系统函数ptrace()实现远程注入,在Solaris操作系统下可使用远程注入系统函数dtrace()实现远程注入,在Mac操作系统下可使用远程注入系统函数dtruss()实现远程注入。社交应用通常具有联系人查找功能以及即时通信功能,还可以具有UGC(User Generated Content,用户生成内容)分享功能以及UGC评论功能。

消息获取模块902,用于通过进程中的预设代码获取社交会话中产生的消息。

具体地,消息获取模块902用于通过社交应用的进程执行预设代码,通过该预设代码的逻辑,获取在社交应用中的社交会话中产生的消息。社交会话是指用户与联系人之间的用来交互消息的会话。联系人可以是网络社交好友、群组成员、企业账号或者陌生人,陌生人是指与当前用户未建立网络社交关系的用户。

社交会话可以是一对一的双人会话,也可以是群组会话。双人会话可以发起自用户与联系人中的任意一方,群组会话可以发起自相应群组中的任意群组成员,用户与联系人都存在于该群组中。群组可以是即时通信群组、临时建立的讨论组或者基于已有的群组而建立的讨论组等。

社交会话中产生的消息可以是用户发送的消息,也可以是来自于用户的联系人的消息,还可以是系统消息。消息可以是即时编辑产生的,也可以是转发的消息。

消息解析模块903,用于若获取到的消息是资源共享消息,则获取消息中的 资源标识。

具体地,消息是结构化消息,包括若干字段,至少包括消息类型字段和消息内容字段,消息内容字段的数据中包括资源标识消息获取模块902通过进程中的预设代码获取到消息后,消息解析模块903可调用预设代码所指定的消息解析接口来解析该消息获得消息类型字段的数据,根据消息类型字段的数据判断该消息是否为资源共享消息。若是资源共享消息,则消息解析模块903通过进程中的预设代码获取消息中的资源标识;若不是资源共享消息,则进程中的预设代码停止对该消息的处理。进程本身也会按照进程本身的逻辑处理消息,比如解析消息获得消息内容并展示等,不被预设代码的逻辑所影响。

在一个实施例中,消息解析模块903具体用于若获取到的消息是资源共享消息,且资源标识对应的资源所属的资源共享用户被配置为允许获取所共享的资源,则获取消息中的资源标识。

具体地,消息解析模块903通过进程中的预设代码解析消息获得消息类型字段的数据和资源共享用户字段的数据,从而根据消息类型字段的数据判定消息是资源共享消息,根据资源共享用户字段的数据判定相应的资源共享用户被配置为允许获取该资源共享用户所共享的资源,则获取消息中的资源标识。

其中资源共享用户被配置为允许获取所共享的资源,可以是相应的资源共享用户存在于允许获取其所共享的资源的用户列表中,和/或相应的资源共享用户不存在于禁止获取其所共享的资源的用户列表中。资源共享用户是指发起资源共享的用户或者转发共享的资源的用户,当前终端的用户为资源承受方用户,资源共享用户与资源承受用户可以是同一用户。

本实施例中,用户可以配置允许或者不允许获取特定用户所共享的资源,从而可以灵活地调整获取资源的策略。

请求生成模块904,用于根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求。

具体地,请求生成模块904用于通过进程中的预设代码调用预设代码所指定的资源获取请求生成接口来根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求。用户标识是唯一表示用户的字符串,用户标识可以包括 数字、字母以及标点符号中的至少一种。用户标识可以是登录社交应用的用户账号。请求生成模块904通过进程中的预设代码根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求时,可对用户标识和资源标识进行加密,此时资源获取请求就是一串加密的字符串。

请求发送模块905,用于向社交应用所属的社交应用服务器发送资源获取请求,使社交应用服务器为用户标识分配资源标识对应的资源。

具体地,社交应用服务器是社交应用的服务器,请求发送模块905通过进程的预设代码调用预设代码所指定的通信接口与社交应用服务器进行通信,以向社交应用所属的社交应用服务器发送资源获取请求。社交应用服务器从资源获取请求中提取用户标识和资源标识,从而为用户标识分配该资源标识对应的资源。在分配资源使可将资源标识对应的全部资源或者部分资源分配给用户标识。资源标识对应的资源可以是数值资源,比如虚拟红包的数值资源。

上述共享资源处理装置900,将预设代码注入社交应用的进程中,就可以通过预设代码在该进程中获取社交应用中产生的消息,如果是资源共享消息,便可以解析获得资源标识并与用户标识结合生成资源获取请求。通过社交应用的进程将资源获取请求发送至社交应用服务器,就可以使得社交应用服务器自动为用户标识分配资源标识对应的资源。通过社交应用本身的进程就可以自动地获取共享的资源,与是否开启系统通知栏通知功能无关,使用场景不受系统通知栏通知功能的限制,而且通过进程本身来获取共享的资源也比通过检测系统通知栏的消息来获取共享的资源效率更高。

如图10所示,在一个实施例中,代码注入模块901包括:存储空间分配模块901a、动态链接库加载模块901b、函数地址获取模块901c和函数执行模块901d。

存储空间分配模块901a,用于远程调用社交应用的进程的用于分配存储空间的系统调用函数以分配存储空间,并在存储空间中写入动态链接库的路径。

具体地,代码注入模块901可通过辅助应用获取社交应用的进程标识(PID),从而通过该进程标识连接到社交应用的进程。代码注入模块901通过辅助应用获取进程的寄存器值并保存,以便完成注入后恢复进程原有的状态。终端通过 辅助应用获取进程的用于分配存储空间的系统调用函数(mmap)的调用地址、用于加载动态链接库的系统调用函数(dlopen)的调用地址以及用于操作动态链接库的系统调用函数(dlsym)的调用地址。从而存储空间分配模块901a根据进程的用于分配存储空间的系统调用函数的调用地址调用相应的系统调用函数(mmap)来分配一段存储空间,并在分配的存储空间中写入动态链接库(SO)的路径以及函数调用参数,该动态链接库是需要注入的预设代码。

动态链接库加载模块901b,用于远程调用进程的用于加载动态链接库的系统调用函数以根据路径加载动态链接库。

具体地,动态链接库加载模块901b通过辅助应用根据用于加载动态链接库的系统调用函数的调用地址调用相应的系统调用函数(dlopen),以根据存储空间中写入的路径加载相应的动态链接库。

函数地址获取模块901c,用于远程调用进程的用于操作动态链接库的系统调用函数获取动态链接库中用于处理共享资源的函数的函数地址。

具体地,函数地址获取模块901c通过辅助应用根据用于操作动态链接库的系统调用函数的调用地址调用相应的系统调用函数(dlsym),以根据存储空间中写入的函数调用参数从加载的动态链接库中获取函数地址。

函数执行模块901d,用于根据获取的函数地址执行相应的函数。

具体地,获取的函数地址的函数用于处理共享资源,主要用于获取社交会话中产生的消息;若获取到的消息是资源共享消息,则获取消息中的资源标识;根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求;向社交应用所属的社交应用服务器发送资源获取请求,使社交应用服务器为用户标识分配资源标识对应的资源。

本实施例中,通过远程注入的方式向社交应用的进程注入动态链接库以执行动态链接库中的相应函数,从而使得进程可以在获取到资源共享消息后自动地处理资源共享消息。

如图11所示,在一个实施例中,预设代码通过辅助应用被注入社交应用的进程中,共享资源处理装置900还包括:资源分配结果接收模块906、资源分配结果获取模块907和资源分配结果处理模块908。

资源分配结果接收模块906,用于通过进程接收社交应用服务器反馈的资源分配结果。

具体地,社交应用服务器根据资源获取请求进行资源分配的处理后,会向终端反馈资源分配结果。资源分配结果包括资源分配成功的结果和资源分配失败的结果。

资源分配结果获取模块907,用于通过辅助应用获取来自于进程的资源分配结果。

具体地,资源分配结果获取模块907可通过辅助应用主动通过进程中的预设代码所提供的接口获取应用服务器所反馈的资源分配结果,也可以被动地接收进程通过其中的预设代码向辅助应用传递的资源分配结果。

资源分配结果处理模块908,用于展示资源分配结果,和/或,根据获取的资源分配结果进行统计后展示统计结果。

资源分配结果处理模块908可通过辅助应用展示资源分配结果,具体可通过系统通知栏的通知消息展示资源分配结果,也可以在辅助应用的资源分配结果展示页面中展示资源分配结果。

资源分配结果处理模块908通过辅助应用对获取的资源分配结果进行统计,具体可统计资源分配成功的次数或者获取到的数值资源的总额等信息。统计的时间段可以是自注入预设代码起至当前时间的时间段,也可以是当日、当周或者当月的时间段。

资源分配结果处理模块908可通过辅助应用同时展示资源分配结果以及统计结果,也可以仅展示资源分配结果和统计结果中的一者。在一个实施例中,终端还可以通过辅助应用分享资源分配结果和/或统计结果给社交好友。

本实施例中,通过辅助应用可以获取到社交应用的进程在触发资源获取请求后社交应用服务器所反馈的资源分配结果并进行展示,从而可以使用户通过辅助应用及时了解到通过社交应用获取资源的情况。

如图12所示,在一个实施例中,预设代码通过辅助应用被注入社交应用的进程中,共享资源处理装置900还包括:版本信息获取模块909、配置信息下载模块910和配置信息发送模块911。

版本信息获取模块909,用于通过辅助应用获取社交应用的版本信息。社交应用的版本信息是可唯一标识社交应用的版本的信息,通常为一段字符串,可以包括数字、标点符号以及字符中的至少一种。终端安装了更新版本的社交应用后,相应的版本信息也会更新。

配置信息下载模块910,用于从辅助应用服务器下载与版本信息匹配的配置信息。具体地,辅助应用服务器是辅助应用的服务器,配置信息下载模块910通过辅助应用从辅助应用服务器下载与获取的版本信息匹配的配置信息,该配置信息用以配置进程中的预设代码,使进程中的预设代码在执行时按照该配置信息来执行。

若配置信息下载模块910通过辅助应用未下载到与版本信息匹配的配置信息,说明辅助应用服务器上还未存储相应的配置信息,则配置信息下载模块910可通过辅助应用将下载任务挂起,并在预设时长之后再次下载版本信息匹配的配置信息;或者配置信息下载模块910可在将下载任务挂起之后等待,直到接收到辅助应用服务器在更新了与版本信息匹配的配置信息后推送的相应的配置信息。

在一个实施例中,版本信息获取模块909可通过辅助应用定期获取社交应用的版本信息与上次传递给进程的配置信息对应的版本信息进行比对,若不匹配则配置信息下载模块910从辅助应用服务器下载与版本信息匹配的配置信息。

配置信息发送模块911,用于将配置信息传递给进程,使进程在通过预设代码执行获取消息中的资源标识、根据当前登录所述社交应用的用户标识和资源标识生成资源获取请求以及向社交应用所属的社交应用服务器发送资源获取请求中的至少一种时以配置信息为依据执行。

具体地,配置信息发送模块911通过辅助应用将下载的配置信息传递给进程,使得进程根据传递的配置信息更新配置。配置信息可以包括指定解析消息所调用的接口的信息、指定生成资源获取请求时所调用的接口的信息以及发送资源获取请求时所调用的接口的信息中的至少一种。

本实施例中,通过辅助应用服务器存储与社交应用的版本信息匹配的配置信息,从而通过辅助应用可以根据社交应用的版本信息来下载相应的配置信息, 以对社交应用中的预设代码进行相应的配置,使得进程中注入的预设代码可以适用最新版本的社交应用,避免因版本更新而导致不可用的情况。

如图13所示,在一个实施例中,共享资源处理装置900还包括:随机延迟时间长度获取模块912,用于获取在预设延迟时间长度范围内的随机延迟时间长度;消息解析模块903、请求生成模块904以及请求发送模块905中的一者用于按照随机延迟时间长度延迟执行相应的功能。

具体地,预设延迟时间长度范围是随机延迟时间长度可取的范围,该预设延迟时间长度范围可具有最小值和最大值,在该范围内随机产生一个随机延迟时间长度,从而使得消息解析模块903、请求生成模块904以及请求发送模块905中的一者按照该随机延迟时间长度延迟执行相应的功能。

本实施例中,通过预设代码随机延迟执行为获取共享的资源所执行的某一步骤,可避免被社交应用服务器通过统计分析误判为使用外挂,更加安全可靠。

在一个实施例中,请求发送模块904具体用于向社交应用所属的社交应用服务器发送资源获取请求,使社交应用服务器从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户。

具体地,本实施例中,资源标识对应的资源为数值资源,则社交应用服务器在接收到资源获取请求后,可从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户,直至资源标识对应的剩余数值资源为0。其中数值资源账户可以是银行账户或者第三方支付账户,可存储在银行服务器或者第三方支付平台。

其中,数值资源比如虚拟红包的数值,电子代金券的数值或者其他可分享的数值资源。社交应用服务器在接收到资源获取请求后,可先判断资源标识对应的剩余数值资源是否为0,若剩余数值资源是0,则可直接生成资源分配失败的资源分配结果;若剩余数值资源不是0,则可从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户。

进一步地,若资源标识对应的资源未被获取,则相应的剩余数值资源为资源标识对应的全部数值资源;若资源标识对应的资源已被获取且有剩余,则相应的剩余数值资源则是全部数值资源减去已被获取的数值资源;若资源标识对 应的资源已被全部获取,则相应的剩余数值资源为0,则会产生分配数值资源失败的情况。

本实施例中,通过社交应用服务器处理资源获取请求时,从资源标识对应的剩余数值资源中划分数值资源分配至用户标识对应的数值资源账户,数值资源存储在数值资源账户中,可以保障数值资源的安全。

在一个实施例中,资源标识对应的资源为虚拟红包的数值资源;社交应用服务器在从资源标识对应的剩余数值资源中划分数值资源时按照随机划分方式和等额划分方式中的一种进行划分。

具体地,这里虚拟红包是指具有表示资金数额的数值资源的一种虚拟对象,虚拟红包的数值资源可被转移,但被转移后虚拟红包的数值资源会相应地减少。

其中按照随机划分方式从资源标识对应的剩余数值资源中划分数值资源,是指按照资源标识对应的划分份数将虚拟红包的数值资源总额进行划分,每份的数值资源是随机的,社交应用服务器每次处理资源获取请求时将其中一份的数值资源分配给相应的用户标识。等额划分方式与随机划分方式不同,在划分份数时是等分的,即每份的数值资源是相等的。

本实施例中,社交应用服务器从资源标识对应的剩余数值资源划分数值资源使可采用随机划分方式或者等额划分方式,从而使得资源被共享时用户之间有更丰富的互动方式的选择。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技 术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1