CN107766093A - 一种功能模块的共享方法及客户端 - Google Patents
一种功能模块的共享方法及客户端 Download PDFInfo
- Publication number
- CN107766093A CN107766093A CN201610685380.6A CN201610685380A CN107766093A CN 107766093 A CN107766093 A CN 107766093A CN 201610685380 A CN201610685380 A CN 201610685380A CN 107766093 A CN107766093 A CN 107766093A
- Authority
- CN
- China
- Prior art keywords
- functional module
- client
- attribute information
- response message
- query response
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种功能模块的共享方法及客户端。该方法应用于终端设备上的第一客户端,包括:确定自身的待安装功能模块;向终端设备上已安装的至少一个第二客户端发送针对待安装功能模块的查询请求消息,并从至少一个第二客户端接收查询响应消息;及,当从一第二客户端接收的查询响应消息指示已安装待安装功能模块时,从该第二客户端读取待安装功能模块的安装文件。利用这些技术方案,能够提高终端设备的资源利用率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种功能模块的共享方法及客户端。
背景技术
目前,在终端设备上有越来越多的客户端可以向用户提供不同的服务和业务的处理。其中一些客户端会使用到相同的功能模块。通常,在共享调用这种共有的功能模块时,是通过使用下载并安装第三方客户端的形式来完成,比如通过安装adobe flash插件来调用一相同的功能模块。
这样就需要用户产生感知,比如在用户点击安装adobe flash插件之后才能完成后续的调用。若用户取消了安装,则无法调用相应的功能模块。或者,当用户卸载了adobeflash插件时,也无法调用对应的功能模块。因此,降低了这种共有的功能模块的共享效率以及终端设备的资源利用率。
发明内容
有鉴于此,本发明提供了一种功能模块的共享方法及客户端,能够提高多客户端所在的终端设备的资源利用率。
本发明的技术方案是这样实现的:
本发明提供了一种功能模块的共享方法,应用于终端设备上的第一客户端,所述方法包括:
确定自身的待安装功能模块;
向所述终端设备上已安装的至少一个第二客户端发送针对所述待安装功能模块的查询请求消息,并从所述至少一个第二客户端接收查询响应消息;及,
当从一第二客户端接收的查询响应消息指示已安装所述待安装功能模块时,从该第二客户端读取所述待安装功能模块的安装文件。
本发明提供了一种客户端,位于终端设备上,所述客户端包括:
确定单元,用于确定自身的待安装功能模块;
发送单元,用于向所述终端设备上已安装的至少一个第二客户端发送针对所述确定单元确定的待安装功能模块的查询请求消息;
接收单元,用于从所述至少一个第二客户端接收查询响应消息;及,
读取单元,用于当从一第二客户端接收的查询响应消息指示已安装所述待安装功能模块时,从该第二客户端读取所述待安装功能模块的安装文件。
与现有技术相比,本发明提供的方法,能够在多个客户端之间共享功能模块,减少了客户端在安装特定功能模块时需要产生的网络下载、用户点击安装等操作,可以在无用户感知的情况下完成安装,提升了获取待安装功能模块的时间效率,降低了所需占用的资源,提高了多个客户端所在终端设备的资源利用率。
附图说明
为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
图1为依据本发明一实施例的功能模块的共享方法的示例性流程图;
图2为依据本发明另一实施例的功能模块的共享方法的示例性流程图;
图3为依据本发明又一实施例的功能模块的共享方法的示例性流程图;
图4a为依据本发明一实施例的功能模块的共享方法的交互流程图;
图4b为依据本发明另一实施例的功能模块的共享方法的交互流程图;
图5为依据本发明又一实施例的功能模块的共享方法的交互流程图;
图6为依据本发明一实施例的客户端的结构示意图;
图7为依据本发明另一实施例的客户端的结构示意图;
图8为依据本发明一实施例的客户端的结构示意图;
图9为依据本发明另一实施例的客户端的结构示意图;
图10为依据本发明一实施例的客户端的结构示意图;
图11为依据本发明另一实施例的客户端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中,功能模块是指可实现一特定功能的软件模块,可以是一行代码、一个函数、一个类或者一个程序包,包括依附于主程序的扩展插件等形式。在终端设备上安装有多个客户端,根据本发明的各个实施例,多个客户端之间可以共享某一功能模块。例如,在多个浏览器的客户端之间共享一个打开网页的功能模块。又如,在多个即时通讯的客户端之间共享一个更换皮肤的功能模块。
图1为依据本发明一实施例的功能模块的共享方法的示例性流程图。该方法应用于终端设备上的第一客户端,该第一客户端作为请求方,向第二客户端请求获取一待安装的功能模块。如图1所示,该方法可包括如下步骤:
步骤101,确定自身的待安装功能模块。
第一客户端在运行后,确定需要安装某个功能模块。例如,用户在使用第一客户端时,发起需要实现某个功能的需求,此时,第一客户端接收用户输入的操作,确定出要实现的功能,根据该功能确定出上述待安装功能模块。例如,用户在使用一即时通讯软件时,希望打开一网页,此时发起打开网页的需求。响应于用户操作,第一客户端确定自身需要安装一个可打开网页的功能模块。
步骤102,向终端设备上已安装的至少一个第二客户端发送针对待安装功能模块的查询请求消息,并从至少一个第二客户端接收查询响应消息。
本步骤中,第一客户端可以直接向至少一个第二客户端发送查询请求消息;或者,第一客户端通过操作系统将查询请求消息转发给至少一个第二客户端。
每个第二客户端在运行后,在自身的目录下存储有所有功能模块的安装文件以及每个功能模块的属性信息。在接收到查询请求消息后,根据请求的待安装功能模块,在自身的目录下查找是否也存在相同的功能模块。若有,则返回指示已安装的查询响应消息;否则,返回指示未安装的查询响应消息。
步骤103,当从一第二客户端接收的查询响应消息指示已安装待安装功能模块时,从该第二客户端读取待安装功能模块的安装文件。
在一实施例中,当接收到的多个查询响应消息分别指示一第二客户端已安装待安装功能模块时,第一客户端可以从该多个查询响应消息中任意选择一查询响应消息,从发送该查询响应消息的第二客户端处读取待安装功能模块的安装文件。
在另一实施例中,查询响应消息携带有之前将待安装功能模块的安装文件的权限设置为可读的次数,当接收到的多个查询响应消息分别指示一第二客户端已安装待安装功能模块时,第一客户端可以根据每个查询响应消息携带的次数对该多个查询响应消息进行排序,确定最大次数对应消息的查询响应消息,从发送该查询响应消息的第二客户端处读取待安装功能模块的安装文件。
此外,在查询响应消息中携带有安装文件的读取地址,例如该安装文件在终端设备上的存储路径,这样第一客户端根据该地址从第二客户端处读取待安装功能模块的安装文件,将该安装文件写入自身的安装目录下,供后续使用该功能模块。
在本实施例中,第一客户端通过向终端设备上已安装的至少一个第二客户端发送针对待安装功能模块的查询请求消息,并从至少一个第二客户端接收查询响应消息,当从一第二客户端接收的查询响应消息指示已安装待安装功能模块时,从该第二客户端读取待安装功能模块的安装文件,实现了多个客户端之间可以互相查询以及共享功能模块,无需用户安装第三方客户端来获取待安装的功能模块,避免了网络下载以及用户操作,可以在无用户感知的情况下完成安装,因此,提升了获取待安装功能模块的时间效率,降低了所需占用的资源,提高了多个客户端所在终端设备的资源利用率。
图2为依据本发明另一实施例的功能模块的共享方法的示例性流程图。该方法应用于终端设备上的第一客户端,此方法中,该第一客户端也是作为请求方,向第二客户端请求获取待安装功能模块。如图2所示,该方法可包括如下步骤:
步骤201,确定自身的待安装功能模块,获取待安装功能模块的属性信息。
在确定出待安装功能模块后,第一客户端获取待安装功能模块的属性信息。例如,该属性信息包括待安装功能模块的功能简述、版本号、渠道号、签名等多个信息项。获取的方式包括以下两种:
方式一,从多个客户端的公共文件处获取
具体为,预先设置多个客户端之间进行通信的公共接口和针对功能模块的公共文件。这样,每个客户端在安装完所有的功能模块后将每个功能模块的属性信息写入该公共文件。然后,第一客户端通过公共接口获取该公共文件,读取该公共文件来获得待安装功能模块的属性信息。
方式二,从操作系统处获取
具体为,在终端设备上安装完每个客户端后,操作系统会记录每个客户端的功能模块的属性信息,写入一信息描述文件。这样,第一客户端通过操作系统的应用程序接口读取该信息描述文件,从而获取待安装功能模块的属性信息。
步骤202,向终端设备上已安装的至少一个第二客户端发送针对待安装功能模块的查询请求消息,并从至少一个第二客户端接收查询响应消息。
查询请求消息中可以携带有待安装功能模块的属性信息。当属性信息包括多个信息项时,可以将这多个信息项进行打包。这样,第二客户端将该属性信息与自身已安装的至少一个功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息相匹配时,则确定已安装待安装功能模块,并且将待安装功能模块的安装文件的权限设置为可读。
步骤203,判断接收到的查询响应消息中是否有一查询响应消息指示已安装待安装功能模块。若是,执行步骤204;否则,在预定时间段之后返回执行步骤202。
步骤204,确定指示已安装待安装功能模块的一查询响应消息所对应的第二客户端。
参照步骤103,当接收到多个查询响应消息指示已安装待安装功能模块时,可以按照预设的筛选策略选择一个查询响应消息,例如,随机选择,或者根据该待安装功能模块在第二客户端中的历史读取次数进行选择。
步骤205,从该第二客户端读取待安装功能模块的安装文件,写入自身的安装目录下,并向该第二客户端发送确认消息,以使该第二客户端根据确认消息将待安装功能模块的安装文件的权限重新设置为不可读。
图3为依据本发明又一实施例的功能模块的共享方法的示例性流程图。该方法应用于终端设备上的第一客户端,此时第一客户端作为提供方,向第二客户端开放自身已安装的功能模块。如图3所示,该方法可包括如下步骤:
步骤301,从终端设备上已安装的第二客户端接收针对待安装功能模块的查询请求消息。
步骤302,根据查询请求消息判断自身是否已安装待安装功能模块。若是,执行步骤304;否则,执行步骤303。
其中,第一客户端在自身安装一功能模块时,记录该功能模块的属性信息。例如,第一客户端在终端设备上安装并运行后,在其自身的目录下记录下所有功能模块的属性信息。或者,参照图1或者图2所示的方法,当第一客户端从其他客户端处获取到一待安装功能模块后,将该获取到的功能模块属性信息记录下来。
例如,第一客户端根据所记录的属性信息建立功能模块信息表,如下表1所示。在表1中,针对第一客户端中的N个功能模块,记录有每个功能模块的多项属性信息。例如,序号为1的功能模块,其功能是“二维码扫描”,版本号为3.0,渠道号为001,签名为“swetgsgs”。又如,序号为3的功能模块,其功能是“更换皮肤设置”,可以分为春、夏、秋、冬四个版本,此功能模块的版本号为“春季”,签名为“,cxlu%^&”。
表1功能模块信息表
当查询请求消息携带有待安装功能模块的属性信息时,第一客户端将待安装模块的属性信息与自身已安装的功能模块的属性信息进行匹配,当待安装模块的属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装待安装功能模块。这里,匹配的程度与属性信息的信息项有关,完全匹配是指属性信息所有的信息项都相同,部分匹配是指属性信息中至少一个信息项相同。如表1所示,当属性信息中的四项内容“功能简述”、“版本号”、“渠道号”和“签名”中的至少一个匹配时,可以认为是匹配通过。若多个信息项的重要程度不同,则设置每个信息项的优先级,当优先级最高的信息项完全相同时,则认为是匹配通过。
步骤303,向第二客户端返回指示未安装待安装功能模块的查询响应消息。
步骤304,向第二客户端返回指示已安装待安装功能模块的查询响应消息,并将待安装功能模块的安装文件的权限设置为可读,以使第二客户端读取待安装功能模块的安装文件。
此时,第一客户端在查询响应消息中还携带有安装文件的读取地址,以使第二客户端根据该读取地址获得待安装功能模块的安装文件。
步骤305,从第二客户端接收确认消息,根据确认消息将待安装功能模块的安装文件的权限重新设置为不可读。
在本实施例中,第一客户端接收针对待安装功能模块的查询请求消息后,判断自身是否已安装待安装功能模块,当判断出已安装时,向第二客户端返回指示已安装待安装功能模块的查询响应消息,并将待安装功能模块的安装文件的权限设置为可读,以使第二客户端读取待安装功能模块的安装文件,在无用户操作的情况下,将自身的功能模块开放给其他客户端,实现了多个客户端之间功能模块的共享,通过对权限的控制,又保障了自身安装文件的安全性。
图4a为依据本发明一实施例的功能模块的共享方法的交互流程图,包括第一客户端(作为请求方)和至少一个第二客户端(作为提供方),其中,客户端之间可以直接进行通信。具体包括如下步骤:
步骤401,每个客户端预先设置多个客户端之间进行通信的公共接口和针对功能模块的公共文件,并且在自身安装一功能模块时,记录该功能模块的属性信息,并且将该功能模块的属性信息写入公共文件。
多个客户端约定一个公共接口,并且每个客户端在安装完所有的功能模块后将每个功能模块的属性信息写入公共文件,以便于作为请求方的客户端获取待安装模块的属性信息。每个客户端记录的属性信息用于在自身作为提供方时判断是否已安装所请求的待安装功能模块。
步骤402,第一客户端确定自身的待安装功能模块,并通过公共接口从公共文件获取待安装功能模块的属性信息。
步骤403,第一客户端生成携带待安装功能模块的属性信息的查询请求消息。
步骤404,第一客户端向至少一个第二客户端发送查询请求消息。
步骤405,每个第二客户端根据记录的功能模块的属性信息,判断是否已安装待安装功能模块。若是,则执行步骤407;否则,执行步骤406。
步骤406,第二客户端向第一客户端返回指示未安装待安装功能模块的查询响应消息。这样,在预定时间段后,第一客户端将再次执行步骤404。
步骤407,第二客户端将待安装功能模块的安装文件的权限设置为可读。
步骤408,第二客户端向第一客户端返回指示已安装待安装功能模块并携带读取地址的查询响应消息。
步骤409,第一客户端在接收到的至少一个查询响应消息中选择一查询响应消息,并根据读取地址来读取待安装功能模块的安装文件。
步骤410,第一客户端向第二客户端返回确认消息。
步骤411,第二客户端根据确认消息将待安装功能模块的安装文件的权限重新设置为不可读。
图4b为依据本发明另一实施例的功能模块的共享方法的交互流程图,包括至少一个第一客户端和至少一个第二客户端,二者都可以既作为请求方又作为提供方,其中,客户端之间可以直接进行通信。具体包括如下步骤:
步骤421,一第一客户端确定自身的第一待安装功能模块。
为了便于区分,在步骤421-424中第一客户端作为请求方时要请求的待安装功能模块称为第一待安装功能模块;在步骤425-431中作为提供方时要提供的待安装功能模块称为第二待安装功能模块。
步骤422,该第一客户端分别向至少一个第二客户端发送针对第一待安装功能模块的第一查询请求消息。
步骤423,至少一个第二客户端分别向该第一客户端返回第一查询响应消息。
步骤424,当从一第二客户端接收的第一查询响应消息指示已安装第一待安装功能模块时,从该第二客户端读取第一待安装功能模块的安装文件。
该第一客户端从接收到的多个第一查询响应消息中,选择一个指示已安装第一待安装功能模块的第一查询响应消息,然后从该第一查询响应消息对应的第二客户端处读取第一待安装功能模块的安装文件。
步骤425,一第二客户端向至少一个第一客户端发送针对第二待安装功能模块的第二查询请求消息。
此时,该第二客户端作为请求方,第一客户端作为提供方。
步骤426,每个第一客户端在自身安装一功能模块时,记录该功能模块的属性信息,根据第二查询请求消息确定自身是否已安装第二待安装功能模块。
本步骤中,第二查询请求消息携带有第二待安装功能模块的属性信息,第一客户端将属性信息与自身已安装的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装第二待安装功能模块。
步骤427,每个第一客户端向该第二客户端返回第二查询响应消息。
步骤428,当第二查询响应消息指示已安装第二待安装功能模块时,第一客户端将第二待安装功能模块的安装文件的权限设置为可读。
步骤429,该第二客户端从步骤428中的第一客户端处读取第二待安装功能模块的安装文件。
步骤430,该第二客户端向该第一客户端返回第二确认消息。
步骤431,该第一客户端根据第二确认消息将第二待安装功能模块的安装文件的权限重新设置为不可读。
图5为依据本发明又一实施例的功能模块的共享方法的交互流程图,包括第一客户端(作为请求方)、至少一个第二客户端(作为提供方)和客户端所基于的操作系统,其中,客户端之间通过操作系统进行通信。具体包括如下步骤:
步骤500,操作系统记录每个客户端已安装的功能模块的属性信息。
在终端设备上安装完每个客户端后,操作系统会记录每个客户端的功能模块的属性信息,写入一信息描述文件。
步骤501,第一客户端在自身安装一功能模块时,记录该功能模块的属性信息。
步骤501,每个第二客户端在自身安装一功能模块时,记录该功能模块的属性信息。
每个客户端自身记录的属性信息,用于在接收到其他客户端发来的查询请求消息时判断是否已安装所请求的功能模块。
步骤502,第一客户端确定自身的待安装功能模块,并从操作系统获取待安装功能模块的属性信息。
第一客户端读取操作系统中的信息描述文件获取待安装功能模块的属性信息。
步骤503,第一客户端生成携带待安装功能模块的属性信息的查询请求消息。
步骤504,第一客户端向操作系统发送查询请求消息。
步骤505,操作系统调用传输函数将查询请求消息转发给至少一个第二客户端。
例如,操作系统调用SendMessage函数或者PostMessage函数进行转发。
步骤506,每个第二客户端根据记录的功能模块的属性信息,判断是否已安装待安装功能模块。若是,则执行步骤509;否则,执行步骤507。
步骤507,第二客户端向操作系统发送指示未安装待安装功能模块的查询响应消息。
步骤508,操作系统调用传输函数将查询响应消息转发给第一客户端。
这样,在预定时间段后,第一客户端将再次执行步骤504。
步骤509,第二客户端将待安装功能模块的安装文件的权限设置为可读。
步骤510,第二客户端向操作系统发送指示已安装待安装功能模块并携带读取地址的查询响应消息。
步骤511,操作系统调用传输函数将查询响应消息转发给第一客户端。
步骤512,第一客户端在接收到的至少一个查询响应消息中选择一查询响应消息,并根据读取地址来读取待安装功能模块的安装文件。
步骤513,第一客户端向操作系统发送确认消息。
步骤514,操作系统调用传输函数将确认消息转发给第二客户端。
步骤515,第二客户端将待安装功能模块的安装文件的权限重新设置为不可读。
图6为依据本发明一实施例的客户端的结构示意图,该客户端600的功能对应上述方法实施例中作为请求方的第一客户端。如图6所示,客户端600包括:
确定单元610,用于确定自身的待安装功能模块;
发送单元620,用于向终端设备上已安装的至少一个第二客户端发送针对确定单元610确定的待安装功能模块的查询请求消息;
接收单元630,用于从至少一个第二客户端接收查询响应消息;及,
读取单元640,用于当从一第二客户端接收的查询响应消息指示已安装待安装功能模块时,从该第二客户端读取待安装功能模块的安装文件。
在一实施例中,客户端600还包括:
获取单元650,用于获取确定单元610确定的待安装功能模块的属性信息;
其中,发送单元620发送的查询请求消息携带有获取单元650获取的属性信息,以使至少一个第二客户端将属性信息与自身已安装的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装待安装功能模块,并且将待安装功能模块的安装文件的权限设置为可读。
在一实施例中,获取单元650用于,预先设置多个客户端之间进行通信的公共接口和针对功能模块的公共文件,通过公共接口从公共文件获取属性信息;或者,通过操作系统的应用程序接口从操作系统获取属性信息。
在一实施例中,发送单元620进一步用于,向该第二客户端发送确认消息,以使该第二客户端根据确认消息将待安装功能模块的安装文件的权限重新设置为不可读。
在一实施例中,当接收到的多个查询响应消息分别指示一第二客户端已安装待安装功能模块时,读取单元640用于,从该多个查询响应消息中任意选择一查询响应消息,从发送该查询响应消息的第二客户端处读取待安装功能模块的安装文件。
在一实施例中,查询响应消息携带有之前将待安装功能模块的安装文件的权限设置为可读的次数,当接收到的多个查询响应消息分别指示一第二客户端已安装待安装功能模块时,读取单元640用于,根据每个查询响应消息携带的次数对该多个查询响应消息进行排序,确定最大次数对应消息的查询响应消息,从发送该查询响应消息的第二客户端处读取待安装功能模块的安装文件。
与图6相对应,图7为依据本发明另一实施例的客户端的结构示意图。如图7所示,客户端700可包括:处理器710、存储器720、端口730以及总线740。处理器710和存储器720通过总线740互联。处理器710可通过端口730接收和发送数据。其中,
处理器710用于执行存储器720存储的机器可读指令模块。
存储器720存储有处理器710可执行的机器可读指令模块。处理器710可执行的指令模块包括:确定单元721、发送单元722、接收单元723和读取单元724。其中,
确定单元721被处理器710执行时可以为:确定自身的待安装功能模块;
发送单元722被处理器710执行时可以为:向终端设备上已安装的至少一个第二客户端发送针对确定单元721确定的待安装功能模块的查询请求消息;
接收单元723被处理器710执行时可以为:从至少一个第二客户端接收查询响应消息;
读取单元724被处理器710执行时可以为:当从一第二客户端接收的查询响应消息指示已安装待安装功能模块时,从该第二客户端读取待安装功能模块的安装文件。
在一实施例中,指令模块还包括:获取单元725。其中,
获取单元725被处理器710执行时可以为:获取确定单元721确定的待安装功能模块的属性信息;
其中,发送单元722发送的查询请求消息携带有获取单元725获取的属性信息,以使至少一个第二客户端将属性信息与自身已安装的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装待安装功能模块,并且将待安装功能模块的安装文件的权限设置为可读。
由此可以看出,当存储在存储器720中的指令模块被处理器710执行时,可实现前述各个实施例中确定单元、发送单元、接收单元、读取单元和获取单元的各种功能。
图8为依据本发明一实施例的客户端的结构示意图,该客户端800的功能对应上述方法实施例中作为提供方的第二客户端,相应地,本实施例中的第二客户端则是指作为请求方的客户端。如图8所示,客户端800包括:
接收单元810,用于从终端设备上已安装的第二客户端接收针对待安装功能模块的查询请求消息;
确定单元820,用于根据接收单元810接收的查询请求消息确定自身是否已安装待安装功能模块;
发送单元830,用于根据确定单元820确定的结果,向第二客户端返回查询响应消息;
设置单元840,用于当发送单元830发送的查询响应消息指示已安装待安装功能模块时,将待安装功能模块的安装文件的权限设置为可读,以使第二客户端读取待安装功能模块的安装文件。
在一实施例中,客户端800还包括:
记录单元850,用于在自身安装一功能模块时,记录该功能模块的属性信息;
其中,查询请求消息携带有待安装功能模块的属性信息,确定单元820用于,将属性信息与自身已安装的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装待安装功能模块。
在一实施例中,接收单元810进一步用于,从第二客户端接收确认消息;
设置单元840进一步用于,根据确认消息将待安装功能模块的安装文件的权限重新设置为不可读。
与图8相对应,图9为依据本发明另一实施例的客户端的结构示意图。如图9所示,客户端900可包括:处理器910、存储器920、端口930以及总线940。处理器910和存储器920通过总线940互联。处理器910可通过端口930接收和发送数据。其中,
处理器910用于执行存储器920存储的机器可读指令模块。
存储器920存储有处理器910可执行的机器可读指令模块。处理器910可执行的指令模块包括:接收单元921、确定单元922、发送单元923和设置单元924。其中,
接收单元921被处理器910执行时可以为:从终端设备上已安装的第二客户端接收针对待安装功能模块的查询请求消息;
确定单元922被处理器910执行时可以为:根据接收单元921接收的查询请求消息确定自身是否已安装待安装功能模块;
发送单元923被处理器910执行时可以为:根据确定单元922确定的结果,向第二客户端返回查询响应消息;
设置单元924被处理器910执行时可以为:当发送单元923发送的查询响应消息指示已安装待安装功能模块时,将待安装功能模块的安装文件的权限设置为可读,以使第二客户端读取待安装功能模块的安装文件。
在一实施例中,指令模块还包括:记录单元925。其中,
记录单元925被处理器910执行时可以为:在自身安装一功能模块时,记录该功能模块的属性信息;
其中,查询请求消息携带有待安装功能模块的属性信息,确定单元922用于,将属性信息与自身已安装的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装待安装功能模块。
由此可以看出,当存储在存储器920中的指令模块被处理器910执行时,可实现前述各个实施例中接收单元、确定单元、发送单元、设置单元和记录单元的各种功能。
图10为依据本发明一实施例的客户端的结构示意图,该客户端既可以作为请求方也可以作为提供方。在图6所示的客户端600的基础之上,客户端1000还包括设置单元660和确定单元670。
在一实施例中,接收单元630进一步用于,从一第二客户端接收针对第二待安装功能模块的第二查询请求消息;
确定单元610进一步用于,根据接收单元630接收的第二查询请求消息确定自身是否已安装第二待安装功能模块;
发送单元620进一步用于,根据确定单元610确定的结果,向该第二客户端返回第二查询响应消息;
设置单元660,用于当发送单元620发送的第二查询响应消息指示已安装第二待安装功能模块时,将第二待安装功能模块的安装文件的权限设置为可读,以使该第二客户端读取第二待安装功能模块的安装文件。
在一实施例中,记录单元670,用于在自身安装一功能模块时,记录该功能模块的属性信息;
其中,第二查询请求消息携带有第二待安装功能模块的属性信息,确定单元610用于,将属性信息与记录单元670记录的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装第二待安装功能模块。
在一实施例中,接收单元630进一步用于,从该第二客户端接收第二确认消息;
设置单元660进一步用于,根据第二确认消息将第二待安装功能模块的安装文件的权限重新设置为不可读。
与图10相对应,图11为依据本发明又一实施例的客户端的结构示意图,该客户端既可以作为请求方也可以作为提供方。客户端1100可包括:处理器1110、存储器1120、端口1130以及总线1140。处理器1110和存储器1120通过总线1140互联。处理器1110可通过端口1130接收和发送数据。其中,
处理器1110用于执行存储器1120存储的机器可读指令模块。
存储器1120存储有处理器1110可执行的机器可读指令模块。在图7所示的客户端700的基础之上,处理器1110可执行的指令模块包括:确定单元721、发送单元722、接收单元723、读取单元724、获取单元725、设置单元726和记录单元727。
在一实施例中,接收单元723被处理器1110执行时进一步可以为:从一第二客户端接收针对第二待安装功能模块的第二查询请求消息;
确定单元721被处理器1110执行时进一步可以为:根据接收单元723接收的第二查询请求消息确定自身是否已安装第二待安装功能模块;
发送单元722被处理器1110执行时进一步可以为:根据确定单元721确定的结果,向该第二客户端返回第二查询响应消息;
设置单元726被处理器1110执行时可以为:当发送单元722发送的第二查询响应消息指示已安装第二待安装功能模块时,将第二待安装功能模块的安装文件的权限设置为可读,以使该第二客户端读取第二待安装功能模块的安装文件。
在一实施例中,记录单元727被处理器1110执行时可以为:在自身安装一功能模块时,记录该功能模块的属性信息;
其中,第二查询请求消息携带有第二待安装功能模块的属性信息,确定单元721被处理器1110执行时可以为:将属性信息与记录单元727记录的功能模块的属性信息进行匹配,当属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装第二待安装功能模块。
上述装置和系统实施例中,各个单元实现自身功能的具体方法在方法实施例中均有描述,这里不再赘述。
另外,在本发明各个实施例中的各个单元可以集成在一个处理单元中,也可以单独物理存在,也可以两个或两个以上的单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
另外,本发明的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (17)
1.一种功能模块的共享方法,其特征在于,应用于终端设备上的第一客户端,所述方法包括:
确定自身的待安装功能模块;
向所述终端设备上已安装的至少一个第二客户端发送针对所述待安装功能模块的查询请求消息,并从所述至少一个第二客户端接收查询响应消息;及,
当从一第二客户端接收的查询响应消息指示已安装所述待安装功能模块时,从该第二客户端读取所述待安装功能模块的安装文件。
2.根据权利要求1所述的方法,还包括:
获取所述待安装功能模块的属性信息;
其中,所述查询请求消息携带有所述属性信息,以使所述至少一个第二客户端将所述属性信息与自身已安装的功能模块的属性信息进行匹配,当所述属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装所述待安装功能模块,并且将所述待安装功能模块的安装文件的权限设置为可读。
3.根据权利要求2所述的方法,其中,所述获取所述待安装功能模块的属性信息包括:
预先设置多个客户端之间进行通信的公共接口和针对功能模块的公共文件;
通过所述公共接口从所述公共文件获取所述属性信息;或者,
通过操作系统的应用程序接口从所述操作系统获取所述属性信息。
4.根据权利要求2所述的方法,还包括:
向该第二客户端发送确认消息,以使该第二客户端根据所述确认消息将所述待安装功能模块的安装文件的权限重新设置为不可读。
5.根据权利要求1所述的方法,其中,当接收到的多个查询响应消息分别指示一第二客户端已安装所述待安装功能模块时,所述从该第二客户端读取所述待安装功能模块的安装文件包括:
从该多个查询响应消息中任意选择一查询响应消息,从发送该查询响应消息的第二客户端处读取所述待安装功能模块的安装文件。
6.根据权利要求1所述的方法,其中,所述查询响应消息携带有之前将所述待安装功能模块的安装文件的权限设置为可读的次数,当接收到的多个查询响应消息分别指示一第二客户端已安装所述待安装功能模块时,所述从该第二客户端读取所述待安装功能模块的安装文件包括:
根据每个查询响应消息携带的次数对该多个查询响应消息进行排序,确定最大次数对应消息的查询响应消息,从发送该查询响应消息的第二客户端处读取所述待安装功能模块的安装文件。
7.根据权利要求1至6中任一项所述的方法,其中,所述向至少一个第二客户端发送指示是否已安装所述待安装功能模块的查询请求消息包括:
直接向所述至少一个第二客户端发送所述查询请求消息;或者,
通过操作系统将所述查询请求消息转发给所述至少一个第二客户端。
8.根据权利要求1所述的方法,还包括:
从一第二客户端接收针对第二待安装功能模块的第二查询请求消息;
根据所述第二查询请求消息确定自身是否已安装所述第二待安装功能模块,并向该第二客户端返回第二查询响应消息;
当所述第二查询响应消息指示已安装所述第二待安装功能模块时,将所述第二待安装功能模块的安装文件的权限设置为可读,以使该第二客户端读取所述第二待安装功能模块的安装文件。
9.根据权利要求8所述的方法,还包括:
在自身安装一功能模块时,记录该功能模块的属性信息;
所述第二查询请求消息携带有所述第二待安装功能模块的属性信息,所述根据所述第二查询请求消息确定自身是否已安装所述第二待安装功能模块包括:
将所述属性信息与自身已安装的功能模块的属性信息进行匹配,当所述属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装所述第二待安装功能模块。
10.根据权利要求8所述的方法,还包括:
从该第二客户端接收第二确认消息;
根据所述第二确认消息将所述第二待安装功能模块的安装文件的权限重新设置为不可读。
11.一种客户端,其特征在于,位于终端设备上,所述客户端包括:
确定单元,用于确定自身的待安装功能模块;
发送单元,用于向所述终端设备上已安装的至少一个第二客户端发送针对所述确定单元确定的待安装功能模块的查询请求消息;
接收单元,用于从所述至少一个第二客户端接收查询响应消息;及,
读取单元,用于当从一第二客户端接收的查询响应消息指示已安装所述待安装功能模块时,从该第二客户端读取所述待安装功能模块的安装文件。
12.根据权利要求11所述的客户端,还包括:
获取单元,用于获取所述确定单元确定的待安装功能模块的属性信息;
其中,所述发送单元发送的查询请求消息携带有所述获取单元获取的属性信息,以使所述至少一个第二客户端将所述属性信息与自身已安装的功能模块的属性信息进行匹配,当所述属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装所述待安装功能模块,并且将所述待安装功能模块的安装文件的权限设置为可读。
13.根据权利要求12所述的客户端,其中,所述获取单元用于,预先设置多个客户端之间进行通信的公共接口和针对功能模块的公共文件,通过所述公共接口从所述公共文件获取所述属性信息;或者,通过操作系统的应用程序接口从所述操作系统获取所述属性信息。
14.根据权利要求11所述的客户端,其中,所述查询响应消息携带有之前将所述待安装功能模块的安装文件的权限设置为可读的次数,当接收到的多个查询响应消息分别指示一第二客户端已安装所述待安装功能模块时,所述读取单元用于,根据每个查询响应消息携带的次数对该多个查询响应消息进行排序,确定最大次数对应消息的查询响应消息,从发送该查询响应消息的第二客户端处读取所述待安装功能模块的安装文件。
15.根据权利要求11所述的客户端,其中,
所述接收单元进一步用于,从一第二客户端接收针对第二待安装功能模块的第二查询请求消息;
所述确定单元进一步用于,根据所述接收单元接收的第二查询请求消息确定自身是否已安装所述第二待安装功能模块;
所述发送单元进一步用于,根据所述确定单元确定的结果,向该第二客户端返回第二查询响应消息;
所述客户端进一步包括:设置单元,用于当所述发送单元发送的第二查询响应消息指示已安装所述第二待安装功能模块时,将所述第二待安装功能模块的安装文件的权限设置为可读,以使该第二客户端读取所述第二待安装功能模块的安装文件。
16.根据权利要求15所述的客户端,还包括:记录单元,用于在自身安装一功能模块时,记录该功能模块的属性信息;
其中,所述第二查询请求消息携带有所述第二待安装功能模块的属性信息,所述确定单元用于,将所述属性信息与所述记录单元记录的功能模块的属性信息进行匹配,当所述属性信息与自身已安装的一功能模块的属性信息匹配时,则确定已安装所述第二待安装功能模块。
17.根据权利要求15所述的客户端,其中,所述接收单元进一步用于,从该第二客户端接收第二确认消息;
所示设置单元进一步用于,根据所述第二确认消息将所述第二待安装功能模块的安装文件的权限重新设置为不可读。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610685380.6A CN107766093B (zh) | 2016-08-18 | 2016-08-18 | 一种功能模块的共享方法及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610685380.6A CN107766093B (zh) | 2016-08-18 | 2016-08-18 | 一种功能模块的共享方法及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766093A true CN107766093A (zh) | 2018-03-06 |
CN107766093B CN107766093B (zh) | 2021-04-23 |
Family
ID=61262525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610685380.6A Active CN107766093B (zh) | 2016-08-18 | 2016-08-18 | 一种功能模块的共享方法及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766093B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783092A (zh) * | 2019-01-04 | 2019-05-21 | 珠海天燕科技有限公司 | 一种应用程序安装方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184927A1 (en) * | 2005-02-14 | 2006-08-17 | Joe Deblaquiere | Software certification and update process |
CN101610226A (zh) * | 2009-07-17 | 2009-12-23 | 阿里巴巴集团控股有限公司 | 一种插件下载的方法和系统 |
US20110126192A1 (en) * | 2009-10-26 | 2011-05-26 | Simon Frost | Systems and methods for providing and updating a unified client |
CN102790753A (zh) * | 2011-05-20 | 2012-11-21 | 腾讯科技(深圳)有限公司 | 一种查询即时通讯客户端能力信息的方法及装置 |
CN104615623A (zh) * | 2014-07-17 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种获取网络资源的方法和装置 |
CN104965722A (zh) * | 2014-07-29 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种显示信息的方法及装置 |
CN105068819A (zh) * | 2015-09-10 | 2015-11-18 | 北京金山安全软件有限公司 | 一种应用程序的调用方法、装置及终端 |
-
2016
- 2016-08-18 CN CN201610685380.6A patent/CN107766093B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184927A1 (en) * | 2005-02-14 | 2006-08-17 | Joe Deblaquiere | Software certification and update process |
CN101610226A (zh) * | 2009-07-17 | 2009-12-23 | 阿里巴巴集团控股有限公司 | 一种插件下载的方法和系统 |
US20110126192A1 (en) * | 2009-10-26 | 2011-05-26 | Simon Frost | Systems and methods for providing and updating a unified client |
CN102790753A (zh) * | 2011-05-20 | 2012-11-21 | 腾讯科技(深圳)有限公司 | 一种查询即时通讯客户端能力信息的方法及装置 |
CN104615623A (zh) * | 2014-07-17 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种获取网络资源的方法和装置 |
CN104965722A (zh) * | 2014-07-29 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 一种显示信息的方法及装置 |
CN105068819A (zh) * | 2015-09-10 | 2015-11-18 | 北京金山安全软件有限公司 | 一种应用程序的调用方法、装置及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783092A (zh) * | 2019-01-04 | 2019-05-21 | 珠海天燕科技有限公司 | 一种应用程序安装方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107766093B (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880287B2 (en) | Out of box experience application API integration | |
US7412447B2 (en) | Remote file management using shared credentials for remote clients outside firewall | |
EP3203709B1 (en) | Cloud service server and method for managing cloud service server | |
KR101618879B1 (ko) | 사용자 장치를 통한 아이템들의 소비 | |
TW424185B (en) | Named bookmark sets | |
CN102682080B (zh) | cookie信息共享方法及系统 | |
US8484316B2 (en) | Methods and apparatus for providing access to content | |
CN101771676B (zh) | 一种跨域授权的设置、鉴权方法、相关装置及系统 | |
US9912747B2 (en) | Browser and system for download and download method | |
WO2016099809A1 (en) | No password user account access | |
CN102857484A (zh) | 一种实现单点登录的方法、系统及装置 | |
CN106970978A (zh) | 数据共享方法及装置 | |
EP2237184A2 (en) | Automatic license key injection | |
EP2518972A1 (en) | System and method for device addressing | |
US9471896B2 (en) | Memo synchronization system, mobile system, and method for synchronizing memo data | |
WO2016025756A1 (en) | Form filling method and related terminal | |
US9876776B2 (en) | Methods for generating and publishing a web site based on selected items and devices thereof | |
CN111034149A (zh) | 基于区块链的单一id服务的系统及方法 | |
CN106254528A (zh) | 一种资源下载方法和缓存设备 | |
CN109274705A (zh) | 基于用户身份的服务提供方法、装置及系统 | |
CN106156190B (zh) | 一种数据推送方法及装置 | |
JP2015028744A (ja) | リソースのアクセスを制御するための機器、方法およびその非一時的なコンピュータ可読記憶媒体 | |
CN102567037B (zh) | 实现桌面素材定时更新的方法 | |
CN107766093A (zh) | 一种功能模块的共享方法及客户端 | |
CN110008186A (zh) | 针对多ftp数据源的文件管理方法、装置、终端和介质 |
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 |