CN102929672B - Application upgrade system and method - Google Patents
Application upgrade system and method Download PDFInfo
- Publication number
- CN102929672B CN102929672B CN201210428816.5A CN201210428816A CN102929672B CN 102929672 B CN102929672 B CN 102929672B CN 201210428816 A CN201210428816 A CN 201210428816A CN 102929672 B CN102929672 B CN 102929672B
- Authority
- CN
- China
- Prior art keywords
- application
- information
- client
- server
- list
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
Description
技术领域 technical field
本发明涉及计算机技术领域,尤其涉及一种应用升级系统及方法。The present invention relates to the field of computer technology, in particular to an application upgrading system and method.
背景技术 Background technique
客户端安装的应用在获取升级信息时,一般会把所有安装应用的版本信息发给服务器,服务器会查询自己的数据库,返回给客户端可以进行升级操作的应用列表;When the application installed by the client obtains the upgrade information, it will generally send the version information of all installed applications to the server, and the server will query its own database and return to the client a list of applications that can be upgraded;
服务器获取应用最新版本基本信息的一种方法是利用爬虫,通过网页或者接口到各个第三方市场爬取;One method for the server to obtain the basic information of the latest version of the application is to use crawlers to crawl to various third-party markets through web pages or interfaces;
但是一般的爬虫方案实时性都不够,某些应用的新版本发布后,在爬虫爬取到新的版本信息前,服务器的数据库都不会更新,这意味着客户端不会有更新提示,用户也不能第一时间获取最新版本;对于一些用户急需要的热门应用,从新版本发布到被爬虫抓取,时间是无法控制的,可能会滞后很长一段时间,因此需要将应用的安装量作为调整爬虫爬取频率的一个参数,使得服务器数据库中热门应用具有更加合适的更新频率。However, the real-time performance of general crawler solutions is not enough. After the new version of some applications is released, the database of the server will not be updated before the crawler crawls the new version information, which means that the client will not have an update prompt. It is also impossible to obtain the latest version at the first time; for some popular applications that users urgently need, the time from the release of the new version to being crawled by crawlers is uncontrollable, and may lag for a long time, so the installation amount of the application needs to be adjusted. A parameter of the crawling frequency of the crawler, so that the popular applications in the server database have a more appropriate update frequency.
发明内容 Contents of the invention
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用升级系统和相应的应用升级方法。In view of the above problems, the present invention is proposed to provide an application upgrading system and a corresponding application upgrading method that overcome the above problems or at least partially solve the above problems.
依据本发明的一个方面,提供了一种应用升级系统,包括:客户端、第三方服务器以及服务器,According to one aspect of the present invention, an application upgrade system is provided, including: a client, a third-party server, and a server,
所述客户端,适于向所述服务器的输入接口发送用户查询应用升级的请求;The client is adapted to send a user inquiry request for application upgrade to the input interface of the server;
所述第三方服务器,适于供所述服务器的信息抓取器抓取应用的最新版本的应用信息;The third-party server is suitable for the information grabber of the server to grab the application information of the latest version of the application;
所述服务器,适于将用户查询应用升级的请求中携带的客户端应用的应用信息列表与其存储的应用信息进行对比,生成可升级应用信息,并且计算各应用在客户端的安装量并据此调整信息抓取器抓取所述应用信息的频率。The server is adapted to compare the application information list of the client application carried in the application upgrade request of the user with its stored application information, generate upgradeable application information, and calculate the installation amount of each application on the client and adjust accordingly The frequency at which the information grabber grabs the application information.
可选地,所述服务器包括:Optionally, the server includes:
数据库,适于存储一个或多个应用的版本信息;a database adapted to store version information of one or more applications;
输入接口,适于接收客户端发来的用户查询应用升级的请求并将所述请求转发给处理器和安装量计数器,所述请求携带客户端安装应用的应用信息列表;The input interface is adapted to receive a user inquiry application upgrade request from the client and forward the request to the processor and the installation volume counter, the request carrying an application information list of the application installed by the client;
处理器,适于接收所述请求,并将所述应用信息列表中记录的应用信息和数据库中记录的应用信息进行对比,生成可升级应用信息发送到输出接口;The processor is adapted to receive the request, compare the application information recorded in the application information list with the application information recorded in the database, generate upgradable application information and send it to the output interface;
输出接口,适于接收所述可升级应用信息并返回给客户端;an output interface adapted to receive the upgradable application information and return it to the client;
安装量计数器,适于根据所述请求携带的所述应用信息列表中记录的应用信息计算各应用在客户端的安装量并将计算结果发送至频率调整器;The installation amount counter is adapted to calculate the installation amount of each application on the client according to the application information recorded in the application information list carried in the request and send the calculation result to the frequency adjuster;
频率调整器,适于接收所述应用安装量计数器发送的计算结果,并根据所述计算结果中各应用的安装量调整信息抓取器到第三方服务器抓取所述应用信息的频率;The frequency adjuster is adapted to receive the calculation result sent by the application installation volume counter, and adjust the frequency of the information grabber to capture the application information from the third-party server according to the installation volume of each application in the calculation result;
信息抓取器,适于根据所述频率调整器调整的频率到第三方服务器抓取各应用的最新版本的应用信息并发送给数据库;The information grabber is adapted to grab the application information of the latest version of each application from a third-party server according to the frequency adjusted by the frequency adjuster and send it to the database;
所述数据库,还适于根据所述应用最新版本的应用信息来更新相应应用的存储信息。The database is further adapted to update the storage information of the corresponding application according to the application information of the latest version of the application.
可选地,所述应用信息包括应用的版本信息、以及名称信息和/或id信息;Optionally, the application information includes application version information, and name information and/or id information;
所述处理器根据所述应用信息列表中应用的名称信息和/或id信息获取所述数据库中相应应用的版本信息,将所述应用信息列表和数据库中相应应用的版本信息进行对比后,筛选出所述应用信息列表的版本信息低于所述数据库中对应应用的版本信息的应用,生成可升级应用信息。The processor obtains the version information of the corresponding application in the database according to the name information and/or id information of the application in the application information list, compares the version information of the corresponding application in the application information list with the database, and filters The application whose version information in the application information list is lower than the version information of the corresponding application in the database is selected, and upgradeable application information is generated.
可选地,所述频率调整器在应用安装量越大时,对该应用的抓取频率越高。Optionally, the frequency adjuster crawls the application more frequently when the installation amount of the application is larger.
可选地,所述安装量为设定时间段内访问服务器的各客户端所安装的各应用的数量。Optionally, the installation amount is the number of applications installed by each client accessing the server within a set time period.
可选地,所述安装量为设定时间段内第一次访问服务器的各客户端所安装的各应用的数量。Optionally, the installation amount is the number of applications installed by each client accessing the server for the first time within a set period of time.
可选地,所述安装量计数器包括:Optionally, the installation volume counter includes:
活跃用户存储器,适于存储在所述设定时间段内已访问服务器的客户端的信息;Active user storage, suitable for storing information of clients who have accessed the server within the set time period;
分析器,适于判断发出请求的客户端的信息是否已经存在于所述活跃用户存储器中:An analyzer adapted to determine whether the requesting client's information already exists in said active user memory:
如果没有,则将所述收到的客户端的信息存入所述活跃用户存储器中,并且将该客户端所有安装的应用对应的安装量加一,并将计算结果发送至所述频率调整器;If not, then store the received client information in the active user memory, and add one to the installation amount corresponding to all installed applications of the client, and send the calculation result to the frequency adjuster;
如果有,则对应安装量保持不变。If so, the corresponding install volume remains the same.
可选地,所述客户端的信息包括客户端的id信息,所述活跃用户存储器中存储有在所述设定时间段内已访问服务器的客户端的id信息。Optionally, the client information includes client id information, and the active user storage stores id information of clients that have accessed the server within the set time period.
根据本发明的另一方面,提供了一种应用升级方法,包括以下步骤:According to another aspect of the present invention, an application upgrading method is provided, comprising the following steps:
接收客户端发来的用户查询应用升级的请求,所述请求携带客户端安装应用的应用信息列表;receiving a request from the client for user query application upgrade, the request carrying an application information list of the client installed application;
将所述应用信息列表中记录的应用信息和数据库中记录的应用信息进行对比,生成可升级应用信息并返回给客户端;Comparing the application information recorded in the application information list with the application information recorded in the database, generating upgradable application information and returning it to the client;
根据所述应用信息列表中记录的应用信息,计算各应用在客户端的安装量,以及根据安装量对各应用进行排序并保存到建立的应用排序列表中,所述应用排序列表中存储有各应用的安装量排序信息;According to the application information recorded in the application information list, the installation amount of each application on the client is calculated, and each application is sorted according to the installation amount and saved in the established application sorting list, and each application is stored in the application sorting list The ranking information of the installed volume;
根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率;adjusting the frequency of grabbing the application information from the server to the third-party server according to the calculated installation amount of each application on the client;
根据调整后频率到第三方服务器抓取各应用的最新版本的应用信息并更新数据库。According to the adjusted frequency, the application information of the latest version of each application is fetched from the third-party server and the database is updated.
可选地,所述应用信息包括应用的版本信息、以及名称信息和/或id信息。Optionally, the application information includes application version information, name information and/or id information.
可选地,将所述应用信息列表和数据库中记录的应用信息进行对比,生成可升级应用信息的步骤具体为:Optionally, comparing the application information list with the application information recorded in the database, the step of generating upgradable application information is specifically:
根据所述应用信息列表中应用的名称信息和/或id信息获取所述数据库中相应应用的版本信息,将所述应用信息列表和数据库中相应应用的版本信息进行对比后,筛选出所述应用信息列表中版本信息低于所述数据库中对应应用的版本信息的应用,生成可升级应用信息。Obtain the version information of the corresponding application in the database according to the name information and/or id information of the application in the application information list, compare the application information list with the version information of the corresponding application in the database, and filter out the application For applications whose version information in the information list is lower than the version information of the corresponding application in the database, upgradeable application information is generated.
可选地,所述根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率的步骤具体包括:根据各应用的在所述应用排序列表中的排序调整服务器到第三方服务器抓取所述应用信息的频率。Optionally, the step of adjusting the frequency of grabbing the application information from the server to the third-party server according to the calculated installation quantity of each application on the client terminal specifically includes: according to each application in the application ranking list The order adjusts the frequency of grabbing the application information from the server to the third-party server.
可选地,所述根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率的步骤包括:当所述应用的安装量越大时,对该应用的抓取频率越高。Optionally, the step of adjusting the frequency of fetching the application information from the server to the third-party server according to the calculated installation amount of each application on the client side includes: when the installation amount of the application is larger, the Apps are crawled more frequently.
可选地,所述安装量为设定时间段内访问服务器的各客户端所安装的各应用的数量。Optionally, the installation amount is the number of applications installed by each client accessing the server within a set time period.
可选地,所述安装量为设定时间段内第一次访问服务器的各客户端所安装的各应用的数量。Optionally, the installation amount is the number of applications installed by each client accessing the server for the first time within a set period of time.
可选地,根据所述应用信息列表中记录的应用信息,计算各应用在客户端的安装量的步骤具体包括:Optionally, according to the application information recorded in the application information list, the step of calculating the installation amount of each application on the client terminal specifically includes:
判断客户端是否是在所述设定时间段内第一次访问服务器;Judging whether the client accesses the server for the first time within the set time period;
如果是:则将该客户端所有安装的应用对应的安装量加一;If yes: add one to the installation amount corresponding to all installed applications of the client;
否则:则对应安装量保持不变。Otherwise: the corresponding install volume remains unchanged.
可选地,所述判断客户端是否是在所述设定时间段内第一次访问服务器的步骤具体为:Optionally, the step of judging whether the client accesses the server for the first time within the set time period is specifically:
判断发出请求的客户端的信息是否已经在建立的活跃用户列表中,所述活跃用户列表中存储有在所述设定时间段内已访问过服务器的客户端的信息:Judging whether the information of the requesting client is already in the established active user list, the active user list stores information of clients who have visited the server within the set time period:
如果没有:则客户端在所述设定时间段内是第一次访问服务器,将所述客户端的信息加入所述活跃用户列表中;If not: then the client accesses the server for the first time within the set time period, and the information of the client is added to the active user list;
如果有,则客户端在所述设定时间段内不是第一次访问服务器。If so, it is not the first time that the client accesses the server within the set time period.
可选地,所述客户端的信息包括客户端的id信息,所述活跃用户列表中存储有在所述设定时间段内已访问服务器的客户端的id信息。Optionally, the client information includes client id information, and the active user list stores id information of clients that have accessed the server within the set time period.
根据本发明的应用升级系统及方法,可以得到客户端各应用安装量的排序,并将该安装量排序作为一个参数,调整对应用的爬取频率,由此解决了现有技术中各应用爬取频率调整不灵活、热门应用更新不及时的缺陷,使得服务器数据库中热门应用具有更加合适的更新频率。According to the application upgrading system and method of the present invention, it is possible to obtain the ranking of the installation volume of each application on the client side, and use the ranking of the installation volume as a parameter to adjust the crawling frequency of the application, thereby solving the problem of crawling of various applications in the prior art. The disadvantages of inflexible frequency adjustment and untimely update of popular applications make the update frequency of popular applications in the server database more appropriate.
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。The above description is only an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention, it can be implemented according to the contents of the description, and in order to make the above and other purposes, features and advantages of the present invention more obvious and understandable , the specific embodiments of the present invention are enumerated below.
附图说明 Description of drawings
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiment. The drawings are only for the purpose of illustrating a preferred embodiment and are not to be considered as limiting the invention. Also throughout the drawings, the same reference numerals are used to designate the same parts. In the attached picture:
图1示出了根据本发明一个实施例的服务器的结构示意图;Fig. 1 shows a schematic structural diagram of a server according to an embodiment of the present invention;
图2示出了根据本发明一个实施例的服务器安装量计数器的结构示意图;Fig. 2 shows a schematic structural diagram of a server installation amount counter according to an embodiment of the present invention;
图3示出了根据本发明一个实施例的应用升级方法的步骤图;FIG. 3 shows a step diagram of an application upgrading method according to an embodiment of the present invention;
图4示出了根据本发明一个实施例的应用升级方法的流程图;以及Figure 4 shows a flow chart of an application upgrade method according to one embodiment of the present invention; and
图5示出了根据本发明一个实施例的应用升级系统的结构示意图。Fig. 5 shows a schematic structural diagram of an application upgrading system according to an embodiment of the present invention.
具体实施方式 detailed description
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided for more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
如图1所示为本实施例一种服务器100的结构框图,包括:As shown in FIG. 1, it is a structural block diagram of a server 100 in this embodiment, including:
数据库110,适于存储一个或多个应用的版本信息;database 110, adapted to store version information of one or more applications;
输入接口120,适于接收客户端发来的用户查询应用升级的请求并将所述请求转发给处理器130和安装量计数器150,所述请求携带客户端安装应用的应用信息列表;The input interface 120 is adapted to receive a user inquiry application upgrade request sent by the client and forward the request to the processor 130 and the installation volume counter 150, the request carrying an application information list of the application installed by the client;
处理器130,适于接收所述请求,并将所述应用信息列表中记录的应用信息和数据库110中记录的应用信息进行对比,生成可升级应用信息发送到输出接口;The processor 130 is adapted to receive the request, compare the application information recorded in the application information list with the application information recorded in the database 110, generate upgradable application information and send it to the output interface;
输出接口140,适于接收所述可升级应用信息并返回给客户端;The output interface 140 is adapted to receive the upgradable application information and return it to the client;
安装量计数器150,适于根据所述请求携带的所述应用信息列表中记录的应用信息计算各应用在客户端的安装量并将计算结果发送至频率调整器160;The installation amount counter 150 is adapted to calculate the installation amount of each application on the client according to the application information recorded in the application information list carried in the request and send the calculation result to the frequency adjuster 160;
频率调整器160,适于接收所述应用安装量计数器150发送的计算结果,并根据所述计算结果中各应用的安装量调整信息抓取器170到第三方服务器抓取所述应用信息的频率;The frequency adjuster 160 is adapted to receive the calculation result sent by the application installation volume counter 150, and adjust the frequency at which the information grabber 170 grabs the application information from the third-party server according to the installation volume of each application in the calculation result ;
信息抓取器170,适于根据所述频率调整器160调整的频率到第三方服务器抓取各应用的最新版本的应用信息并发送给数据库110;The information grabber 170 is adapted to grab the application information of the latest version of each application from a third-party server according to the frequency adjusted by the frequency adjuster 160 and send it to the database 110;
所述数据库110,还适于根据所述应用最新版本的应用信息来更新相应应用的存储信息。The database 110 is further adapted to update the stored information of the corresponding application according to the application information of the latest version of the application.
其中,所述应用信息包括应用的版本信息、以及名称信息和/或id信息;Wherein, the application information includes application version information, and name information and/or id information;
所述处理器130根据所述应用信息列表中应用的名称信息和/或id信息获取所述数据库110中相应应用的版本信息,将所述应用信息列表和数据库110中相应应用的版本信息进行对比后,筛选出所述应用信息列表的版本信息低于所述数据库110中对应应用的版本信息的应用,生成可升级应用信息。当然,如果没有可升级的应用,则所述可升级应用信息的内容即为无可升级的应用。The processor 130 obtains the version information of the corresponding application in the database 110 according to the name information and/or id information of the application in the application information list, and compares the version information of the corresponding application in the application information list with the database 110 Afterwards, applications whose version information in the application information list is lower than the version information of the corresponding application in the database 110 are screened out, and upgradeable application information is generated. Of course, if there is no upgradable application, the content of the upgradable application information means that there is no upgradable application.
在本实施例中,所述频率调整器160在应用安装量越大时,对该应用的抓取频率越高。在本发明的其它实施例中,所述应用的安装量只作为抓取频率调整的一个方面的参数,具体对应用的抓取频率的确定,还有可能需要参考应用其它方面的参数,如应用的种类、应用开发商的新版本发布频率等等。In this embodiment, the frequency adjuster 160 crawls the application more frequently when the installation amount of the application is larger. In other embodiments of the present invention, the amount of installation of the application is only used as a parameter of one aspect of the adjustment of the crawling frequency. Specifically, the determination of the crawling frequency of the application may also need to refer to parameters of other aspects of the application, such as the application types of apps, the frequency of new releases by app developers, and more.
其中,所述安装量为设定时间段内访问服务器的各客户端所安装的各应用的数量,如该设定时间段可以为一周。在本发明的其它实施例中,也可以不对时间段进行限制。Wherein, the installation amount is the number of applications installed by each client accessing the server within a set time period, for example, the set time period may be one week. In other embodiments of the present invention, the time period may not be limited.
在本实施例中,所述安装量为设定时间段内第一次访问服务器的各客户端所安装的各应用的数量。当然,由于大多数用户并不会很高频率的访问服务器以请求应用升级,因此在本发明的其它实施例中,也可以将设定时间段内每次访问服务器的各客户端所安装的各应用都计算在所述安装量内。In this embodiment, the installation amount is the number of applications installed by each client that accesses the server for the first time within a set period of time. Of course, since most users do not access the server very frequently to request application upgrades, in other embodiments of the present invention, each client installed on each client accessing the server within a set period of time may also be Apps are counted towards the stated install count.
如图2所示,本实施例中,所述安装量计数器150包括:As shown in Figure 2, in this embodiment, the installation amount counter 150 includes:
活跃用户存储器151,适于存储在所述设定时间段内已访问服务器的客户端的信息;Active user storage 151, adapted to store information of clients that have accessed the server within the set time period;
分析器152,适于判断发出请求的客户端的信息是否已经存在于所述活跃用户存储器中:Analyzer 152 is suitable for judging whether the information of the requesting client already exists in the active user memory:
如果没有,则将所述收到的客户端的信息存入所述活跃用户存储器中,并且将该客户端所有安装的应用对应的安装量加一,并将计算结果发送至所述频率调整器160;If not, then store the received client information in the active user memory, and add one to the installation amount corresponding to all installed applications of the client, and send the calculation result to the frequency adjuster 160 ;
如果有,则对应安装量保持不变。If so, the corresponding install volume remains the same.
其中,所述客户端的信息包括客户端的id信息,所述活跃用户存储器中存储有在所述设定时间段内已访问服务器的客户端的id信息。Wherein, the information of the client includes the id information of the client, and the id information of the client that has accessed the server within the set time period is stored in the active user memory.
如图3所示为本实施例一种应用升级方法的步骤流程图,所述方法包括以下步骤:As shown in Figure 3, it is a flow chart of the steps of an application upgrading method in this embodiment, and the method includes the following steps:
S301:接收客户端发来的用户查询应用升级的请求,所述请求携带客户端安装应用的应用信息列表;S301: Receive a user inquiry application upgrade request sent by the client, where the request carries an application information list of applications installed by the client;
S302:将所述应用信息列表中记录的应用信息和数据库中记录的应用信息进行对比,生成可升级应用信息并返回给客户端;S302: Compare the application information recorded in the application information list with the application information recorded in the database, generate upgradable application information, and return it to the client;
S303:根据所述应用信息列表中记录的应用信息,计算各应用在客户端的安装量;S303: According to the application information recorded in the application information list, calculate the installation amount of each application on the client;
S304:根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率;S304: Adjust the frequency of grabbing the application information from the server to the third-party server according to the calculated installation amount of each application on the client;
S305:根据调整后频率到第三方服务器抓取各应用的最新版本的应用信息并更新数据库。S305: Grab application information of the latest version of each application from a third-party server according to the adjusted frequency and update the database.
其中,所述应用信息包括应用的版本信息、以及名称信息和/或id信息。Wherein, the application information includes application version information, name information and/or id information.
其中,将所述应用信息列表和数据库中记录的应用信息进行对比,生成可升级应用信息的步骤具体为:Wherein, comparing the application information list with the application information recorded in the database, the steps of generating upgradable application information are specifically as follows:
根据所述应用信息列表中应用的名称信息和/或id信息获取所述数据库中相应应用的版本信息,将所述应用信息列表和数据库中相应应用的版本信息进行对比后,筛选出所述应用信息列表中版本信息低于所述数据库中对应应用的版本信息的应用,生成可升级应用信息。Obtain the version information of the corresponding application in the database according to the name information and/or id information of the application in the application information list, compare the application information list with the version information of the corresponding application in the database, and filter out the application For applications whose version information in the information list is lower than the version information of the corresponding application in the database, upgradeable application information is generated.
本实施例中,在所述计算各应用在客户端的安装量的步骤之后还包括:根据安装量对各应用进行排序并保存到建立的应用排序列表中的步骤,所述应用排序列表中存储有各应用的安装量排序信息。In this embodiment, after the step of calculating the installation volume of each application on the client, it further includes: sorting the applications according to the installation volume and saving them in the established application sorting list, the application sorting list stores Information about the ranking of installs for each app.
在本实施例中,所述根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率的步骤具体包括:根据各应用的在所述应用排序列表中的排序调整服务器到第三方服务器抓取所述应用信息的频率。In this embodiment, the step of adjusting the frequency of grabbing the application information from the server to the third-party server according to the calculated installation amount of each application on the client terminal specifically includes: according to the application ranking list of each application The sorting in adjusts the frequency of grabbing the application information from the server to the third-party server.
在本实施例中,所述根据计算得到的所述各应用在客户端的安装量调整服务器到第三方服务器抓取所述应用信息的频率的步骤包括:当所述应用的安装量越大时,对该应用的抓取频率越高。例如对于安装量大的应用,如排名前1000的,爬虫定向爬取的频率为1分钟,保证这些应用一旦有新版本在第三方市场发布,最迟10分钟内服务器就将存储这些应用的最新版本信息。In this embodiment, the step of adjusting the frequency of grabbing the application information from the server to the third-party server according to the calculated installation amount of each application on the client terminal includes: when the installation amount of the application is larger, The app is crawled more frequently. For example, for applications with a large number of installations, such as the top 1000, the crawling frequency of the crawler is 1 minute to ensure that once a new version of these applications is released on the third-party market, the server will store the latest version of these applications within 10 minutes at the latest Version Information.
在本实施例中,所述安装量为设定时间段内访问服务器的各客户端所安装的各应用的数量。所述设定的时间段例如可以为一周、或三天。In this embodiment, the installation amount is the number of applications installed by each client accessing the server within a set time period. The set time period may be, for example, one week or three days.
在本实施例中,所述安装量为设定时间段内第一次访问服务器的各客户端所安装的各应用的数量。In this embodiment, the installation amount is the number of applications installed by each client that accesses the server for the first time within a set period of time.
在本实施例中,根据所述应用信息列表中记录的应用信息,计算各应用在客户端的安装量的步骤具体包括:In this embodiment, according to the application information recorded in the application information list, the step of calculating the installation amount of each application on the client terminal specifically includes:
判断客户端是否是在所述设定时间段内第一次访问服务器;Judging whether the client accesses the server for the first time within the set time period;
如果是:则将该客户端所有安装的应用对应的安装量加一;If yes: add one to the installation amount corresponding to all installed applications of the client;
否则:则对应安装量保持不变。Otherwise: the corresponding install volume remains unchanged.
在本实施例中,所述判断客户端是否是在所述设定时间段内第一次访问服务器的步骤具体为:In this embodiment, the step of judging whether the client accesses the server for the first time within the set time period is specifically:
判断发出请求的客户端的信息是否已经在建立的活跃用户列表中,所述活跃用户列表中存储有在所述设定时间段内已访问过服务器的客户端的信息:Judging whether the information of the requesting client is already in the established active user list, the active user list stores information of clients who have visited the server within the set time period:
如果没有:则客户端在所述设定时间段内是第一次访问服务器,将所述客户端的信息加入所述活跃用户列表中;If not: then the client accesses the server for the first time within the set time period, and the information of the client is added to the active user list;
如果有,则客户端在所述设定时间段内不是第一次访问服务器。If so, it is not the first time that the client accesses the server within the set time period.
在本实施例中,所述客户端的信息包括客户端的id信息,所述活跃用户列表中存储有在所述设定时间段内已访问服务器的客户端的id信息。In this embodiment, the client information includes client id information, and the active user list stores id information of clients that have accessed the server within the set time period.
图4以一个客户向服务器发送请求为例详细说明了本实施例升级方法的流程。FIG. 4 illustrates in detail the flow of the upgrade method in this embodiment by taking a client sending a request to a server as an example.
如图4所示,当用户向服务器发送请求,获取可升级的应用列表时,用户会把自身所有安装的应用及其版本发给服务器;服务器首先查询数据库,把可升级的应用返回给用户;As shown in Figure 4, when the user sends a request to the server to obtain a list of applications that can be upgraded, the user will send all installed applications and their versions to the server; the server first queries the database and returns the applications that can be upgraded to the user;
服务器后台继续运行,首先查询本周(本实施例中设定的时间段为一周)的活跃用户id列表,如果此用户不是本周第一次访问,则结束;The server continues to run in the background, first query the active user id list of this week (the time period set in this embodiment is one week), if this user is not visiting for the first time this week, then end;
如果此用户是本周第一次访问,则对于此用户安装的所有应用,在本周的应用排序列表中找到该应用,如果找到则安装量加1,如果没找到则把此应用的安装量设为1;安装量变化后,则动态调整应用排序列表中应用的排序。If this user visits for the first time this week, for all the applications installed by this user, find the application in this week's application sorting list, if found, add 1 to the installation amount, if not, add the installation amount of this application Set to 1; when the number of installations changes, dynamically adjust the sorting of the apps in the app sorting list.
本实施例中的活跃用户列表和应用排序列表以设定的时间段为周期,下一个周期开始后则写入新周期的数据。例如,这周的序列号的2201,那么本周活跃用户列表为USER_2201,本周应用排序列表为APPRANK_2201;到下周序列号会变为2202;The active user list and the application sorting list in this embodiment take a set period of time as a cycle, and data of a new cycle is written after the next cycle starts. For example, if the serial number of this week is 2201, then the list of active users this week is USER_2201, and the list of application rankings this week is APPRANK_2201; the serial number will become 2202 next week;
有三个应用,id分别为4,5,6,在APPRANK_2201中记录的安装量分别为10000,1000,100;There are three apps with ids of 4, 5, and 6 respectively, and the installation volumes recorded in APPRANK_2201 are 10,000, 1,000, and 100 respectively;
用户A安装了id为4和5的两个应用,A是本周第一次访问,则APPRANK_2201中4,5的安装量分别加一变为10001和1001;并且用户A被放到USER_2201中;User A installs two apps with ids 4 and 5, and A visits for the first time this week, so the installations of 4 and 5 in APPRANK_2201 are increased by one to become 10001 and 1001 respectively; and user A is placed in USER_2201;
用户B安装了id为5,6的两个应用,B不是本周第一次访问,则服务器不做处理;User B has installed two applications with ids 5 and 6, and if B is not visiting for the first time this week, the server will not process it;
此时APPRANK_2201中应用的安装量,4,5,6分别为10001,1001,100;服务器根据安装量排序,应用4安装量排前列,爬虫每10分钟都定向爬取一次;应用5安装量排在中间,爬虫每一小时定向爬取一次;应用6安装量排在较后,爬虫每天定向爬取一次。At this time, the installation volume of applications in APPRANK_2201, 4, 5, and 6 are 10001, 1001, and 100 respectively; the server is sorted according to the installation volume, and the installation volume of application 4 ranks in the forefront, and the crawler crawls it every 10 minutes; the installation volume of application 5 ranks In the middle, the crawler crawls once every hour; the installation volume of application 6 is ranked last, and the crawler crawls once a day.
本实施例基于用户的访问,对用户所安装的应用按照安装量进行排序,将安装量的排序作为应用抓取频率调整的一个依据,使得热门应用得到及时的更新。In this embodiment, based on the user's access, the applications installed by the user are sorted according to the installation volume, and the sorting of the installation volume is used as a basis for adjusting the frequency of application capture, so that popular applications can be updated in a timely manner.
如图5所示为本实施例一种应用升级系统的结构示意图,包括:As shown in Figure 5, it is a schematic structural diagram of an application upgrading system in this embodiment, including:
客户端510、第三方服务器520以及服务器530,Client 510, third-party server 520 and server 530,
所述客户端510,适于向所述服务器530的输入接口发送用户查询应用升级的请求;The client 510 is adapted to send a user inquiry request for application upgrade to the input interface of the server 530;
所述第三方服务器520,适于供所述服务器530的信息抓取器抓取应用的最新版本的应用信息;The third-party server 520 is suitable for the information grabber of the server 530 to grab the application information of the latest version of the application;
所述服务器530,适于将用户查询应用升级的请求中携带的客户端应用的应用信息列表与其存储的应用信息进行对比,生成可升级应用信息,并且计算各应用在客户端的安装量并据此调整信息抓取器抓取所述应用信息的频率,例如为前述的服务器。The server 530 is adapted to compare the application information list of the client application carried in the application upgrade request of the user with the application information stored therein, generate upgradeable application information, and calculate the installation amount of each application on the client terminal and based on this Adjust the frequency of grabbing the application information by the information grabber, for example, the aforementioned server.
客户端510向所述服务器530的输入接口发送了用户查询应用升级请求后,服务器530在对该请求进行反馈,返回可升级应用信息,提醒客户端510的用户是否有可升级的应的同时,还对所述请求中携带的客户端安装的应用的信息进行采集,对各客户端的各应用的安装量进行计算,得到各应用的安装量排序,再以应用在安装量排序中的位置,对应调整对应用的抓取频率,服务器530的信息抓取器则根据所述抓取频率去对应的第三方服务器520抓取对应的应用,以更新服务器中对应应用的版本信息。After the client 510 sends a user inquiry application upgrade request to the input interface of the server 530, the server 530 will feedback the request, return the upgradeable application information, and remind the client 510 whether there is an upgradeable response. The information of the applications installed by the client carried in the request is also collected, and the installation volume of each application of each client is calculated to obtain the ranking of the installation volume of each application, and then use the position of the application in the ranking of the installation volume to correspond to Adjust the capture frequency of the application, and the information grabber of the server 530 captures the corresponding application from the corresponding third-party server 520 according to the capture frequency, so as to update the version information of the corresponding application in the server.
图5中仅示出了一个客户端510和一个第三方服务器520,Only one client 510 and one third-party server 520 are shown in FIG. 5 ,
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other device. Various generic systems can also be used with the teachings based on this. The structure required to construct such a system is apparent from the above description. Furthermore, the present invention is not specific to any particular programming language. It should be understood that various programming languages can be used to implement the content of the present invention described herein, and the above description of specific languages is for disclosing the best mode of the present invention.
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, in order to streamline this disclosure and to facilitate an understanding of one or more of the various inventive aspects, various features of the invention are sometimes grouped together in a single embodiment, figure, or its description. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。Those skilled in the art can understand that the modules in the device in the embodiment can be adaptively changed and arranged in one or more devices different from the embodiment. Modules or units or components in the embodiments may be combined into one module or unit or component, and furthermore may be divided into a plurality of sub-modules or sub-units or sub-assemblies. All features disclosed in this specification (including accompanying claims, abstract and drawings), as well as any method or method so disclosed, may be used in any combination, except that at least some of such features and/or processes or units are mutually exclusive. All processes or units of equipment are combined. Each feature disclosed in this specification (including accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。Furthermore, those skilled in the art will understand that although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are meant to be within the scope of the invention. and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的应用模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的服务器及应用升级系统设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。The various component embodiments of the present invention may be implemented in hardware, or in application modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all functions of some or all components in the server and application upgrade system equipment according to the embodiment of the present invention. The present invention can also be implemented as an apparatus or an apparatus program (for example, a computer program and a computer program product) for performing a part or all of the methods described herein. Such a program for realizing the present invention may be stored on a computer-readable medium, or may be in the form of one or more signals. Such a signal may be downloaded from an Internet site, or provided on a carrier signal, or provided in any other form.
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means can be embodied by one and the same item of hardware. The use of the words first, second, and third, etc. does not indicate any order. These words can be interpreted as names.
Claims (16)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210428816.5A CN102929672B (en) | 2012-10-31 | 2012-10-31 | Application upgrade system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210428816.5A CN102929672B (en) | 2012-10-31 | 2012-10-31 | Application upgrade system and method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN102929672A CN102929672A (en) | 2013-02-13 |
| CN102929672B true CN102929672B (en) | 2015-11-25 |
Family
ID=47644482
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201210428816.5A Expired - Fee Related CN102929672B (en) | 2012-10-31 | 2012-10-31 | Application upgrade system and method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN102929672B (en) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104144206B (en) * | 2014-05-29 | 2016-10-26 | 腾讯科技(深圳)有限公司 | A kind of interface loading method, system and device |
| CN104090807A (en) * | 2014-07-18 | 2014-10-08 | 广州金山网络科技有限公司 | Application software new version information obtaining method and device |
| CN104778059A (en) * | 2015-03-28 | 2015-07-15 | 广东欧珀移动通信有限公司 | Application program update method and application program update system |
| CN104778058A (en) * | 2015-03-28 | 2015-07-15 | 广东欧珀移动通信有限公司 | Application program update method and application program update system |
| CN106487557B (en) * | 2015-08-31 | 2019-12-10 | 腾讯科技(深圳)有限公司 | Application service updating method and device, server and terminal equipment |
| CN105824952B (en) * | 2016-03-28 | 2019-04-19 | 努比亚技术有限公司 | A kind of device and method handling data |
| US10353691B2 (en) * | 2016-09-30 | 2019-07-16 | Cummins Inc. | Updating electronic controller through telematics |
| CN108234171B (en) * | 2016-12-15 | 2021-04-30 | 腾讯科技(深圳)有限公司 | Data processing method, system and device |
| CN111273939B (en) * | 2020-01-20 | 2023-11-10 | Oppo(重庆)智能科技有限公司 | Information processing method, information processing device and terminal equipment |
| CN111679837B (en) * | 2020-05-07 | 2024-05-31 | 海南车智易通信息技术有限公司 | System installation control method, system and computing device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101739427A (en) * | 2008-11-10 | 2010-06-16 | 中国移动通信集团公司 | Crawler capturing method and device thereof |
| CN102055608A (en) * | 2009-11-04 | 2011-05-11 | 中国联合网络通信集团有限公司 | CPE (customer premise equipment) updating method, device and system |
| CN102355500A (en) * | 2011-10-08 | 2012-02-15 | 中兴通讯股份有限公司 | Business pushing method and device |
-
2012
- 2012-10-31 CN CN201210428816.5A patent/CN102929672B/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101739427A (en) * | 2008-11-10 | 2010-06-16 | 中国移动通信集团公司 | Crawler capturing method and device thereof |
| CN102055608A (en) * | 2009-11-04 | 2011-05-11 | 中国联合网络通信集团有限公司 | CPE (customer premise equipment) updating method, device and system |
| CN102355500A (en) * | 2011-10-08 | 2012-02-15 | 中兴通讯股份有限公司 | Business pushing method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102929672A (en) | 2013-02-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102929672B (en) | Application upgrade system and method | |
| CN102929671B (en) | Server, application upgrade method and application upgrade system | |
| US11170002B2 (en) | Integrating Kafka data-in-motion with data-at-rest tables | |
| CN103744853B (en) | The method and device of Research of Search Engine Website Snapshot System information is provided | |
| US8555252B2 (en) | Apparatus and method for loading and updating codes of cluster-based java application system | |
| CN102868768B (en) | Application upgrade system | |
| CN102831252B (en) | A kind of method for upgrading index data base and device, searching method and system | |
| CN103678487B (en) | Method and device for generating web page snapshot | |
| CN102982162B (en) | The acquisition system of info web | |
| CN103631869B (en) | A kind of method and apparatus for alleviating server-side database access pressure | |
| CN105389191A (en) | Software upgrading method, apparatus and system based on local area network | |
| CN113377289B (en) | Cache management method, system, computing device and readable storage medium | |
| CN110308917A (en) | Small program distribution method, device, equipment and computer storage medium | |
| CN107341181B (en) | Search recommendation method and device, computer readable storage medium and computer equipment | |
| CN104202401A (en) | Application upgrading system | |
| CN102937897A (en) | Asynchronous data binding | |
| CN104991921A (en) | Data query method, client and server | |
| CN104901979A (en) | Method and device for downloading application program files | |
| CN110765334A (en) | Data capture method, system, medium and electronic device | |
| CN105915657A (en) | Data synchronization method and device, and client | |
| CN103023886B (en) | Secure data processing method and system | |
| CN107968807A (en) | Automatically update the method and device of local cache resource | |
| CN108228327A (en) | A kind for the treatment of method and apparatus of task | |
| CN109190367B (en) | Method and device for running application program installation package by utilizing sandbox | |
| CN105516337A (en) | Web site docking analysis method based on dynamic loading mechanism |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151125 Termination date: 20211031 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |