CN110865870B - 一种基于钩子技术的应用调用方法及装置 - Google Patents

一种基于钩子技术的应用调用方法及装置 Download PDF

Info

Publication number
CN110865870B
CN110865870B CN201911114809.6A CN201911114809A CN110865870B CN 110865870 B CN110865870 B CN 110865870B CN 201911114809 A CN201911114809 A CN 201911114809A CN 110865870 B CN110865870 B CN 110865870B
Authority
CN
China
Prior art keywords
application
calling
information
client
user operation
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
CN201911114809.6A
Other languages
English (en)
Other versions
CN110865870A (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 Jinshan Shiyou Interactive Entertainment Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Beijing Xishanju Interactive Entertainment Technology 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 Xishanju Interactive Entertainment Technology Co ltd filed Critical Beijing Xishanju Interactive Entertainment Technology Co ltd
Priority to CN201911114809.6A priority Critical patent/CN110865870B/zh
Publication of CN110865870A publication Critical patent/CN110865870A/zh
Application granted granted Critical
Publication of CN110865870B publication Critical patent/CN110865870B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种基于钩子技术的应用调用方法及装置,其中所述基于钩子技术的应用调用方法应用于服务器,包括:在运行基础应用的情况下,接收客户端的用户操作信息;当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;根据所述应用调用请求生成对应的应用调用信息;使用钩子技术截获所述应用调用信息;将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。通过本申请提供的基于钩子技术的应用调用方法,避免了在服务器中因为多个基础应用同时调用同一个第三方应用时引发的资源冲突的问题,保护了用户的隐私,提高了用户信息的安全性。

Description

一种基于钩子技术的应用调用方法及装置
技术领域
本申请涉及云计算技术领域,特别涉及一种基于钩子技术的应用调用方法及装置、计算设备和计算机可读存储介质。
背景技术
随着近年来终端技术和网络带宽的高速发展,云计算技术的日趋成熟,越来越多的应用通过云计算被开发为云应用,使应用不仅仅再局限于终端设备本身。
但是,在现有的云应用中,通常使用的是虚拟机技术,即在服务器中虚拟出多个操作系统的虚拟机,将每个虚拟机分配给客户端的一位用户远程接入使用,在这种方案下,当多个虚拟机调用服务器的同一个第三方应用时就会出现调用冲突的问题,并且当调用第三方应用时,有时涉及到用户信息或隐私,如果多个虚拟机同时调用该第三方应用时就会导致用户隐私和信息泄露,使用户隐私和信息有极大的泄露风险,给用户带来损失。
那么,如何解决调用第三方应用时的调用冲突问题,避免用户的隐私和信息的泄露,就成为目前亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于钩子技术的应用调用方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种基于钩子技术的应用调用方法,应用于服务器,包括:
在运行基础应用的情况下,接收客户端的用户操作信息;
当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;
根据所述应用调用请求生成对应的应用调用信息;
使用钩子技术截获所述应用调用信息;
将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
可选的,所述服务器包括预设的与所述基础应用对应的软件工具开发包;
将所述用户操作信息转换为第三方应用的应用调用请求,包括:
根据所述用户操作信息和所述软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
可选的,在使用钩子技术截获所述应用调用信息之后,还包括:
将所述应用调用信息传输至所述软件工具开发包中。
可选的,将所述应用调用信息传输至客户端,包括:
通过所述软件工具开发包将所述应用调用信息传输至客户端。
可选的,在使用钩子技术截获所述应用调用信息之后,还包括:
生成与所述应用调用信息对应的第三方应用的虚拟调用指令;
根据所述虚拟调用指令模拟调用本地的第三方应用。
可选的,所述基础应用包括云游戏;
在运行基础应用的情况下,接收客户端的用户操作信息,包括:
在运行云游戏的情况下,接收客户端的用户操作信息。
根据本申请实施例的第二方面,提供了一种基于钩子技术的应用调用装置,应用于服务器,包括:
接收模块,被配置为在运行基础应用的情况下,接收客户端的用户操作信息;
转换模块,被配置为当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;
生成模块,被配置为根据所述应用调用请求生成对应的应用调用信息;
截获模块,被配置为使用钩子技术截获所述应用调用信息;
传输模块,被配置为将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
可选的,所述服务器包括预设的与所述基础应用对应的软件工具开发包;
所述转换模块,进一步被配置为根据所述用户操作信息和所述软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
可选的,所述基于钩子技术的应用调用装置还包括:
输入模块,被配置为将所述应用调用信息传输至所述软件工具开发包中。
可选的,所述传输模块,进一步被配置为通过所述软件工具开发包将所述应用调用信息传输至客户端。
可选的,所述基于钩子技术的应用调用装置还包括:
生成模块,被配置为生成与所述应用调用信息对应的第三方应用的虚拟调用指令;
虚拟调用模块,被配置为根据所述虚拟调用指令模拟调用本地的第三方应用。
可选的,所述基础应用包括云游戏;
所述接收模块,进一步被配置为在运行云游戏的情况下,接收客户端的用户操作信息。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述基于钩子技术的应用调用方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述基于钩子技术的应用调用方法的步骤。
本申请实施例中,通过在运行基础应用的情况下,接收客户端的用户操作信息;当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;根据所述应用调用请求生成对应的应用调用信息;使用钩子技术截获所述应用调用信息;将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。通过本申请提供的基于钩子技术的应用调用方法,避免了在服务器中因为多个基础应用同时调用同一个第三方应用时引发的资源冲突的问题,使调用第三方应用的操作都在客户端中实现,进而保护了用户的隐私,维护了用户的合法权益,同时,用户在使用客户端的第三方应用时可以使用自己个性化的设置,提高了用户体验。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的基于钩子技术的应用调用方法的流程图;
图3是本申请另一实施例提供的基于钩子技术的应用调用方法的流程图;
图4是本申请又一实施例提供的基于钩子技术的应用调用方法的流程图;
图5是本申请实施例提供的基于钩子技术的应用调用装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
云游戏:指以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。
钩子技术:又叫钩子函数(HOOK),是一种消息拦截机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息,并进行自定义处理。常见的如屏幕取词、监视日志、截获键盘鼠标的输入等等。
基础应用:运行在服务器端,可以由客户端操控的应用。
第三方应用:运行在服务器端,可以被基础应用调用的应用。
在本申请中,提供了一种基于钩子技术的应用调用方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示的基于钩子技术的应用调用方法中的步骤。图2示出了根据本申请一实施例的基于钩子技术的应用调用方法的流程图,该方法应用于服务器,包括步骤202至步骤210。
步骤202:在运行基础应用的情况下,接收客户端的用户操作信息。
在云计算技术中,应用通常运行于云端,即服务器中,用户通过客户端远程控制服务器中的应用,那么被客户端远程控制的应用即为基础应用。
基础应用可以是游戏、办公软件、即时通讯软件、视频播放软件、听歌软件等。
客户端包括个人电脑、机顶盒、移动终端等。
在一种具体实施方式中,基础应用为一个即时通讯软件,用户操作信息为点击即时通讯工具中的官网链接,接收用户的点击操作。
可选的,所述基础应用包括云游戏,在运行基础应用的情况下,接收客户端的用户操作信息,包括:在运行云游戏的情况下,接收客户端的用户操作信息。
在实际应用中,云游戏的应用十分广泛,云游戏运行于服务器中,用户通过客户端对服务器的云游戏进行操作。当需要在游戏中进行字符输入时,会调用输入法,当需要在游戏中点击游戏链接时,会调用浏览器。在运行云游戏的情况下,接收客户端的用户操作信息。
在另一种具体实施方式中,在运行云游戏的情况下,用户通过客户端点击云游戏中的对话框,接收用户的点击对话框的操作。
步骤204:当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求。
客户端发送的用户操作信息有多类型,其中有一类是直接操作基础应用的操作信息,有一类是基于基础应用调用第三方应用的操作信息,因此,当用户操作信息为调用第三方应用的情况下,将接收到的用户操作信息转换为应用调用请求,所述应用调用请求用于调用第三方应用。
在一种具体实施方式中,以基础应用为即时通讯软件为例,接收用户通过客户端点击即时通讯软件中的官网链接的操作,将点击官网链接的操作转换为浏览器调用请求。
步骤206:根据所述应用调用请求生成对应的应用调用信息。
根据所述应用调用请求生成与所述应用调用请求对应的应用调用信息。
在一种具体实施方式中,以用户点击官网链接的操作为例,应用调用请求为调用浏览器,根据调用浏览器的请求生成浏览器调用信息,其中包括浏览器需要打开的网址信息、当前用户的基础信息等信息。
在另一种具体实施方式中,以用户上传文件的操作为例,应用调用请求为打开资源管理器,根据打开资源管理器的请求生成打开资源管理器的信息,其中包括资源管理器的默认打开路径,上传文件的默认文件格式等信息。
步骤208:使用钩子技术截获所述应用调用信息。
钩子技术(HOOK)又叫钩子函数,是一种消息拦截机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息,并进行自定义处理。常见的如屏幕取词、监视日志、截获键盘鼠标的输入等等。
通过钩子技术可以在基础应用中截获所述应用调用信息,在所述应用调用信息在真正执行之前将其截获,从而阻止应用的实际调用。
在一种具体实施方式中,以用户点击官网链接的操作为例,使用钩子技术截获生成的浏览器调用信息,以使所述浏览器调用信息不会传输至服务器本地的浏览器中,从而避免调用服务器本地的浏览器。
在另一种具体实施方式中,以用户点击云游戏中的对话框为例,用户通过客户端在云游戏中点击对话框的操作,根据点击对话框的操作生成对应的调用输入法的请求,根据所述调用输入法的请求生成对应的调用输入法的信息,使用钩子技术截获生成的调用输入法的信息,使得所述调用输入法的信息不会传输至服务器本地的输入法中,从而避免调用服务器本地的输入法。
步骤210:将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
将截获的应用调用信息传输至客户端,在客户端中根据所述应用调用信息调取客户端本地的第三方应用。
在一种具体实施方式中,以用户点击官网链接的操作为例,将浏览器调用信息传输至客户端,以使客户端调用客户端本地的浏览器,实现在客户端本地打开浏览器的操作。
在另一种具体实施方式中,以用户上传文件的操作为例,将调用资源管理器信息传输至客户端,以打开客户端的资源管理器,用户可以选择客户端中的文件实现文件上传的操作。
本申请实施例提供的基于钩子技术的应用调用方法,应用于服务器,通过使用钩子技术截获第三方应用的应用调用信息,并将所述应用调用信息传输至客户端,从而实现在客户端调用第三方应用,而不是在服务器调用第三方应用的功能,避免了在服务器中因为多个基础应用同时调用同一个第三方应用引起的资源冲突问题,同时也保护了用户的隐私,维护了用户的合法权益,同时,用户在使用客户端的第三方应用时可以使用用户自己的个性化设置,提高了用户体验,增强了用户粘性。
图3示出了本申请一实施例的基于钩子技术的应用调用方法,该基于钩子技术的应用调用方法以对调用输入法为例进行描述,该方法应用于服务器,包括步骤302至步骤314。
步骤302:在运行基础应用的情况下,接收客户端的用户操作信息。
在本申请提供的实施例中,基础应用为云游戏,云游戏运行在服务器端,用户在玩云游戏的过程中,通过点击游戏中的对话框,与此同时,接收到用户在客户端的点击对话框的操作。
步骤304:当所述用户操作信息为调用第三方应用的情况下,根据所述用户操作信息和预设的与所述基础应用对应的软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
在本申请提供的实施例中,在接收到用户点击对话框的操作后,经过判断得知该操作需要调用输入法,从而实现打字输入对话内容的行为。因此根据用户的点击对话框的操作和云游戏对应的软件工具开发包(SDK),获取点击对话框操作对应的输入法调用请求。
步骤306:根据所述应用调用请求生成对应的应用调用信息。
在本申请提供的实施例中,根据输入法调用请求生成对应的输入法调用信息,其中包括调用输入法的指令,用户的账户信息等。
步骤308:使用钩子技术截获所述应用调用信息,并将所述应用调用信息传输至所述软件工具开发包中。
在本申请提供的实施例中,使用钩子技术在云游戏中截获所述输入法调用信息,使所述输入法调用信息不用到达服务器的输入法中,进而不用实际调用服务器的输入法。
同时,将截获的输入法调用信息传输至软件工具开发包(SDK)中。
步骤310:生成与所述应用调用信息对应的第三方应用的虚拟调用指令。
在服务器中,虽然不会实际调用服务器的第三方应用,但是对于一些第三方应用而言,还是会基于应用调用信息生成相应的虚拟调用指令,进而基于虚拟调用指令对基础应用进操作。
在本申请提供的实施例中,在云游戏中点击对话框操作后,在对话框中会相应的有等待输入字符的光标闪烁,如果云游戏得不到应用调用信息对应的调用指令,则无法实现光标闪烁,进而无法实现输入。因此系统会生成对应的输入法的虚拟调用指令。
步骤312:根据所述虚拟调用指令模拟调用本地的第三方应用。
根据生成的虚拟调用指令,模拟调用服务器本地的第三方应用,进而完成系统内的运行逻辑。
在本申请提供的实施例中,根据输入法的虚拟调用指令,模拟调用服务器的输入法,进而使得云游戏的对话框中出现等待输入字符的光标闪烁,完成系统内需要输入字符的运算逻辑。
步骤314:通过所述软件工具开发包将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
在本申请提供的实施例中,通过软件工具开发包(SDK)将输入法调用信息传输至客户端,客户端接收到输入法调用信息,从而调用客户端的输入法,可以有效的避免使用服务器的输入法引发的资源冲突问题,同时有效的保护用户的隐私,用户还可以使用自己熟悉的输入法进行操作,提高了用户体验。
在本申请提供的实施例中,以云游戏调用输入法为例,通过接收客户端的操作信息,根据操作信息生成对应的输入法调用信息,利用钩子技术截获输入法调用信息并通过软件工具开发包(SDK)将输入法调用信息传输至客户端,调用客户端的输入法实现字符输入的功能,同时根据输入法调用信息生成对应的虚拟调用指令,进而模拟调用服务器的输入法,实现服务器端的运行逻辑。通过本申请提供的基于钩子技术的输入法调用方法,避免了在服务器中因为多个云游戏同时调用输入法时引发的资源冲突的问题,使调用输入法的操作都在客户端中实现,保护了用户的隐私,维护了用户的合法权益,同时,用户在使用客户端的输入法时可以使用自己个性化的设置,提高了用户体验。
图4示出了本申请另一实施例的基于钩子技术的应用调用方法,该方法以对云游戏的配置文件进行导出为例进行描述,该方法应用于服务器,包括步骤402至步骤410。
步骤402:在运行云游戏的情况下,接收客户端的点击导出按钮的操作。
在本申请提供的实施例中,用户需要导出云游戏中的配置文件,用户在客户端点击导出按钮,服务器接收用户在客户端的点击导出按钮的操作。
步骤404:将导出按钮的操作转换为打开资源管理器的应用调用请求。
根据用户的点击导出按钮的操作和预设的软件工具开发包(SDK),将点击导出按钮的操作转换为打开资源管理器的应用调用请求。
步骤406:根据打开资源管理器的应用调用请求生成打开资源管理器的应用调用信息,其中所述应用调用信息导出文件的导出路径和文件内容。
步骤408:使用钩子技术截获所述应用调用信息。
使用钩子技术截获配置文件的导出路径和文件内容,使得云游戏所在的服务器并不会根据导出路径打开服务器的资源管理器,也不会将配置文件导出至云游戏所在的服务器上。
步骤410:将所述应用调用信息传输至客户端,以使客户端调根据所述应用调用信息中的导出路径和文件内容进行操作。
将配置文件的导出路径和文件内容传输至客户端,客户端根据导出路径打开客户端的资源管理器,并将配置文件的文件内容导出至客户端的导出路径中,从而实现配置文件的导出功能。
本申请实施例提供的基于钩子技术的应用调用装置,应用于服务器,通过钩子技术截获配置文件的导出路径和文件内容,将其传输至客户端,从而实现将配置文件导出至客户端的导出路径中,而不是导出到服务器的导出路径中,避免了用户的信息导出至服务器上而不是客户端中,真正实现了文件导出的功能,提高了用户体验,也保护了用户的隐私,维护了用户的合法权益。
与上述方法实施例相对应,本申请还提供了基于钩子技术的应用调用装置实施例,图5示出了本申请一个实施例的基于钩子技术的应用调用装置的结构示意图。如图5所示,该装置包括:
接收模块502,被配置为在运行基础应用的情况下,接收客户端的用户操作信息。
转换模块504,被配置为当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求。
生成模块506,被配置为根据所述应用调用请求生成对应的应用调用信息。
截获模块508,被配置为使用钩子技术截获所述应用调用信息。
传输模块510,被配置为将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
可选的,所述服务器包括预设的与所述基础应用对应的软件工具开发包;
所述转换模块504,进一步被配置为根据所述用户操作信息和所述软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
可选的,所述基于钩子技术的应用调用装置还包括:
输入模块,被配置为将所述应用调用信息传输至所述软件工具开发包中。
可选的,所述传输模块510,进一步被配置为通过所述软件工具开发包将所述应用调用信息传输至客户端。
可选的,所述基于钩子技术的应用调用装置还包括:
生成模块,被配置为生成与所述应用调用信息对应的第三方应用的虚拟调用指令。
虚拟调用模块,被配置为根据所述虚拟调用指令模拟调用本地的第三方应用。
可选的,所述基础应用包括云游戏;
所述接收模块502,进一步被配置为在运行云游戏的情况下,接收客户端的用户操作信息。
本申请实施例提供的基于钩子技术的应用调用装置,应用于服务器,通过使用钩子技术截获第三方应用的应用调用信息,并将所述应用调用信息传输至客户端,从而实现在客户端调用第三方应用,而不是在服务器调用第三方应用的功能,避免了在服务器中因为多个基础应用同时调用同一个第三方应用引起的资源冲突问题,同时也保护了用户的隐私,维护了用户的合法权益,同时,用户在使用客户端的第三方应用时可以使用用户自己的个性化设置,提高了用户体验,增强了用户粘性。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的基于钩子技术的应用调用方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述基于钩子技术的应用调用方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于钩子技术的应用调用方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于钩子技术的应用调用方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (10)

1.一种基于钩子技术的应用调用方法,其特征在于,应用于服务器,包括:
在运行基础应用的情况下,接收客户端的用户操作信息;
当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;
根据所述应用调用请求生成对应的应用调用信息;
使用钩子技术截获所述应用调用信息;
生成与所述应用调用信息对应的第三方应用的虚拟调用指令;
根据所述虚拟调用指令模拟调用本地的第三方应用,以完成系统内的运行逻辑;
将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
2.如权利要求1所述的基于钩子技术的应用调用方法,其特征在于,所述服务器包括预设的与所述基础应用对应的软件工具开发包;
将所述用户操作信息转换为第三方应用的应用调用请求,包括:
根据所述用户操作信息和所述软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
3.如权利要求2所述的基于钩子技术的应用调用方法,其特征在于,在使用钩子技术截获所述应用调用信息之后,还包括:
将所述应用调用信息传输至所述软件工具开发包中。
4.如权利要求3所述的基于钩子技术的应用调用方法,其特征在于,将所述应用调用信息传输至客户端,包括:
通过所述软件工具开发包将所述应用调用信息传输至客户端。
5.如权利要求1所述的基于钩子技术的应用调用方法,其特征在于,所述基础应用包括云游戏;
在运行基础应用的情况下,接收客户端的用户操作信息,包括:
在运行云游戏的情况下,接收客户端的用户操作信息。
6.一种基于钩子技术的应用调用装置,其特征在于,应用于服务器,包括:
接收模块,被配置为在运行基础应用的情况下,接收客户端的用户操作信息;
转换模块,被配置为当所述用户操作信息为调用第三方应用的情况下,将所述用户操作信息转换为第三方应用的应用调用请求;
生成模块,被配置为根据所述应用调用请求生成对应的应用调用信息;
截获模块,被配置为使用钩子技术截获所述应用调用信息;
生成模块,还被配置为生成与所述应用调用信息对应的第三方应用的虚拟调用指令;
虚拟调用模块,被配置为根据所述虚拟调用指令模拟调用本地的第三方应用,以完成系统内的运行逻辑;
传输模块,被配置为将所述应用调用信息传输至客户端,以使客户端调用客户端的第三方应用。
7.如权利要求6所述的基于钩子技术的应用调用装置,其特征在于,所述服务器包括预设的与所述基础应用对应的软件工具开发包;
所述转换模块,进一步被配置为根据所述用户操作信息和所述软件工具开发包,获取与所述用户操作信息对应的调用第三方应用的应用调用请求。
8.如权利要求7所述的基于钩子技术的应用调用装置,其特征在于,还包括:
输入模块,被配置为将所述应用调用信息传输至所述软件工具开发包中。
9.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-5任意一项所述方法的步骤。
10.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-5任意一项所述方法的步骤。
CN201911114809.6A 2019-11-14 2019-11-14 一种基于钩子技术的应用调用方法及装置 Active CN110865870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911114809.6A CN110865870B (zh) 2019-11-14 2019-11-14 一种基于钩子技术的应用调用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911114809.6A CN110865870B (zh) 2019-11-14 2019-11-14 一种基于钩子技术的应用调用方法及装置

Publications (2)

Publication Number Publication Date
CN110865870A CN110865870A (zh) 2020-03-06
CN110865870B true CN110865870B (zh) 2022-08-12

Family

ID=69653998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911114809.6A Active CN110865870B (zh) 2019-11-14 2019-11-14 一种基于钩子技术的应用调用方法及装置

Country Status (1)

Country Link
CN (1) CN110865870B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
CN111787054B (zh) * 2020-05-21 2022-03-04 中清龙图计算机科技(上海)有限公司 一种云游戏输入方法、装置、设备及介质
CN115309569B (zh) * 2022-10-10 2023-02-07 北京蔚领时代科技有限公司 一种arm云游戏数据互通方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918819A (zh) * 2011-06-03 2013-02-06 华为技术有限公司 一种在线应用处理方法、装置及系统
CN104038535A (zh) * 2010-12-22 2014-09-10 北京华夏未来信息技术有限公司 在虚拟应用环境下改善用户体验的方法及虚拟应用系统
CN109391676A (zh) * 2018-07-19 2019-02-26 珠海市魅族科技有限公司 终端设备控制方法、终端设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080115150A1 (en) * 2006-11-15 2008-05-15 International Business Machines Corporation Methods for applications to utilize cross operating system features under virtualized system environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038535A (zh) * 2010-12-22 2014-09-10 北京华夏未来信息技术有限公司 在虚拟应用环境下改善用户体验的方法及虚拟应用系统
CN102918819A (zh) * 2011-06-03 2013-02-06 华为技术有限公司 一种在线应用处理方法、装置及系统
CN109391676A (zh) * 2018-07-19 2019-02-26 珠海市魅族科技有限公司 终端设备控制方法、终端设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110865870A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
JP7263442B2 (ja) モバイルアプリケーションのリアルタイム遠隔制御のためのシステムおよび方法
CN110865870B (zh) 一种基于钩子技术的应用调用方法及装置
CN110694267A (zh) 一种云游戏实现方法及装置
US10009303B2 (en) Message push method and apparatus
US9183025B2 (en) Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
CN110841278A (zh) 一种云游戏实现方法及装置
US8914733B2 (en) User interface widget unit sharing for application user interface distribution
EP4116848A1 (en) Cross-device interaction method and terminal device
US10387205B2 (en) Optimizing runtime environments
WO2007133488A2 (en) Framework for agile mobile applications
KR20060009830A (ko) 인스턴트 메시징 툴 상에 가상 이미지를 표시하는 방법
JP2005228227A (ja) シンクライアントシステム及びその通信方法
CN111773730A (zh) 一种数据处理方法及装置
CN111324343A (zh) 代码生成方法以及装置
CN113572822A (zh) 一种云终端模拟控制方法、装置、存储介质及电子设备
CN113617020B (zh) 游戏控制方法、装置、存储介质、服务器以及终端
CN114071190B (zh) 云应用视频流处理方法、相关装置及计算机程序产品
CN113778593B (zh) 云桌面控制方法、装置、电子设备、存储介质及程序产品
JP2022097592A (ja) データ同期方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN112653787B (zh) 显示方法、装置、存储介质及电子设备
WO2024061308A1 (zh) 通知处理方法、终端设备、服务端及计算机存储介质
CN111143017B (zh) 云操作系统交互处理方法、客户端及云操作系统
CN114422468A (zh) 消息处理方法、装置、终端及存储介质
CN114095758B (zh) 云图像截取方法、相关装置
CN115473810A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 001, Floor 03, Floor 3, No. 33, Xiaoying West Road, Haidian District, Beijing 100085

Patentee after: Beijing Jinshan Shiyou Interactive Entertainment Technology Co.,Ltd.

Address before: 2f04, No. 33, Xiaoying West Road, Haidian District, Beijing 100085

Patentee before: Beijing Xishanju Interactive Entertainment Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221107

Address after: 519000 Rooms 102, 202, 302, 402, 327, 102, 202, 329, 302, 325 Qiandao Ring Road, Tangjiawan Town, High tech Zone, Zhuhai, Guangdong

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Address before: Room 001, Floor 03, Floor 3, No. 33, Xiaoying West Road, Haidian District, Beijing 100085

Patentee before: Beijing Jinshan Shiyou Interactive Entertainment Technology Co.,Ltd.