WO2020192745A1 - Method and device for providing hosted application - Google Patents

Method and device for providing hosted application Download PDF

Info

Publication number
WO2020192745A1
WO2020192745A1 PCT/CN2020/081553 CN2020081553W WO2020192745A1 WO 2020192745 A1 WO2020192745 A1 WO 2020192745A1 CN 2020081553 W CN2020081553 W CN 2020081553W WO 2020192745 A1 WO2020192745 A1 WO 2020192745A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
server
target
boarding
hosting
Prior art date
Application number
PCT/CN2020/081553
Other languages
French (fr)
Chinese (zh)
Inventor
陈晓磊
Original Assignee
上海连尚网络科技有限公司
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 上海连尚网络科技有限公司 filed Critical 上海连尚网络科技有限公司
Publication of WO2020192745A1 publication Critical patent/WO2020192745A1/en

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/445Program loading or initiating
    • G06F9/44568Immediately runnable code

Definitions

  • This application relates to the field of communications, and in particular to a technology for providing boarding procedures.
  • the boarding program is a program that relies on the host program and can be used without downloading and installing. It further expands the functions of the host program.
  • the boarding program realizes the dream of the program "at your fingertips”. Users can scan or search. Opening the program also embodies the "use and go” concept. Users do not need to worry about whether to install too many applications.
  • the boarding program is available at any time without installation or uninstallation. With the development of the times, more and more host programs appear, and the host programs that rely on the host program have become ubiquitous.
  • One purpose of this application is to provide a method and equipment for providing boarding procedures.
  • a method for providing a boarding program on a first server side including:
  • the target hosting program is provided to the user equipment.
  • a method for providing a boarding program on a second server side including:
  • a first server for providing a boarding program including:
  • One-by-one module used to receive the access request of the user equipment to the target hosting program
  • the 13th module is configured to send a read request regarding the target hosting program to the second server, and receive the target hosting program returned by the second server based on the read request;
  • a four-module used to provide the target hosting program to the user equipment.
  • a second server for providing a boarding program includes:
  • the twenty-one module is configured to receive a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server;
  • the 22nd module is used to return the target hosting program to the first server.
  • a device for providing a boarding program including:
  • a memory arranged to store computer-executable instructions that when executed causes the processor to perform the operations of any of the methods described above.
  • a computer-readable medium storing instructions, which when executed, cause the system to perform the operation of any method described above.
  • this application proposes that after publishing the boarding program on one of the servers, the other servers can automatically pull the boarding program without requiring the developer to publish multiple times, which increases the efficiency of the developer; at the same time, the server will The pulled boarding program is preprocessed and then published on the server to prevent the server from publishing a large number of useless boarding programs to achieve on-demand publishing, which increases the resource utilization of the boarding program.
  • Figure 1 shows a system topology diagram for providing a boarding program according to an embodiment of the present application
  • Figure 2 shows a flow chart of a method for providing a boarding program on a first server according to an embodiment of the present application
  • Fig. 3 shows a flowchart of a method for providing a boarding program on a second server side according to an embodiment of the present application
  • Fig. 4 shows a flowchart of a system method for providing a boarding program according to an embodiment of the present application.
  • Fig. 5 shows a device structure diagram of a first server for providing a boarding program according to an embodiment of the present application
  • Fig. 6 shows a device structure diagram of a second server for providing a boarding program according to an embodiment of the present application
  • Figure 7 shows an exemplary system that can be used to implement the various embodiments described in this application.
  • the terminal, the device of the service network, and the trusted party all include one or more processors (CPU), input/output interfaces, network interfaces, and memory.
  • processors CPU
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-permanent memory in computer readable media, random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer readable media.
  • RAM random access memory
  • ROM read-only memory
  • flash RAM flash memory
  • Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
  • the information can be computer-readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
  • PRAM phase change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other memory technology
  • CD-ROM compact disc
  • the equipment referred to in this application includes but is not limited to user equipment, network equipment, or equipment formed by the integration of user equipment and network equipment through a network.
  • the user equipment includes, but is not limited to, any mobile electronic product that can perform human-computer interaction with the user (for example, human-computer interaction through a touchpad), such as a smart phone, a tablet computer, etc., and the mobile electronic product can adopt any operation System, such as android operating system, iOS operating system, etc.
  • the network device includes an electronic device that can automatically perform numerical calculation and information processing in accordance with pre-set or stored instructions.
  • the network device includes, but is not limited to, a computer, a network host, a single network server, a set of multiple network servers, or a cloud composed of multiple servers; here, the cloud is composed of a large number of computers or network servers based on Cloud Computing, Among them, cloud computing is a type of distributed computing, a virtual supercomputer composed of a group of loosely coupled computer sets.
  • the network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (AdHoc network), etc.
  • the device may also be a program running on the user equipment, network equipment, or user equipment and network equipment, network equipment, touch terminal, or a device formed by integrating network equipment and touch terminal through a network.
  • Figure 1 shows a typical scenario of this application.
  • the first server and the second server can interact and cooperate through direct communication between the two, and the first server and the user equipment can interact and cooperate through the direct communication between the two.
  • user equipment includes but is not limited to computing devices such as smart phones, tablets, and personal computers;
  • the first server and the second server include, but are not limited to, computers, network hosts, single network servers, multiple network server sets, or multiple servers Composition of clouds.
  • a method for providing a homestay program includes: a first server receives an access request from a user equipment to a target homestay program; and determines a second server corresponding to the target homestay program, wherein , The target hosting program is published on the second server; sending a read request about the target hosting program to the second server; the second server receives the target hosting sent by the first server Program read request; return the target host program to the first server; the first server receives the target host program returned by the second server based on the read request; host the target program Provided to the user equipment.
  • Fig. 2 shows a method for providing a boarding program on the first server according to an embodiment of the present application, where the method includes step S11, step S12, step S13, and step S14.
  • step S11 the first server receives the user equipment's access request for the target hosting program; in step S12, the first server determines the second server corresponding to the target hosting program, wherein the target hosting program is published on the The second server; in step S13, the first server sends a read request about the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request ;
  • step S14 the first server provides the target hosting program to the user equipment.
  • the first server receives an access request from the user equipment to the target hosting program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request to the hosting program A to the first server, and the first server will receive the access request of the user equipment to the hosting program A.
  • the first server determines a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. For example, after the first server receives the access request of the user equipment to the boarding program A, it finds through the routing table that the boarding program A has been published on the second server, where the routing table is used to maintain the mapping relationship between the boarding program and the server , Through the routing table, you can find the server that has released the hosting program corresponding to a certain hosting program. As an implementation method, the routing table is stored on multiple servers in a cluster.
  • the server updates the routing table maintained by the server, and the routing table will be related to the hosting program.
  • the information is sent to other servers in the cluster so that other servers can update the routing tables they maintain, thereby realizing the synchronization of the routing tables.
  • the first server determines the second corresponding to the target hosting program by looking up the routing table located on the first server. server.
  • the routing table is only stored on a central server in the cluster.
  • the information related to the hosting program is sent to the central server, thereby realizing the routing table
  • the first server sends a request to the central server.
  • the central server determines the second server corresponding to the target hosting program by looking up the routing table in the central server, and returns the second server to the first server as the request result.
  • the first server sends a read request regarding the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request.
  • the target boarding program includes but not limited to the code file of the target boarding program.
  • the first server receives the access request of the user equipment to the hosting program A, it sends the reading request of the hosting program A to the second server.
  • the The code file is returned to the first server as the request result.
  • step S14 the first server provides the target hosting program to the user equipment.
  • the first server sends a read request for the hosting program A to the second server, and after receiving the request result for the hosting program A returned by the second server, it returns the code file of the hosting program A to the user equipment.
  • the method further includes step S15 (not shown).
  • step S15 the first server preprocesses the target hosting program; wherein, step S14 includes: the first server preprocesses The latter target hosting program is provided to the user equipment.
  • the preprocessing includes, but is not limited to, deployment of code files to the specified directory location of the server, recompilation, etc.
  • the target hosting program includes but not limited to the executable file of the target hosting program, etc., for example, the first server transfers the target hosting program
  • the code file of A is deployed to the specified directory location of the first server (for example, "/nginx/dist/programA"), and then based on the operating environment of the first server, the code file is recompiled to generate the executable of the target host program A File, so that the target hosting program A is published on the first server, and then the hosting program A published on the first server is sent to the user equipment.
  • the step S11 includes: the first server sends one or more host program description information to the user equipment according to the host program access request sent by the user equipment to the first server; and receives the user equipment.
  • a request for access to a target hosting program sent by a device wherein the target hosting program corresponds to the selected target hosting program description information in the one or more hosting program description information.
  • the access request includes but is not limited to requests such as browsing, search
  • the host program description information includes, but is not limited to, the name, profile, size, category, screenshot and other information of the host program.
  • a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map".
  • the user equipment When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request for the hosting program A to the first server, and the first server will return the description information of the hosting program A to the user equipment (for example, the name is “hosting program A” and the size is “150M”, The category is “Tools”, and the brief introduction is “Technology makes travel easier, Map A is newly upgraded, and your simple travel is started immediately")
  • the host program will present the description of boarding program A, and then the user selects the boarding program A, the user The device initiates an access request to the hosting program A to the first server.
  • the boarding program corresponding to each boarding program description information in the one or more boarding program description information is published on the second server.
  • the boarding program corresponding to the description information of the boarding program has not been published on the first server but has been published on the second server.
  • the description information is the name "Boarding Program A”, the size "150M”, and the type "tool”.
  • the boarding program corresponding to the information is boarding program A, and boarding program A has not been published on the first server but has been published on the second server.
  • the method further includes step S16 (not shown).
  • step S16 the first server obtains the one or more boarding program description information. For example, when hosting program B is newly released on the second server, the second server will send the description information of hosting program B to the first server, and the first server will receive the description information of hosting program B sent by the second server. For another example, the first server requests the description information of the hosting program C from the second server. After receiving the request sent by the first server, the second server returns the description information corresponding to the hosting program C as the response result of the request to the first server. server.
  • the step S16 includes: the first server sends a hosting program query request to the second server; receiving one or more hosting program updates sent by the second server based on the hosting program query request Information; generating the one or more boarding program description information according to the one or more boarding program update information.
  • the boarding program update information includes but is not limited to the summary information of the boarding program newly released or updated on the server.
  • the summary information includes but not limited to the name, size, release or update content, release or update time of the boarding program Wait.
  • the first server sends a host program query request to the second server.
  • the request parameter of the query request is the timestamp of the last query request.
  • the second server After receiving the query request, the second server parses the request parameters of the query request to obtain the upper The timestamp of the query request, by matching the newly released or newly updated hosting program in the period from the timestamp to the current time, the published content information of the newly released hosting program and the updated content information of the new updated hosting program It is determined as the boarding program update information, and then the boarding program update information is returned to the first server as a response result of the query request, and the first server generates description information of the boarding program according to the received boarding program update information.
  • the timestamp of the last query request of the first server is "2019-03-25 10:00:00”
  • the current time when the second server receives this query request is "2019-03-26 10:00:00” "
  • the matching shows that there is only boarding program B on the second server in this time range Newly released, "'2019-03-26 16:00:00' Hosting Program B is newly released on the second server, the name is'Hosting Program B', the size is '100M', and the published content is'One-click connection.
  • the boarding program published on the first server and the boarding program published on the second server are written based on the same boarding program specification information.
  • the hosting program published on the first server and the hosting program published on the second server should be based on the same architecture, components, interfaces, etc., to ensure that the hosting program published on the second server is on the first server. Can compile and run correctly.
  • Fig. 3 shows a method for providing a boarding program on the second server side according to an embodiment of the present application, wherein the method includes step S21 and step S22.
  • the second server receives a read request for the target hosting program sent by the first server, wherein the target hosting program is published on the second server; in step S22, the second server sends The first server returns the target hosting program.
  • the second server receives a read request for the target hosting program sent by the first server, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server.
  • One server For example, the second server receives a read request for the hosting program A sent by the first server, and the hosting program A is published on the second server but not on the first server.
  • step S22 the second server terminal returns the target hosting program to the first server.
  • the second server receives a read request for hosting program A sent by the first server; in step S22, the second server returns hosting program A to the first server as a response to the read request. server.
  • the first server includes one or more boarding program description information, wherein the boarding program corresponding to each boarding program description information is published on the second server, and the target boarding program and the One or more boarding program description information corresponds to the selected target boarding program description information.
  • the first server includes one or more boarding program description information, and the first server sends the one or more boarding program description information to the user equipment according to the boarding program access request sent by the user equipment to the first server, and
  • the host program of the user equipment presents the one or more host program description information, the selected host program description information on the user equipment is confirmed as the target host program description information, and the target host program corresponding to the target host program description information Published on the second server, but not on the first server.
  • the method further includes step S23 (not shown).
  • step S23 the second server sends the one or more hosting program description information to the first server. For example, when one or more hosting programs are released or updated on the second server, the second server will send one or more hosting program description information corresponding to the one or more hosting programs to the first server.
  • the method further includes step S24 (not shown).
  • step S24 the second server receives the host program query request of the first server; according to the host program query request, the first server is determined 2.
  • the first server After the first server receives the user equipment's request for access to the target hosting program, it can request the target hosting program from the second server that publishes the target hosting program, so that the developer only needs to publish the hosting program on one server to achieve this
  • the boarding program is shared on multiple platforms without re-publishing the boarding program in multiple servers, thereby increasing the efficiency of developers; at the same time, the first server will only send the request to the target boarding program after receiving the user’s device access request.
  • the second server that publishes the target hosting program requests the target hosting program, and preprocesses the target hosting program before publishing it on the second server.
  • the second server When the user equipment initiates an access request for the target hosting program again, the second server will The target hosting program deployed can be directly returned to the user's device without requesting the second server again, which avoids publishing a large number of useless hosting programs on the server, which is only published on the server when the user device requests the hosting program from the server
  • the boarding program can be released on demand and increase the resource utilization of the boarding program.
  • Fig. 4 shows a flowchart of a system method for providing a boarding program according to an embodiment of the present application.
  • step S31 the user equipment sends an access request to the target hosting program to the first server; in step S32.
  • the first server receives the user equipment's request for access to the target hosting program.
  • Step S32 is the same as or similar to the aforementioned step S11, and will not be repeated here;
  • step S33 the first server determines the second server corresponding to the target hosting program, Wherein, the target hosting program is published on the second server, and step S33 is the same as or similar to the foregoing step S12, and will not be repeated here; in step S34, the first server sends information about the target to the second server For the read request of the host program, step S34 is the same as or similar to the aforementioned step S13, and will not be repeated here;
  • step S35 the second server receives the read request for the target host program sent by the first server, wherein the The target hosting program is published on the second server, and step S35 is the same as or similar to the aforementioned step S21, and will not be repeated here;
  • FIG. 5 shows a first server for providing a boarding program according to an embodiment of the present application, where the first server includes a one-to-one module 11, a one-two module 12, a one-three module 12, and a four-module 14 .
  • a one-to-one module 11 is used to receive a user equipment's access request to a target hosting program;
  • a one-to-two module 12 is used to determine a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server Server;
  • a three module 13 for sending a read request about the target hosting program to the second server, and receiving the target hosting program returned by the second server based on the read request;
  • the module 14 is used to provide the target hosting program to the user equipment.
  • the one-to-one module 11 receives the access request from the user equipment to the target hosting program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request to the hosting program A to the first server, and the first server will receive the access request of the user equipment to the hosting program A.
  • the one-two module 12 determines the second server corresponding to the target hosting program, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. For example, after the first server receives the access request of the user equipment to the boarding program A, it finds through the routing table that the boarding program A has been published on the second server, where the routing table is used to maintain the mapping relationship between the boarding program and the server , Through the routing table, you can find the server that has released the hosting program corresponding to a certain hosting program. As an implementation method, the routing table is stored on multiple servers in a cluster. When a developer publishes a hosting program on a server, the server updates the routing table maintained by the server, and the routing table will be related to the hosting program.
  • the information is sent to other servers in the cluster so that other servers can update the routing tables they maintain, thereby realizing the synchronization of the routing tables.
  • the first server determines the second corresponding to the target hosting program by looking up the routing table located on the first server. server.
  • the routing table is only stored on a central server in the cluster.
  • a developer publishes a hosting program on a server
  • the information related to the hosting program is sent to the central server, thereby realizing the routing table
  • the first server sends a request to the central server.
  • the central server determines the second server corresponding to the target hosting program by looking up the routing table in the central server, and returns the second server to the first server as the request result.
  • the 13th module 13 sends a read request regarding the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request.
  • the target boarding program includes but not limited to the code file of the target boarding program.
  • the first server receives the access request of the user equipment to the hosting program A, it sends the reading request of the hosting program A to the second server.
  • the The code file is returned to the first server as the request result.
  • the 14th module 14 provides the target hosting program to the user equipment.
  • the first server sends a read request for the hosting program A to the second server, and after receiving the request result for the hosting program A returned by the second server, it returns the code file of the hosting program A to the user equipment.
  • the first server further includes a fifth module 15 (not shown), and the fifth module 15 is used to preprocess the target hosting program; wherein, the fourth module 14 is used to:
  • the preprocessed target hosting program is provided to the user equipment.
  • the preprocessing includes, but is not limited to, deployment of code files to the specified directory location of the server, recompilation, etc.
  • the target hosting program includes but not limited to the executable file of the target hosting program, etc.
  • the first server transfers the target hosting program
  • the code file of A is deployed to the specified directory location of the first server (for example, "/nginx/dist/programA"), and then based on the operating environment of the first server, the code file is recompiled to generate the executable of the target host program A File, so that the target hosting program A is published on the first server, and then the hosting program A published on the first server is sent to the user equipment.
  • the one-to-one module 11 is configured to: send one or more host program description information to the user equipment according to the host program access request sent by the user equipment to the first server; and receive the user equipment A request for access to a target hosting program sent by a device, wherein the target hosting program corresponds to the selected target hosting program description information in the one or more hosting program description information.
  • the access request includes but is not limited to requests such as browsing, search
  • the host program description information includes, but is not limited to, the name, profile, size, category, screenshot and other information of the host program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map".
  • the user equipment When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request for the hosting program A to the first server, and the first server will return the description information of the hosting program A to the user equipment (for example, the name is “hosting program A” and the size is “150M”, The category is “Tools”, and the brief introduction is “Technology makes travel easier, Map A is newly upgraded, and your simple travel is started immediately")
  • the host program will present the description of boarding program A, and then the user selects the boarding program A, the user The device initiates an access request to the hosting program A to the first server.
  • the boarding program corresponding to each boarding program description information in the one or more boarding program description information is published on the second server.
  • the boarding program corresponding to the description information of the boarding program has not been published on the first server but has been published on the second server.
  • the description information is the name "Boarding Program A”, the size "150M”, and the type "tool”.
  • the boarding program corresponding to the information is boarding program A, and boarding program A has not been published on the first server but has been published on the second server.
  • the first server further includes a six-module 16 (not shown), and a six-module 16 is used to obtain the one or more boarding program description information.
  • the second server will send the description information of hosting program B to the first server, and the first server will receive the description information of hosting program B sent by the second server.
  • the first server requests the description information of the hosting program C from the second server. After receiving the request sent by the first server, the second server returns the description information corresponding to the hosting program C as the response result of the request to the first server. server.
  • the sixteenth module 16 is configured to: send a host program query request to the second server; receive one or more host program updates sent by the second server based on the host program query request Information; generating the one or more boarding program description information according to the one or more boarding program update information.
  • the boarding program update information includes but is not limited to the summary information of the boarding program newly released or updated on the server.
  • the summary information includes but not limited to the name, size, release or update content, release or update time of the boarding program Wait.
  • the first server sends a host program query request to the second server.
  • the request parameter of the query request is the timestamp of the last query request.
  • the second server After receiving the query request, the second server parses the request parameters of the query request to obtain the upper The timestamp of the query request, by matching the newly released or newly updated hosting program in the period from the timestamp to the current time, the published content information of the newly released hosting program and the updated content information of the new updated hosting program It is determined as the boarding program update information, and then the boarding program update information is returned to the first server as a response result of the query request, and the first server generates description information of the boarding program according to the received boarding program update information.
  • the timestamp of the last query request of the first server is "2019-03-25 10:00:00”
  • the current time when the second server receives this query request is "2019-03-26 10:00:00” "
  • the matching shows that there is only boarding program B on the second server in this time range Newly released, "'2019-03-26 16:00:00' Hosting Program B is newly released on the second server, the name is'Hosting Program B', the size is '100M', and the published content is'One-click connection.
  • the boarding program published on the first server and the boarding program published on the second server are written based on the same boarding program specification information.
  • the hosting program published on the first server and the hosting program published on the second server should be based on the same architecture, components, interfaces, etc., to ensure that the hosting program published on the second server is on the first server. Can compile and run correctly.
  • FIG. 6 shows a second server for providing a boarding program according to an embodiment of the present application, where the second server includes a two-one module 21 and a two-two module 22.
  • the two-one module 21 is used to receive a read request regarding the target hosting program sent by the first server, where the target host program is published on the second server; the second-two module 22 is used to send the request to the first server Return to the target boarding program.
  • the two-to-one module 21 receives a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server.
  • the second server receives a read request for the hosting program A sent by the first server, and the hosting program A is published on the second server but not on the first server.
  • the two-two module 22 returns the target hosting program to the first server.
  • the two-one module 21 receives a read request for the host program A sent by the first server; the second-two module 22 returns the host program A to the first server as a response to the read request.
  • the first server includes one or more boarding program description information, wherein the boarding program corresponding to each boarding program description information is published on the second server, and the target boarding program and the One or more boarding program description information corresponds to the selected target boarding program description information.
  • the first server includes one or more boarding program description information, and the first server sends the one or more boarding program description information to the user equipment according to the boarding program access request sent by the user equipment to the first server, and
  • the host program of the user equipment presents the one or more host program description information, the selected host program description information on the user equipment is confirmed as the target host program description information, and the target host program corresponding to the target host program description information Published on the second server, but not on the first server.
  • the second server further includes a second and third module 23 (not shown), and the second and third module 23 is configured to send the one or more boarding program description information to the first server. For example, when one or more hosting programs are released or updated on the second server, the second server will send one or more hosting program description information corresponding to the one or more hosting programs to the first server.
  • the second server further includes a two-four module 24 (not shown).
  • the two-four module 24 is used to receive a host program query request of the first server; and determine according to the host program query request One or more hosting program update information on the second server; providing the one or more hosting program update information to the first server to generate the one or more hosting program description information.
  • Figure 7 shows an exemplary system that can be used to implement the various embodiments described in this application.
  • the system 300 can be used as any device in each of the described embodiments.
  • the system 300 may include one or more computer-readable media having instructions (for example, system memory or NVM/storage device 320) and be coupled with the one or more computer-readable media and configured to execute
  • the instructions are one or more processors (eg, processor(s) 305) that implement modules to perform the actions described in this application.
  • system control module 310 may include any suitable interface controller to provide at least one of the processor(s) 305 and/or any suitable device or component in communication with the system control module 310 Any appropriate interface.
  • the system control module 310 may include a memory controller module 330 to provide an interface to the system memory 315.
  • the memory controller module 330 may be a hardware module, a software module, and/or a firmware module.
  • the system memory 315 may be used to load and store data and/or instructions for the system 300, for example.
  • the system memory 315 may include any suitable volatile memory, for example, a suitable DRAM.
  • the system memory 315 may include a double data rate type quad synchronous dynamic random access memory (DDR4 SDRAM).
  • DDR4 SDRAM double data rate type quad synchronous dynamic random access memory
  • system control module 310 may include one or more input/output (I/O) controllers to provide an interface to the NVM/storage device 320 and the communication interface(s) 325.
  • I/O input/output
  • NVM/storage device 320 can be used to store data and/or instructions.
  • the NVM/storage device 320 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives (HDD), one or more compact disc (CD) drives and/or one or more digital versatile disc (DVD) drives).
  • suitable non-volatile memory e.g., flash memory
  • suitable non-volatile storage device(s) e.g., one or more hard disk drives (HDD), one or more compact disc (CD) drives and/or one or more digital versatile disc (DVD) drives.
  • HDD hard disk drives
  • CD compact disc
  • DVD digital versatile disc
  • the NVM/storage device 320 may include storage resources that are physically part of the device on which the system 300 is installed, or it may be accessed by the device and not necessarily be a part of the device. For example, the NVM/storage device 320 may be accessed via the communication interface(s) 325 through the network.
  • the communication interface(s) 325 may provide an interface for the system 300 to communicate through one or more networks and/or with any other suitable devices.
  • the system 300 can wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and/or protocols.
  • At least one of the processor(s) 305 may be packaged with the logic of one or more controllers of the system control module 310 (eg, the memory controller module 330). For one embodiment, at least one of the processor(s) 305 may be packaged with the logic of one or more controllers of the system control module 310 to form a system in package (SiP). For one embodiment, at least one of the processor(s) 305 may be integrated with the logic of one or more controllers of the system control module 310 on the same mold. For one embodiment, at least one of the processor(s) 305 may be integrated with the logic of one or more controllers of the system control module 310 on the same mold to form a system on chip (SoC).
  • SoC system on chip
  • the system 300 may be, but is not limited to, a server, a workstation, a desktop computing device, or a mobile computing device (for example, a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.).
  • the system 300 may have more or fewer components and/or different architectures.
  • the system 300 includes one or more cameras, keyboards, liquid crystal display (LCD) screens (including touchscreen displays), non-volatile memory ports, multiple antennas, graphics chips, application specific integrated circuits ( ASIC) and speakers.
  • LCD liquid crystal display
  • ASIC application specific integrated circuits
  • the present application also provides a computer-readable storage medium that stores computer code, and when the computer code is executed, the method described in any of the preceding items is executed.
  • the present application also provides a computer program product.
  • the computer program product is executed by a computer device, the method described in any of the preceding items is executed.
  • This application also provides a computer device, which includes:
  • One or more processors are One or more processors;
  • Memory used to store one or more computer programs
  • the one or more processors When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any one of the preceding items.
  • this application can be implemented in software and/or a combination of software and hardware, for example, it can be implemented by an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device.
  • the software program of the present application may be executed by a processor to realize the steps or functions described above.
  • the software program (including related data structure) of the present application can be stored in a computer-readable recording medium, for example, RAM memory, magnetic or optical drive or floppy disk and similar devices.
  • some steps or functions of the present application may be implemented by hardware, for example, as a circuit that cooperates with a processor to execute each step or function.
  • the computer program instructions in the computer-readable medium include but are not limited to source files, executable files, installation package files, etc.
  • the manner in which computer program instructions are executed by the computer includes but not Limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction before executing the corresponding post-installation program.
  • the computer-readable medium may be any available computer-readable storage medium or communication medium that can be accessed by a computer.
  • Communication media includes media by which communication signals containing, for example, computer-readable instructions, data structures, program modules, or other data are transmitted from one system to another system.
  • Communication media can include conductive transmission media (such as cables and wires (for example, optical fiber, coaxial, etc.)) and wireless (unguided transmission) media that can propagate energy waves, such as sound, electromagnetic, RF, microwave, and infrared .
  • Computer readable instructions, data structures, program modules or other data may be embodied as, for example, a modulated data signal in a wireless medium such as a carrier wave or similar mechanism such as embodied as part of spread spectrum technology.
  • modulated data signal refers to a signal whose one or more characteristics have been altered or set in such a way as to encode information in the signal. Modulation can be analog, digital or hybrid modulation techniques.
  • a computer-readable storage medium may include volatile, non-volatile, nonvolatile, and nonvolatile, and may be implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Removable and non-removable media.
  • computer-readable storage media include, but are not limited to, volatile memory, such as random access memory (RAM, DRAM, SRAM); and non-volatile memory, such as flash memory, various read-only memories (ROM, PROM, EPROM) , EEPROM), magnetic and ferromagnetic/ferroelectric memory (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, tapes, CDs, DVDs); or other currently known media or future developments that can be stored for computer systems Computer readable information/data used.
  • volatile memory such as random access memory (RAM, DRAM, SRAM
  • non-volatile memory such as flash memory, various read-only memories (ROM, PROM, EPROM) , EEPROM), magnetic and ferromagnetic/ferroelectric memory (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, tapes, CDs, DVDs); or other currently known media or future developments that can be stored for computer systems Computer readable information/data used.
  • volatile memory such as random access memory (RAM, DRAM,
  • an embodiment according to the present application includes a device including a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, trigger
  • the operation of the device is based on the aforementioned methods and/or technical solutions according to multiple embodiments of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The objective of the present application is to provide a method and a device for providing a hosted application. The method comprises: a first server receiving an access request of user equipment for a target hosted application; determining a second server corresponding to the target hosted application, the target hosted application being published on the second server; sending, to the second server, a read request regarding the target hosted application; the second server receiving said read request sent by the first server; returning the target hosted application to the first server; the first server receiving the target hosted application returned by the second server on the basis of the read request; and providing the target hosted application to the user equipment. Compared with the prior art, the present application does not require a developer to publish a hosted application multiple times on different servers, and can increase the resource utilization rate of the hosted application.

Description

一种提供寄宿程序的方法与设备Method and equipment for providing boarding program 技术领域Technical field
本申请涉及通信领域,尤其涉及一种用于提供寄宿程序的技术。This application relates to the field of communications, and in particular to a technology for providing boarding procedures.
背景技术Background technique
寄宿程序是一种依托于宿主程序,不需要下载安装即可使用的程序,进一步扩充了宿主程序的功能,寄宿程序实现了程序“触手可及”的梦想,用户扫一扫或者搜一下即可打开程序,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题,寄宿程序随时可用,无需安装卸载。随着时代的发展,出现越来越来的宿主程序,依托于宿主程序的寄宿程序也变得无所不在。The boarding program is a program that relies on the host program and can be used without downloading and installing. It further expands the functions of the host program. The boarding program realizes the dream of the program "at your fingertips". Users can scan or search. Opening the program also embodies the "use and go" concept. Users do not need to worry about whether to install too many applications. The boarding program is available at any time without installation or uninstallation. With the development of the times, more and more host programs appear, and the host programs that rely on the host program have become ubiquitous.
发明内容Summary of the invention
本申请的一个目的是提供一种提供寄宿程序的方法与设备。One purpose of this application is to provide a method and equipment for providing boarding procedures.
根据本申请的一个方面,提供了一种在第一服务器端提供寄宿程序的方法,该方法包括:According to an aspect of the present application, there is provided a method for providing a boarding program on a first server side, the method including:
接收用户设备对目标寄宿程序的访问请求;Receive the access request of the user equipment to the target hosting program;
确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;Determining a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server;
向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;Sending a read request for the target hosting program to the second server, and receiving the target hosting program returned by the second server based on the reading request;
将所述目标寄宿程序提供至所述用户设备。The target hosting program is provided to the user equipment.
根据本申请的另一个方面,提供了一种在第二服务器端提供寄宿程序的方法,该方法包括:According to another aspect of the present application, there is provided a method for providing a boarding program on a second server side, the method including:
接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器;Receiving a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server;
向所述第一服务器返回所述目标寄宿程序。Return the target hosting program to the first server.
根据本申请的一个方面,提供了一种用于提供寄宿程序的第一服务器,该第一服务器包括:According to an aspect of the present application, there is provided a first server for providing a boarding program, the first server including:
一一模块,用于接收用户设备对目标寄宿程序的访问请求;One-by-one module, used to receive the access request of the user equipment to the target hosting program;
一二模块,用于确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;A second module for determining a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server;
一三模块,用于向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;The 13th module is configured to send a read request regarding the target hosting program to the second server, and receive the target hosting program returned by the second server based on the read request;
一四模块,用于将所述目标寄宿程序提供至所述用户设备。A four-module, used to provide the target hosting program to the user equipment.
根据本申请的另一个方面,提供了一种用于提供寄宿程序的第二服务器,该第二服务器包括:According to another aspect of the present application, there is provided a second server for providing a boarding program, and the second server includes:
二一模块,用于接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器;The twenty-one module is configured to receive a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server;
二二模块,用于向所述第一服务器返回所述目标寄宿程序。The 22nd module is used to return the target hosting program to the first server.
根据本申请的一个方面,提供了一种用于提供寄宿程序的设备,该设备包括:According to an aspect of the present application, there is provided a device for providing a boarding program, the device including:
处理器;以及Processor; and
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。A memory arranged to store computer-executable instructions that when executed causes the processor to perform the operations of any of the methods described above.
根据本申请的另一个方面,提供了存储指令的计算机可读介质,所述指令在被执行时使得系统进行如上所述任一方法的操作。According to another aspect of the present application, there is provided a computer-readable medium storing instructions, which when executed, cause the system to perform the operation of any method described above.
对于现有技术,目前存在较多的宿主程序,对于相同内容的寄宿程序,开发者需要针对不同的宿主程序分别进行宿主程序的发布,导致工作重复,效率低下,同时对于宿主程序来说,宿主程序上发布了大量的寄宿程序,但是有些寄宿程序的使用率又极低,降低了寄宿程序的资源利用率。与现有技术相比,本申请提通过在其中一个服务器上发布寄宿程序后,其他服务器可以自动进行寄宿程序的拉取,无需开发者多次发布,增加了开发者的效率;同时,服务器将拉取的寄宿程序进行预处理后发布在服务器上,避免服务器发布大量无用的寄宿程序,以实现按需发布,增加了寄宿程序的资源利用率。For the prior art, there are many host programs at present. For the host programs with the same content, developers need to publish the host programs separately for different host programs, resulting in duplication of work and low efficiency. At the same time, for the host program, the host A large number of boarding programs are published on the program, but the utilization rate of some boarding programs is extremely low, which reduces the resource utilization rate of the boarding program. Compared with the prior art, this application proposes that after publishing the boarding program on one of the servers, the other servers can automatically pull the boarding program without requiring the developer to publish multiple times, which increases the efficiency of the developer; at the same time, the server will The pulled boarding program is preprocessed and then published on the server to prevent the server from publishing a large number of useless boarding programs to achieve on-demand publishing, which increases the resource utilization of the boarding program.
附图说明Description of the drawings
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, purposes and advantages of the present application will become more apparent:
图1示出根据本申请一个实施例的一种用于提供寄宿程序的系统拓扑图;Figure 1 shows a system topology diagram for providing a boarding program according to an embodiment of the present application;
图2示出根据本申请一个实施例的一种在第一服务器端提供寄宿程序的方法流程图;Figure 2 shows a flow chart of a method for providing a boarding program on a first server according to an embodiment of the present application;
图3示出根据本申请一个实施例的一种在第二服务器端提供寄宿程序的方法流程图;Fig. 3 shows a flowchart of a method for providing a boarding program on a second server side according to an embodiment of the present application;
图4示出了根据本申请一个实施例的一种提供寄宿程序的系统方法流程图。Fig. 4 shows a flowchart of a system method for providing a boarding program according to an embodiment of the present application.
图5示出根据本申请一个实施例的一种用于提供寄宿程序的第一服务器的设备结构图;Fig. 5 shows a device structure diagram of a first server for providing a boarding program according to an embodiment of the present application;
图6示出根据本申请一个实施例的一种用于提供寄宿程序的第二服务器的设备结构图;Fig. 6 shows a device structure diagram of a second server for providing a boarding program according to an embodiment of the present application;
图7示出可被用于实施本申请中所述的各个实施例的示例性系统。Figure 7 shows an exemplary system that can be used to implement the various embodiments described in this application.
附图中相同或相似的附图标记代表相同或相似的部件。The same or similar reference signs in the drawings represent the same or similar components.
具体实施方式detailed description
下面结合附图对本申请作进一步详细描述。The application will be further described in detail below in conjunction with the drawings.
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration of this application, the terminal, the device of the service network, and the trusted party all include one or more processors (CPU), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。The memory may include non-permanent memory in computer readable media, random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer readable media.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数 字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。The equipment referred to in this application includes but is not limited to user equipment, network equipment, or equipment formed by the integration of user equipment and network equipment through a network. The user equipment includes, but is not limited to, any mobile electronic product that can perform human-computer interaction with the user (for example, human-computer interaction through a touchpad), such as a smart phone, a tablet computer, etc., and the mobile electronic product can adopt any operation System, such as android operating system, iOS operating system, etc. Wherein, the network device includes an electronic device that can automatically perform numerical calculation and information processing in accordance with pre-set or stored instructions. Its hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), and programmable logic Devices (PLD), Field Programmable Gate Array (FPGA), Digital Signal Processor (DSP), embedded devices, etc. The network device includes, but is not limited to, a computer, a network host, a single network server, a set of multiple network servers, or a cloud composed of multiple servers; here, the cloud is composed of a large number of computers or network servers based on Cloud Computing, Among them, cloud computing is a type of distributed computing, a virtual supercomputer composed of a group of loosely coupled computer sets. The network includes, but is not limited to, the Internet, a wide area network, a metropolitan area network, a local area network, a VPN network, a wireless ad hoc network (AdHoc network), etc. Preferably, the device may also be a program running on the user equipment, network equipment, or user equipment and network equipment, network equipment, touch terminal, or a device formed by integrating network equipment and touch terminal through a network.
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。Of course, those skilled in the art should understand that the above-mentioned equipment is only an example, and other existing or possible future equipment, if applicable to this application, should also be included in the scope of protection of this application, and is included here by reference. this.
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。In the description of this application, "plurality" means two or more, unless otherwise clearly defined.
图1示出了本申请的一个典型场景,第一服务器与第二服务器可以通过两者之间的直接通信进行交互协作,第一服务器与用户设备可以通过两者之间的直接通信进行交互协作。在此,用户设备包括但不限于智能手机、平板电脑、个人电脑等计算设备;第一服务器和第二服务器包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。Figure 1 shows a typical scenario of this application. The first server and the second server can interact and cooperate through direct communication between the two, and the first server and the user equipment can interact and cooperate through the direct communication between the two. . Here, user equipment includes but is not limited to computing devices such as smart phones, tablets, and personal computers; the first server and the second server include, but are not limited to, computers, network hosts, single network servers, multiple network server sets, or multiple servers Composition of clouds.
参考图1所示出的系统,提供了一种提供寄宿程序的方法,该方法包括:第一服务器接收用户设备对目标寄宿程序的访问请求;确定所述目标寄宿程序 对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;向所述第二服务器发送关于所述目标寄宿程序的读取请求;所述第二服务器接收所述第一服务器发送的关于所述目标寄宿程序的读取请求;向所述第一服务器返回所述目标寄宿程序;所述第一服务器接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;将所述目标寄宿程序提供至所述用户设备。With reference to the system shown in FIG. 1, there is provided a method for providing a homestay program, the method includes: a first server receives an access request from a user equipment to a target homestay program; and determines a second server corresponding to the target homestay program, wherein , The target hosting program is published on the second server; sending a read request about the target hosting program to the second server; the second server receives the target hosting sent by the first server Program read request; return the target host program to the first server; the first server receives the target host program returned by the second server based on the read request; host the target program Provided to the user equipment.
以上主要结合图1所示的系统拓扑图对本申请进行介绍,以下分别从第一服务器和第二服务器的角度,结合附图,进行具体的举例介绍。The above has mainly introduced the application in combination with the system topology diagram shown in FIG. 1. The following is a specific example introduction from the perspective of the first server and the second server, in conjunction with the accompanying drawings.
图2示出了根据本申请一个实施例的一种在第一服务器端提供寄宿程序的方法,其中,该方法包括步骤S11、步骤S12、步骤S13以及步骤S14。在步骤S11中,第一服务器接收用户设备对目标寄宿程序的访问请求;在步骤S12中,第一服务器确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;在步骤S13中,第一服务器向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;在步骤S14中,第一服务器将所述目标寄宿程序提供至所述用户设备。Fig. 2 shows a method for providing a boarding program on the first server according to an embodiment of the present application, where the method includes step S11, step S12, step S13, and step S14. In step S11, the first server receives the user equipment's access request for the target hosting program; in step S12, the first server determines the second server corresponding to the target hosting program, wherein the target hosting program is published on the The second server; in step S13, the first server sends a read request about the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request ; In step S14, the first server provides the target hosting program to the user equipment.
在步骤S11中,第一服务器接收用户设备对目标寄宿程序的访问请求。例如,用户在用户设备上的一个宿主程序中搜索关键字为“地图”的寄宿程序,该宿主程序中会呈现所有跟“地图”相关的寄宿程序的图标,当用户点击寄宿程序A对应的图标时,用户设备会向第一服务器发送对寄宿程序A的访问请求,第一服务器会接收到用户设备对寄宿程序A的访问请求。In step S11, the first server receives an access request from the user equipment to the target hosting program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request to the hosting program A to the first server, and the first server will receive the access request of the user equipment to the hosting program A.
在步骤S12中,第一服务器确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器,所述目标寄宿程序未在第一服务器上发布。例如,第一服务器接收到用户设备对寄宿程序A的访问请求后,通过路由表查找到寄宿程序A已在第二服务器上发布,其中,该路由表是用于维护寄宿程序和服务器的映射关系,通过路由表可以找到某个寄宿程序对应的已发布该寄宿程序的服务器。作为一种实现方式,一个集群的多个服务器上存储有该路由表,当开发者在一个服务器上发布一个寄宿程序时,该服务器更新其所维护的路由表,且将与该寄宿程序相关的信息发送至该集群中的其他服务器,以使其他服务器更新其所维护的路由表,从而实现路由表的同步,第一服 务器通过查找位于第一服务器的路由表,确定目标寄宿程序对应的第二服务器。作为另一种实现方式,该路由表只在集群的一个中心服务器上存储,当开发者在一个服务器上发布一个寄宿程序时,与该寄宿程序相关的信息发送至该中心服务器,从而实现路由表的同步,第一服务器向该中心服务器发出请求,该中心服务器通过查找位于中心服务器的路由表,确定目标寄宿程序对应的第二服务器,把第二服务器作为请求结果返回给第一服务器。In step S12, the first server determines a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. For example, after the first server receives the access request of the user equipment to the boarding program A, it finds through the routing table that the boarding program A has been published on the second server, where the routing table is used to maintain the mapping relationship between the boarding program and the server , Through the routing table, you can find the server that has released the hosting program corresponding to a certain hosting program. As an implementation method, the routing table is stored on multiple servers in a cluster. When a developer publishes a hosting program on a server, the server updates the routing table maintained by the server, and the routing table will be related to the hosting program. The information is sent to other servers in the cluster so that other servers can update the routing tables they maintain, thereby realizing the synchronization of the routing tables. The first server determines the second corresponding to the target hosting program by looking up the routing table located on the first server. server. As another implementation method, the routing table is only stored on a central server in the cluster. When a developer publishes a hosting program on a server, the information related to the hosting program is sent to the central server, thereby realizing the routing table The first server sends a request to the central server. The central server determines the second server corresponding to the target hosting program by looking up the routing table in the central server, and returns the second server to the first server as the request result.
在步骤S13中,第一服务器向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序。其中,所述目标寄宿程序包括但不限于所述目标寄宿程序的代码文件等。例如,第一服务器接收到用户设备对寄宿程序A的访问请求后,向第二服务器发送寄宿程序A的读取请求,第二服务器收到寄宿程序A的读取请求后,把寄宿程序A的代码文件作为请求结果返回给第一服务器。In step S13, the first server sends a read request regarding the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request. Wherein, the target boarding program includes but not limited to the code file of the target boarding program. For example, after the first server receives the access request of the user equipment to the hosting program A, it sends the reading request of the hosting program A to the second server. After receiving the reading request of the hosting program A, the The code file is returned to the first server as the request result.
在步骤S14中,第一服务器将所述目标寄宿程序提供至所述用户设备。例如,第一服务器向第二服务器发送寄宿程序A的读取请求,在接收到第二服务器返回的关于寄宿程序A的请求结果后,将寄宿程序A的代码文件返回给所述用户设备。In step S14, the first server provides the target hosting program to the user equipment. For example, the first server sends a read request for the hosting program A to the second server, and after receiving the request result for the hosting program A returned by the second server, it returns the code file of the hosting program A to the user equipment.
在一些实施例中,该方法还包括步骤S15(未示出),在步骤S15中,第一服务器对所述目标寄宿程序进行预处理;其中,所述步骤S14包括:第一服务器将预处理后的所述目标寄宿程序提供至所述用户设备。其中,该预处理包括但不限于代码文件部署到服务器的指定目录位置、重新编译等,所述目标寄宿程序包括但不限于目标寄宿程序的可执行文件等,例如,第一服务器将目标寄宿程序A的代码文件部署到第一服务器的指定目录位置(例如,“/nginx/dist/programA”),然后基于第一服务器的运行环境,重新编译该代码文件,从而生成目标寄宿程序A的可执行文件,以使目标寄宿程序A在第一服务器上发布,然后将在第一服务器上发布后的寄宿程序A发送给所述用户设备。In some embodiments, the method further includes step S15 (not shown). In step S15, the first server preprocesses the target hosting program; wherein, step S14 includes: the first server preprocesses The latter target hosting program is provided to the user equipment. Wherein, the preprocessing includes, but is not limited to, deployment of code files to the specified directory location of the server, recompilation, etc., the target hosting program includes but not limited to the executable file of the target hosting program, etc., for example, the first server transfers the target hosting program The code file of A is deployed to the specified directory location of the first server (for example, "/nginx/dist/programA"), and then based on the operating environment of the first server, the code file is recompiled to generate the executable of the target host program A File, so that the target hosting program A is published on the first server, and then the hosting program A published on the first server is sent to the user equipment.
在一些实施例中,所述步骤S11包括:第一服务器根据用户设备向所述第一服务器发送的寄宿程序访问请求,向所述用户设备发送一个或多个寄宿程序描述信息;接收所述用户设备发送的、对目标寄宿程序的访问请求,其中,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿 程序描述信息相对应。其中,该访问请求包括但不限于浏览、搜索等请求,该寄宿程序描述信息包括但不限于寄宿程序的名称、简介、大小、类别、截图等信息。例如,用户在用户设备上的一个宿主程序中搜索关键字为“地图”的寄宿程序,该宿主程序中会呈现所有跟“地图”相关的寄宿程序的图标,当用户点击寄宿程序A对应的图标时,用户设备会向第一服务器发送关于寄宿程序A的访问请求,第一服务器会向用户设备返回该寄宿程序A的描述信息(比如,名称是“寄宿程序A”,大小是“150M”,类别是“工具”,简介是“科技让出行更简单,地图A全新升级,立即开启你的简单出行”),该宿主程序会呈现寄宿程序A的描述信息,然后用户选中该寄宿程序A,用户设备向第一服务器发起对寄宿程序A的访问请求。In some embodiments, the step S11 includes: the first server sends one or more host program description information to the user equipment according to the host program access request sent by the user equipment to the first server; and receives the user equipment. A request for access to a target hosting program sent by a device, wherein the target hosting program corresponds to the selected target hosting program description information in the one or more hosting program description information. Wherein, the access request includes but is not limited to requests such as browsing, search, and the host program description information includes, but is not limited to, the name, profile, size, category, screenshot and other information of the host program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request for the hosting program A to the first server, and the first server will return the description information of the hosting program A to the user equipment (for example, the name is "hosting program A" and the size is "150M", The category is "Tools", and the brief introduction is "Technology makes travel easier, Map A is newly upgraded, and your simple travel is started immediately"), the host program will present the description of boarding program A, and then the user selects the boarding program A, the user The device initiates an access request to the hosting program A to the first server.
在一些实施例中,所述一个或多个寄宿程序描述信息中每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器。其中,寄宿程序描述信息对应的寄宿程序在第一服务器上未发布,在第二服务器上已发布,例如,描述信息是名称“寄宿程序A”、大小“150M”、类型“工具”,该描述信息对应的寄宿程序是寄宿程序A,寄宿程序A在第一服务器上未发布,在第二服务器上已发布。In some embodiments, the boarding program corresponding to each boarding program description information in the one or more boarding program description information is published on the second server. Among them, the boarding program corresponding to the description information of the boarding program has not been published on the first server but has been published on the second server. For example, the description information is the name "Boarding Program A", the size "150M", and the type "tool". The boarding program corresponding to the information is boarding program A, and boarding program A has not been published on the first server but has been published on the second server.
在一些实施例中,该方法还包括步骤S16(未示出),在步骤S16中,第一服务器获取所述一个或多个寄宿程序描述信息。例如,当第二服务器上新发布寄宿程序B时,第二服务器会将寄宿程序B的描述信息发送给第一服务器,第一服务器接收第二服务器发送的寄宿程序B的描述信息。又例如,第一服务器向第二服务器请求寄宿程序C的描述信息,第二服务器收到第一服务器发来的请求后,将寄宿程序C对应的描述信息作为该请求的响应结果返回给第一服务器。In some embodiments, the method further includes step S16 (not shown). In step S16, the first server obtains the one or more boarding program description information. For example, when hosting program B is newly released on the second server, the second server will send the description information of hosting program B to the first server, and the first server will receive the description information of hosting program B sent by the second server. For another example, the first server requests the description information of the hosting program C from the second server. After receiving the request sent by the first server, the second server returns the description information corresponding to the hosting program C as the response result of the request to the first server. server.
在一些实施例中,所述步骤S16包括:第一服务器向所述第二服务器发送寄宿程序查询请求;接收所述第二服务器基于所述寄宿程序查询请求发送的、一个或多个寄宿程序更新信息;根据所述一个或多个寄宿程序更新信息生成所述一个或多个寄宿程序描述信息。其中,寄宿程序更新信息包括但不限于在该服务器上新发布或者新更新的寄宿程序的概要信息,该概要信息包括但不限于该寄宿程序的名称、大小、发布或者更新内容,发布或者更新时间等。例如, 第一服务器向第二服务器发送寄宿程序查询请求,该查询请求的请求参数是上次查询请求的时间戳,第二服务器收到该查询请求后,解析该查询请求的请求参数,获取上次查询请求的时间戳,通过匹配从该时间戳到当前时间的这一段时间范围内新发布或者新更新的寄宿程序,将该新发布寄宿程序的发布内容信息和新更新寄宿程序的更新内容信息确定为寄宿程序更新信息,然后将该寄宿程序更新信息作为该查询请求的响应结果返回给第一服务器,第一服务器根据接收到的寄宿程序更新信息,生成该寄宿程序的描述信息。例如,第一服务器上次查询请求的时间戳是“2019-03-25 10:00:00”,第二服务器收到这次查询请求的当前时间是“2019-03-26 10:00:00”,通过匹配从“2019-03-25 10:00:00”到“2019-03-26 10:00:00”这一段时间范围,匹配得到该时间范围内第二服务器上仅有寄宿程序B新发布,将“‘2019-03-26 16:00:00’寄宿程序B在第二服务器上新发布,名称是‘寄宿程序B’,大小是‘100M’,发布内容是‘一键连接,高速上网’”作为寄宿程序B的更新信息,将该更新信息返回给第一服务器,第一服务器将该更新信息生成寄宿程序B的描述信息(名称是“寄宿程序B”,大小是“100M”,简介是“一键连接,高速上网”)。In some embodiments, the step S16 includes: the first server sends a hosting program query request to the second server; receiving one or more hosting program updates sent by the second server based on the hosting program query request Information; generating the one or more boarding program description information according to the one or more boarding program update information. Wherein, the boarding program update information includes but is not limited to the summary information of the boarding program newly released or updated on the server. The summary information includes but not limited to the name, size, release or update content, release or update time of the boarding program Wait. For example, the first server sends a host program query request to the second server. The request parameter of the query request is the timestamp of the last query request. After receiving the query request, the second server parses the request parameters of the query request to obtain the upper The timestamp of the query request, by matching the newly released or newly updated hosting program in the period from the timestamp to the current time, the published content information of the newly released hosting program and the updated content information of the new updated hosting program It is determined as the boarding program update information, and then the boarding program update information is returned to the first server as a response result of the query request, and the first server generates description information of the boarding program according to the received boarding program update information. For example, the timestamp of the last query request of the first server is "2019-03-25 10:00:00", and the current time when the second server receives this query request is "2019-03-26 10:00:00" ", by matching the period of time from "2019-03-25 10:00:00" to "2019-03-26 10:00:00", the matching shows that there is only boarding program B on the second server in this time range Newly released, "'2019-03-26 16:00:00' Hosting Program B is newly released on the second server, the name is'Hosting Program B', the size is '100M', and the published content is'One-click connection. "High-speed Internet access" as the update information of the boarding program B, return the update information to the first server, and the first server generates the description information of the boarding program B with the updated information (the name is "Boarding Program B" and the size is "100M" , The introduction is "one-click connection, high-speed Internet access").
在一些实施例中,发布于所述第一服务器的寄宿程序与发布于所述第二服务器的寄宿程序基于相同的寄宿程序编写规范信息。例如,发布于所述第一服务器的寄宿程序和发布于所述第二服务器的寄宿程序要基于相同的架构、组件、接口等,以保证第二服务器上发布的寄宿程序,在第一服务器上能够正确的编译运行。In some embodiments, the boarding program published on the first server and the boarding program published on the second server are written based on the same boarding program specification information. For example, the hosting program published on the first server and the hosting program published on the second server should be based on the same architecture, components, interfaces, etc., to ensure that the hosting program published on the second server is on the first server. Can compile and run correctly.
图3示出了根据本申请一个实施例的一种在第二服务器端提供寄宿程序的方法,其中,该方法包括步骤S21和步骤S22。在步骤S21中,第二服务器端接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器;在步骤S22中,第二服务器端向所述第一服务器返回所述目标寄宿程序。Fig. 3 shows a method for providing a boarding program on the second server side according to an embodiment of the present application, wherein the method includes step S21 and step S22. In step S21, the second server receives a read request for the target hosting program sent by the first server, wherein the target hosting program is published on the second server; in step S22, the second server sends The first server returns the target hosting program.
在步骤S21中,第二服务器端接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器,所述目标寄宿程序未发布于所述第一服务器。例如,第二服务器接收第一服务器发送的关于寄宿程序A的读取请求,寄宿程序A发布于第二服务器,未发布于第一服务器。In step S21, the second server receives a read request for the target hosting program sent by the first server, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. One server. For example, the second server receives a read request for the hosting program A sent by the first server, and the hosting program A is published on the second server but not on the first server.
在步骤S22中,第二服务器端向所述第一服务器返回所述目标寄宿程序。例如,在步骤S21中,第二服务器接收第一服务器发送的关于寄宿程序A的读取请求;在步骤S22中,第二服务器把寄宿程序A作为所述读取请求的响应结果返回给第一服务器。In step S22, the second server terminal returns the target hosting program to the first server. For example, in step S21, the second server receives a read request for hosting program A sent by the first server; in step S22, the second server returns hosting program A to the first server as a response to the read request. server.
在一些实施例中,所述第一服务器包括一个或多个寄宿程序描述信息,其中,每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿程序描述信息相对应。其中,第一服务器包括一个或多个寄宿程序描述信息,第一服务器根据该用户设备向第一服务器发送的寄宿程序访问请求,向该用户设备发送该一个或多个寄宿程序描述信息,并在该用户设备的宿主程序上呈现该一个或多个寄宿程序描述信息,将该用户设备上选中的某个寄宿程序描述信息确认为目标寄宿程序描述信息,该目标寄宿程序描述信息对应的目标寄宿程序发布于第二服务器,而未在第一服务器上发布。In some embodiments, the first server includes one or more boarding program description information, wherein the boarding program corresponding to each boarding program description information is published on the second server, and the target boarding program and the One or more boarding program description information corresponds to the selected target boarding program description information. The first server includes one or more boarding program description information, and the first server sends the one or more boarding program description information to the user equipment according to the boarding program access request sent by the user equipment to the first server, and The host program of the user equipment presents the one or more host program description information, the selected host program description information on the user equipment is confirmed as the target host program description information, and the target host program corresponding to the target host program description information Published on the second server, but not on the first server.
在一些实施例中,该方法还包括步骤S23(未示出),在步骤S23中,第二服务器向所述第一服务器发送所述一个或多个寄宿程序描述信息。例如,当第二服务器上有一个或多个寄宿程序发布或者更新时,第二服务器会把该一个或多个寄宿程序对应的一个或多个寄宿程序描述信息发送给第一服务器。In some embodiments, the method further includes step S23 (not shown). In step S23, the second server sends the one or more hosting program description information to the first server. For example, when one or more hosting programs are released or updated on the second server, the second server will send one or more hosting program description information corresponding to the one or more hosting programs to the first server.
在一些实施例中,该方法还包括步骤S24(未示出),在步骤S24中,第二服务器接收所述第一服务器的寄宿程序查询请求;根据所述寄宿程序查询请求,确定所述第二服务器上的一个或多个寄宿程序更新信息;将所述一个或多个寄宿程序更新信息提供给所述第一服务器,以生成所述一个或多个寄宿程序描述信息。在此所述操作已在上文中予以详述,在此不再赘述。In some embodiments, the method further includes step S24 (not shown). In step S24, the second server receives the host program query request of the first server; according to the host program query request, the first server is determined 2. One or more boarding program update information on the server; providing the one or more boarding program update information to the first server to generate the one or more boarding program description information. The operations described here have been described in detail above and will not be repeated here.
第一服务器接收用户设备对目标寄宿程序的访问请求后,能够向发布该目标寄宿程序的第二服务器请求该目标寄宿程序,从而使得开发者仅需在一个服务器上发布寄宿程序,便能实现该寄宿程序在多个平台的共享,而无需在多个服务器中重复发布寄宿程序,从而增加开发者的效率;同时,第一服务器上接收到用户设备对目标寄宿程序的访问请求后,才会向发布该目标寄宿程序的第二服务器请求该目标寄宿程序,并将该目标寄宿程序进行预处理后发布在第二服务器上,当用户设备再次发起该目标寄宿程序的访问请求后,第二服务器将 其部署的目标寄宿程序直接返回用户设备即可,而无需再次请求第二服务器,这样避免了服务器上发布了大量无用寄宿程序,在用户设备向该服务器请求寄宿程序的时候才在该服务器上发布该寄宿程序,以实现按需发布,增加寄宿程序的资源利用率。After the first server receives the user equipment's request for access to the target hosting program, it can request the target hosting program from the second server that publishes the target hosting program, so that the developer only needs to publish the hosting program on one server to achieve this The boarding program is shared on multiple platforms without re-publishing the boarding program in multiple servers, thereby increasing the efficiency of developers; at the same time, the first server will only send the request to the target boarding program after receiving the user’s device access request. The second server that publishes the target hosting program requests the target hosting program, and preprocesses the target hosting program before publishing it on the second server. When the user equipment initiates an access request for the target hosting program again, the second server will The target hosting program deployed can be directly returned to the user's device without requesting the second server again, which avoids publishing a large number of useless hosting programs on the server, which is only published on the server when the user device requests the hosting program from the server The boarding program can be released on demand and increase the resource utilization of the boarding program.
图4示出了根据本申请一个实施例的一种提供寄宿程序的系统方法流程图。Fig. 4 shows a flowchart of a system method for providing a boarding program according to an embodiment of the present application.
如图4所示,在步骤S31中,用户设备向第一服务器发送对目标寄宿程序的访问请求;在步骤S32中。第一服务器接收用户设备对目标寄宿程序的访问请求,步骤S32和前述步骤S11相同或者相似,在此不再赘述;在步骤S33中,第一服务器确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器,步骤S33和前述步骤S12相同或者相似,在此不再赘述;在步骤S34中,第一服务器向所述第二服务器发送关于所述目标寄宿程序的读取请求,步骤S34和前述步骤S13相同或者相似,在此不再赘述;在步骤S35中,第二服务器接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器,步骤S35和前述步骤S21相同或者相似,在此不再赘述;在步骤S36中,第二服务器向所述第一服务器返回所述目标寄宿程序,步骤S36和前述步骤S22相同或者相似,在此不再赘述;在步骤S37中,第一服务器接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序,步骤S37和前述步骤S13相同或者相似,在此不再赘述;在步骤S38中,第一服务器将所述目标寄宿程序提供至所述用户设备,步骤S38和前述步骤S14相同或者相似,在此不再赘述;在步骤S39中,用户设备接收所述目标寄宿程序。As shown in FIG. 4, in step S31, the user equipment sends an access request to the target hosting program to the first server; in step S32. The first server receives the user equipment's request for access to the target hosting program. Step S32 is the same as or similar to the aforementioned step S11, and will not be repeated here; in step S33, the first server determines the second server corresponding to the target hosting program, Wherein, the target hosting program is published on the second server, and step S33 is the same as or similar to the foregoing step S12, and will not be repeated here; in step S34, the first server sends information about the target to the second server For the read request of the host program, step S34 is the same as or similar to the aforementioned step S13, and will not be repeated here; in step S35, the second server receives the read request for the target host program sent by the first server, wherein the The target hosting program is published on the second server, and step S35 is the same as or similar to the aforementioned step S21, and will not be repeated here; in step S36, the second server returns the target hosting program to the first server, step S36 It is the same as or similar to the foregoing step S22, and will not be repeated here; in step S37, the first server receives the target hosting program returned by the second server based on the read request, and step S37 is the same as the foregoing step S13 or It is similar and will not be repeated here; in step S38, the first server provides the target boarding program to the user equipment, and step S38 is the same as or similar to the foregoing step S14, and will not be repeated here; in step S39, The user equipment receives the target boarding program.
图5示出了根据本申请一个实施例的一种用于提供寄宿程序的第一服务器,其中,该第一服务器包括一一模块11、一二模块12、一三模块12以及一四模块14。一一模块11,用于接收用户设备对目标寄宿程序的访问请求;一二模块12,用于确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;一三模块13,用于向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;一四模块14,用于将所述目标寄宿程序提供至所述用户设备。FIG. 5 shows a first server for providing a boarding program according to an embodiment of the present application, where the first server includes a one-to-one module 11, a one-two module 12, a one-three module 12, and a four-module 14 . A one-to-one module 11 is used to receive a user equipment's access request to a target hosting program; a one-to-two module 12 is used to determine a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server Server; a three module 13 for sending a read request about the target hosting program to the second server, and receiving the target hosting program returned by the second server based on the read request; one four The module 14 is used to provide the target hosting program to the user equipment.
一一模块11接收用户设备对目标寄宿程序的访问请求。例如,用户在用 户设备上的一个宿主程序中搜索关键字为“地图”的寄宿程序,该宿主程序中会呈现所有跟“地图”相关的寄宿程序的图标,当用户点击寄宿程序A对应的图标时,用户设备会向第一服务器发送对寄宿程序A的访问请求,第一服务器会接收到用户设备对寄宿程序A的访问请求。The one-to-one module 11 receives the access request from the user equipment to the target hosting program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request to the hosting program A to the first server, and the first server will receive the access request of the user equipment to the hosting program A.
一二模块12确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器,所述目标寄宿程序未在第一服务器上发布。例如,第一服务器接收到用户设备对寄宿程序A的访问请求后,通过路由表查找到寄宿程序A已在第二服务器上发布,其中,该路由表是用于维护寄宿程序和服务器的映射关系,通过路由表可以找到某个寄宿程序对应的已发布该寄宿程序的服务器。作为一种实现方式,一个集群的多个服务器上存储有该路由表,当开发者在一个服务器上发布一个寄宿程序时,该服务器更新其所维护的路由表,且将与该寄宿程序相关的信息发送至该集群中的其他服务器,以使其他服务器更新其所维护的路由表,从而实现路由表的同步,第一服务器通过查找位于第一服务器的路由表,确定目标寄宿程序对应的第二服务器。作为另一种实现方式,该路由表只在集群的一个中心服务器上存储,当开发者在一个服务器上发布一个寄宿程序时,与该寄宿程序相关的信息发送至该中心服务器,从而实现路由表的同步,第一服务器向该中心服务器发出请求,该中心服务器通过查找位于中心服务器的路由表,确定目标寄宿程序对应的第二服务器,把第二服务器作为请求结果返回给第一服务器。The one-two module 12 determines the second server corresponding to the target hosting program, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. For example, after the first server receives the access request of the user equipment to the boarding program A, it finds through the routing table that the boarding program A has been published on the second server, where the routing table is used to maintain the mapping relationship between the boarding program and the server , Through the routing table, you can find the server that has released the hosting program corresponding to a certain hosting program. As an implementation method, the routing table is stored on multiple servers in a cluster. When a developer publishes a hosting program on a server, the server updates the routing table maintained by the server, and the routing table will be related to the hosting program. The information is sent to other servers in the cluster so that other servers can update the routing tables they maintain, thereby realizing the synchronization of the routing tables. The first server determines the second corresponding to the target hosting program by looking up the routing table located on the first server. server. As another implementation method, the routing table is only stored on a central server in the cluster. When a developer publishes a hosting program on a server, the information related to the hosting program is sent to the central server, thereby realizing the routing table The first server sends a request to the central server. The central server determines the second server corresponding to the target hosting program by looking up the routing table in the central server, and returns the second server to the first server as the request result.
一三模块13向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序。其中,所述目标寄宿程序包括但不限于所述目标寄宿程序的代码文件等。例如,第一服务器接收到用户设备对寄宿程序A的访问请求后,向第二服务器发送寄宿程序A的读取请求,第二服务器收到寄宿程序A的读取请求后,把寄宿程序A的代码文件作为请求结果返回给第一服务器。The 13th module 13 sends a read request regarding the target hosting program to the second server, and receives the target hosting program returned by the second server based on the read request. Wherein, the target boarding program includes but not limited to the code file of the target boarding program. For example, after the first server receives the access request of the user equipment to the hosting program A, it sends the reading request of the hosting program A to the second server. After receiving the reading request of the hosting program A, the The code file is returned to the first server as the request result.
一四模块14将所述目标寄宿程序提供至所述用户设备。例如,第一服务器向第二服务器发送寄宿程序A的读取请求,在接收到第二服务器返回的关于寄宿程序A的请求结果后,将寄宿程序A的代码文件返回给所述用户设备。The 14th module 14 provides the target hosting program to the user equipment. For example, the first server sends a read request for the hosting program A to the second server, and after receiving the request result for the hosting program A returned by the second server, it returns the code file of the hosting program A to the user equipment.
在一些实施例中,所述第一服务器还包括一五模块15(未示出),一五模 块15用于对所述目标寄宿程序进行预处理;其中,所述一四模块14用于:将预处理后的所述目标寄宿程序提供至所述用户设备。其中,该预处理包括但不限于代码文件部署到服务器的指定目录位置、重新编译等,所述目标寄宿程序包括但不限于目标寄宿程序的可执行文件等,例如,第一服务器将目标寄宿程序A的代码文件部署到第一服务器的指定目录位置(例如,“/nginx/dist/programA”),然后基于第一服务器的运行环境,重新编译该代码文件,从而生成目标寄宿程序A的可执行文件,以使目标寄宿程序A在第一服务器上发布,然后将在第一服务器上发布后的寄宿程序A发送给所述用户设备。In some embodiments, the first server further includes a fifth module 15 (not shown), and the fifth module 15 is used to preprocess the target hosting program; wherein, the fourth module 14 is used to: The preprocessed target hosting program is provided to the user equipment. Wherein, the preprocessing includes, but is not limited to, deployment of code files to the specified directory location of the server, recompilation, etc., the target hosting program includes but not limited to the executable file of the target hosting program, etc., for example, the first server transfers the target hosting program The code file of A is deployed to the specified directory location of the first server (for example, "/nginx/dist/programA"), and then based on the operating environment of the first server, the code file is recompiled to generate the executable of the target host program A File, so that the target hosting program A is published on the first server, and then the hosting program A published on the first server is sent to the user equipment.
在一些实施例中,所述一一模块11用于:根据用户设备向所述第一服务器发送的寄宿程序访问请求,向所述用户设备发送一个或多个寄宿程序描述信息;接收所述用户设备发送的、对目标寄宿程序的访问请求,其中,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿程序描述信息相对应。其中,该访问请求包括但不限于浏览、搜索等请求,该寄宿程序描述信息包括但不限于寄宿程序的名称、简介、大小、类别、截图等信息。例如,用户在用户设备上的一个宿主程序中搜索关键字为“地图”的寄宿程序,该宿主程序中会呈现所有跟“地图”相关的寄宿程序的图标,当用户点击寄宿程序A对应的图标时,用户设备会向第一服务器发送关于寄宿程序A的访问请求,第一服务器会向用户设备返回该寄宿程序A的描述信息(比如,名称是“寄宿程序A”,大小是“150M”,类别是“工具”,简介是“科技让出行更简单,地图A全新升级,立即开启你的简单出行”),该宿主程序会呈现寄宿程序A的描述信息,然后用户选中该寄宿程序A,用户设备向第一服务器发起对寄宿程序A的访问请求。In some embodiments, the one-to-one module 11 is configured to: send one or more host program description information to the user equipment according to the host program access request sent by the user equipment to the first server; and receive the user equipment A request for access to a target hosting program sent by a device, wherein the target hosting program corresponds to the selected target hosting program description information in the one or more hosting program description information. Wherein, the access request includes but is not limited to requests such as browsing, search, and the host program description information includes, but is not limited to, the name, profile, size, category, screenshot and other information of the host program. For example, a user searches for a host program with the keyword "map" in a host program on the user's device. The host program will present all the icons of the host program related to "map". When the user clicks the icon corresponding to the host program A At this time, the user equipment will send an access request for the hosting program A to the first server, and the first server will return the description information of the hosting program A to the user equipment (for example, the name is "hosting program A" and the size is "150M", The category is "Tools", and the brief introduction is "Technology makes travel easier, Map A is newly upgraded, and your simple travel is started immediately"), the host program will present the description of boarding program A, and then the user selects the boarding program A, the user The device initiates an access request to the hosting program A to the first server.
在一些实施例中,所述一个或多个寄宿程序描述信息中每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器。其中,寄宿程序描述信息对应的寄宿程序在第一服务器上未发布,在第二服务器上已发布,例如,描述信息是名称“寄宿程序A”、大小“150M”、类型“工具”,该描述信息对应的寄宿程序是寄宿程序A,寄宿程序A在第一服务器上未发布,在第二服务器上已发布。In some embodiments, the boarding program corresponding to each boarding program description information in the one or more boarding program description information is published on the second server. Among them, the boarding program corresponding to the description information of the boarding program has not been published on the first server but has been published on the second server. For example, the description information is the name "Boarding Program A", the size "150M", and the type "tool". The boarding program corresponding to the information is boarding program A, and boarding program A has not been published on the first server but has been published on the second server.
在一些实施例中,所述第一服务器还包括一六模块16(未示出),一六模 块16用于获取所述一个或多个寄宿程序描述信息。例如,当第二服务器上新发布寄宿程序B时,第二服务器会将寄宿程序B的描述信息发送给第一服务器,第一服务器接收第二服务器发送的寄宿程序B的描述信息。又例如,第一服务器向第二服务器请求寄宿程序C的描述信息,第二服务器收到第一服务器发来的请求后,将寄宿程序C对应的描述信息作为该请求的响应结果返回给第一服务器。In some embodiments, the first server further includes a six-module 16 (not shown), and a six-module 16 is used to obtain the one or more boarding program description information. For example, when hosting program B is newly released on the second server, the second server will send the description information of hosting program B to the first server, and the first server will receive the description information of hosting program B sent by the second server. For another example, the first server requests the description information of the hosting program C from the second server. After receiving the request sent by the first server, the second server returns the description information corresponding to the hosting program C as the response result of the request to the first server. server.
在一些实施例中,所述一六模块16用于:向所述第二服务器发送寄宿程序查询请求;接收所述第二服务器基于所述寄宿程序查询请求发送的、一个或多个寄宿程序更新信息;根据所述一个或多个寄宿程序更新信息生成所述一个或多个寄宿程序描述信息。其中,寄宿程序更新信息包括但不限于在该服务器上新发布或者新更新的寄宿程序的概要信息,该概要信息包括但不限于该寄宿程序的名称、大小、发布或者更新内容,发布或者更新时间等。例如,第一服务器向第二服务器发送寄宿程序查询请求,该查询请求的请求参数是上次查询请求的时间戳,第二服务器收到该查询请求后,解析该查询请求的请求参数,获取上次查询请求的时间戳,通过匹配从该时间戳到当前时间的这一段时间范围内新发布或者新更新的寄宿程序,将该新发布寄宿程序的发布内容信息和新更新寄宿程序的更新内容信息确定为寄宿程序更新信息,然后将该寄宿程序更新信息作为该查询请求的响应结果返回给第一服务器,第一服务器根据接收到的寄宿程序更新信息,生成该寄宿程序的描述信息。例如,第一服务器上次查询请求的时间戳是“2019-03-25 10:00:00”,第二服务器收到这次查询请求的当前时间是“2019-03-26 10:00:00”,通过匹配从“2019-03-25 10:00:00”到“2019-03-26 10:00:00”这一段时间范围,匹配得到该时间范围内第二服务器上仅有寄宿程序B新发布,将“‘2019-03-26 16:00:00’寄宿程序B在第二服务器上新发布,名称是‘寄宿程序B’,大小是‘100M’,发布内容是‘一键连接,高速上网’”作为寄宿程序B的更新信息,将该更新信息返回给第一服务器,第一服务器将该更新信息生成寄宿程序B的描述信息(名称是“寄宿程序B”,大小是“100M”,简介是“一键连接,高速上网”)。In some embodiments, the sixteenth module 16 is configured to: send a host program query request to the second server; receive one or more host program updates sent by the second server based on the host program query request Information; generating the one or more boarding program description information according to the one or more boarding program update information. Wherein, the boarding program update information includes but is not limited to the summary information of the boarding program newly released or updated on the server. The summary information includes but not limited to the name, size, release or update content, release or update time of the boarding program Wait. For example, the first server sends a host program query request to the second server. The request parameter of the query request is the timestamp of the last query request. After receiving the query request, the second server parses the request parameters of the query request to obtain the upper The timestamp of the query request, by matching the newly released or newly updated hosting program in the period from the timestamp to the current time, the published content information of the newly released hosting program and the updated content information of the new updated hosting program It is determined as the boarding program update information, and then the boarding program update information is returned to the first server as a response result of the query request, and the first server generates description information of the boarding program according to the received boarding program update information. For example, the timestamp of the last query request of the first server is "2019-03-25 10:00:00", and the current time when the second server receives this query request is "2019-03-26 10:00:00" ", by matching the period of time from "2019-03-25 10:00:00" to "2019-03-26 10:00:00", the matching shows that there is only boarding program B on the second server in this time range Newly released, "'2019-03-26 16:00:00' Hosting Program B is newly released on the second server, the name is'Hosting Program B', the size is '100M', and the published content is'One-click connection. "High-speed Internet access" as the update information of the boarding program B, return the update information to the first server, and the first server generates the description information of the boarding program B with the updated information (the name is "Boarding Program B" and the size is "100M" , The introduction is "one-click connection, high-speed Internet access").
在一些实施例中,发布于所述第一服务器的寄宿程序与发布于所述第二服务器的寄宿程序基于相同的寄宿程序编写规范信息。例如,发布于所述第一服 务器的寄宿程序和发布于所述第二服务器的寄宿程序要基于相同的架构、组件、接口等,以保证第二服务器上发布的寄宿程序,在第一服务器上能够正确的编译运行。In some embodiments, the boarding program published on the first server and the boarding program published on the second server are written based on the same boarding program specification information. For example, the hosting program published on the first server and the hosting program published on the second server should be based on the same architecture, components, interfaces, etc., to ensure that the hosting program published on the second server is on the first server. Can compile and run correctly.
图6示出了根据本申请一个实施例的一种用于提供寄宿程序的第二服务器,其中,该第二服务器包括二一模块21以及二二模块22。二一模块21,用于接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器;二二模块22,用于向所述第一服务器返回所述目标寄宿程序。FIG. 6 shows a second server for providing a boarding program according to an embodiment of the present application, where the second server includes a two-one module 21 and a two-two module 22. The two-one module 21 is used to receive a read request regarding the target hosting program sent by the first server, where the target host program is published on the second server; the second-two module 22 is used to send the request to the first server Return to the target boarding program.
二一模块21接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器,所述目标寄宿程序未发布于所述第一服务器。例如,第二服务器接收第一服务器发送的关于寄宿程序A的读取请求,寄宿程序A发布于第二服务器,未发布于第一服务器。The two-to-one module 21 receives a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server, and the target hosting program is not published on the first server. For example, the second server receives a read request for the hosting program A sent by the first server, and the hosting program A is published on the second server but not on the first server.
二二模块22向所述第一服务器返回所述目标寄宿程序。例如,二一模块21接收第一服务器发送的关于寄宿程序A的读取请求;二二模块22把寄宿程序A作为所述读取请求的响应结果返回给第一服务器。The two-two module 22 returns the target hosting program to the first server. For example, the two-one module 21 receives a read request for the host program A sent by the first server; the second-two module 22 returns the host program A to the first server as a response to the read request.
在一些实施例中,所述第一服务器包括一个或多个寄宿程序描述信息,其中,每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿程序描述信息相对应。其中,第一服务器包括一个或多个寄宿程序描述信息,第一服务器根据该用户设备向第一服务器发送的寄宿程序访问请求,向该用户设备发送该一个或多个寄宿程序描述信息,并在该用户设备的宿主程序上呈现该一个或多个寄宿程序描述信息,将该用户设备上选中的某个寄宿程序描述信息确认为目标寄宿程序描述信息,该目标寄宿程序描述信息对应的目标寄宿程序发布于第二服务器,而未在第一服务器上发布。In some embodiments, the first server includes one or more boarding program description information, wherein the boarding program corresponding to each boarding program description information is published on the second server, and the target boarding program and the One or more boarding program description information corresponds to the selected target boarding program description information. The first server includes one or more boarding program description information, and the first server sends the one or more boarding program description information to the user equipment according to the boarding program access request sent by the user equipment to the first server, and The host program of the user equipment presents the one or more host program description information, the selected host program description information on the user equipment is confirmed as the target host program description information, and the target host program corresponding to the target host program description information Published on the second server, but not on the first server.
在一些实施例中,所述第二服务器还包括二三模块23(未示出),二三模块23用于向所述第一服务器发送所述一个或多个寄宿程序描述信息。例如,当第二服务器上有一个或多个寄宿程序发布或者更新时,第二服务器会把该一个或多个寄宿程序对应的一个或多个寄宿程序描述信息发送给第一服务器。In some embodiments, the second server further includes a second and third module 23 (not shown), and the second and third module 23 is configured to send the one or more boarding program description information to the first server. For example, when one or more hosting programs are released or updated on the second server, the second server will send one or more hosting program description information corresponding to the one or more hosting programs to the first server.
在一些实施例中,所述第二服务器还包括二四模块24(未示出),二四模 块24用于接收所述第一服务器的寄宿程序查询请求;根据所述寄宿程序查询请求,确定所述第二服务器上的一个或多个寄宿程序更新信息;将所述一个或多个寄宿程序更新信息提供给所述第一服务器,以生成所述一个或多个寄宿程序描述信息。在此所述操作已在上文中予以详述,在此不再赘述。In some embodiments, the second server further includes a two-four module 24 (not shown). The two-four module 24 is used to receive a host program query request of the first server; and determine according to the host program query request One or more hosting program update information on the second server; providing the one or more hosting program update information to the first server to generate the one or more hosting program description information. The operations described here have been described in detail above and will not be repeated here.
图7示出了可被用于实施本申请中所述的各个实施例的示例性系统;Figure 7 shows an exemplary system that can be used to implement the various embodiments described in this application;
如图7所示在一些实施例中,系统300能够作为各所述实施例中的任意一个设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。As shown in FIG. 7, in some embodiments, the system 300 can be used as any device in each of the described embodiments. In some embodiments, the system 300 may include one or more computer-readable media having instructions (for example, system memory or NVM/storage device 320) and be coupled with the one or more computer-readable media and configured to execute The instructions are one or more processors (eg, processor(s) 305) that implement modules to perform the actions described in this application.
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。For an embodiment, the system control module 310 may include any suitable interface controller to provide at least one of the processor(s) 305 and/or any suitable device or component in communication with the system control module 310 Any appropriate interface.
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。The system control module 310 may include a memory controller module 330 to provide an interface to the system memory 315. The memory controller module 330 may be a hardware module, a software module, and/or a firmware module.
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。The system memory 315 may be used to load and store data and/or instructions for the system 300, for example. For one embodiment, the system memory 315 may include any suitable volatile memory, for example, a suitable DRAM. In some embodiments, the system memory 315 may include a double data rate type quad synchronous dynamic random access memory (DDR4 SDRAM).
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。For an embodiment, the system control module 310 may include one or more input/output (I/O) controllers to provide an interface to the NVM/storage device 320 and the communication interface(s) 325.
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。For example, NVM/storage device 320 can be used to store data and/or instructions. The NVM/storage device 320 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives ( HDD), one or more compact disc (CD) drives and/or one or more digital versatile disc (DVD) drives).
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。The NVM/storage device 320 may include storage resources that are physically part of the device on which the system 300 is installed, or it may be accessed by the device and not necessarily be a part of the device. For example, the NVM/storage device 320 may be accessed via the communication interface(s) 325 through the network.
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络 和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。The communication interface(s) 325 may provide an interface for the system 300 to communicate through one or more networks and/or with any other suitable devices. The system 300 can wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and/or protocols.
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。For one embodiment, at least one of the processor(s) 305 may be packaged with the logic of one or more controllers of the system control module 310 (eg, the memory controller module 330). For one embodiment, at least one of the processor(s) 305 may be packaged with the logic of one or more controllers of the system control module 310 to form a system in package (SiP). For one embodiment, at least one of the processor(s) 305 may be integrated with the logic of one or more controllers of the system control module 310 on the same mold. For one embodiment, at least one of the processor(s) 305 may be integrated with the logic of one or more controllers of the system control module 310 on the same mold to form a system on chip (SoC).
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。In various embodiments, the system 300 may be, but is not limited to, a server, a workstation, a desktop computing device, or a mobile computing device (for example, a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.). In various embodiments, the system 300 may have more or fewer components and/or different architectures. For example, in some embodiments, the system 300 includes one or more cameras, keyboards, liquid crystal display (LCD) screens (including touchscreen displays), non-volatile memory ports, multiple antennas, graphics chips, application specific integrated circuits ( ASIC) and speakers.
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。The present application also provides a computer-readable storage medium that stores computer code, and when the computer code is executed, the method described in any of the preceding items is executed.
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。The present application also provides a computer program product. When the computer program product is executed by a computer device, the method described in any of the preceding items is executed.
本申请还提供了一种计算机设备,所述计算机设备包括:This application also provides a computer device, which includes:
一个或多个处理器;One or more processors;
存储器,用于存储一个或多个计算机程序;Memory, used to store one or more computer programs;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。When the one or more computer programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any one of the preceding items.
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储 到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。It should be noted that this application can be implemented in software and/or a combination of software and hardware, for example, it can be implemented by an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In an embodiment, the software program of the present application may be executed by a processor to realize the steps or functions described above. Similarly, the software program (including related data structure) of the present application can be stored in a computer-readable recording medium, for example, RAM memory, magnetic or optical drive or floppy disk and similar devices. In addition, some steps or functions of the present application may be implemented by hardware, for example, as a circuit that cooperates with a processor to execute each step or function.
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。In addition, a part of this application can be applied as a computer program product, such as computer program instructions, when executed by a computer, through the operation of the computer, the method and/or technical solution according to the application can be invoked or provided. Those skilled in the art should understand that the computer program instructions in the computer-readable medium include but are not limited to source files, executable files, installation package files, etc. Correspondingly, the manner in which computer program instructions are executed by the computer includes but not Limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction before executing the corresponding post-installation program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium that can be accessed by a computer.
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。Communication media includes media by which communication signals containing, for example, computer-readable instructions, data structures, program modules, or other data are transmitted from one system to another system. Communication media can include conductive transmission media (such as cables and wires (for example, optical fiber, coaxial, etc.)) and wireless (unguided transmission) media that can propagate energy waves, such as sound, electromagnetic, RF, microwave, and infrared . Computer readable instructions, data structures, program modules or other data may be embodied as, for example, a modulated data signal in a wireless medium such as a carrier wave or similar mechanism such as embodied as part of spread spectrum technology. The term "modulated data signal" refers to a signal whose one or more characteristics have been altered or set in such a way as to encode information in the signal. Modulation can be analog, digital or hybrid modulation techniques.
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。As an example and not limitation, a computer-readable storage medium may include volatile, non-volatile, nonvolatile, and nonvolatile, and may be implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Removable and non-removable media. For example, computer-readable storage media include, but are not limited to, volatile memory, such as random access memory (RAM, DRAM, SRAM); and non-volatile memory, such as flash memory, various read-only memories (ROM, PROM, EPROM) , EEPROM), magnetic and ferromagnetic/ferroelectric memory (MRAM, FeRAM); and magnetic and optical storage devices (hard disks, tapes, CDs, DVDs); or other currently known media or future developments that can be stored for computer systems Computer readable information/data used.
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算 机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。Here, an embodiment according to the present application includes a device including a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, trigger The operation of the device is based on the aforementioned methods and/or technical solutions according to multiple embodiments of the present application.
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。For those skilled in the art, it is obvious that the present application is not limited to the details of the foregoing exemplary embodiments, and the present application can be implemented in other specific forms without departing from the spirit or basic characteristics of the application. Therefore, no matter from which point of view, the embodiments should be regarded as exemplary and non-limiting. The scope of this application is defined by the appended claims rather than the above description, and therefore it is intended to fall into the claims. All changes in the meaning and scope of the equivalent elements of are included in this application. Any reference signs in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "including" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claims can also be implemented by one unit or device through software or hardware. Words such as first and second are used to denote names, but do not denote any specific order.

Claims (14)

  1. 一种在第一服务器端提供寄宿程序的方法,其中,所述方法包括:A method for providing a boarding program on a first server side, wherein the method includes:
    接收用户设备对目标寄宿程序的访问请求;Receive the access request of the user equipment to the target hosting program;
    确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;Determining a second server corresponding to the target hosting program, wherein the target hosting program is published on the second server;
    向所述第二服务器发送关于所述目标寄宿程序的读取请求,并接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;Sending a read request for the target hosting program to the second server, and receiving the target hosting program returned by the second server based on the reading request;
    将所述目标寄宿程序提供至所述用户设备。The target hosting program is provided to the user equipment.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, wherein the method further comprises:
    对所述目标寄宿程序进行预处理;Preprocessing the target boarding program;
    其中,所述将所述目标寄宿程序提供至所述用户设备,包括:Wherein, the providing the target boarding program to the user equipment includes:
    将预处理后的所述目标寄宿程序提供至所述用户设备。The preprocessed target hosting program is provided to the user equipment.
  3. 根据权利要求1或2所述的方法,其中,所述接收用户设备对目标寄宿程序的访问请求,包括:The method according to claim 1 or 2, wherein the receiving a user equipment access request to the target hosting program comprises:
    根据用户设备向所述第一服务器发送的寄宿程序访问请求,向所述用户设备发送一个或多个寄宿程序描述信息;Sending one or more host program description information to the user equipment according to the host program access request sent by the user equipment to the first server;
    接收所述用户设备发送的、对目标寄宿程序的访问请求,其中,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿程序描述信息相对应。Receiving a request for access to a target hosting program sent by the user equipment, wherein the target hosting program corresponds to the selected target hosting program description information in the one or more hosting program description information.
  4. 根据权利要求3所述的方法,所述一个或多个寄宿程序描述信息中每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器。According to the method of claim 3, the boarding program corresponding to each boarding program description information in the one or more boarding program description information is published on the second server.
  5. 根据权利要求4所述的方法,其中,所述方法还包括:The method according to claim 4, wherein the method further comprises:
    获取所述一个或多个寄宿程序描述信息。Obtain the one or more boarding program description information.
  6. 根据权利要求5所述的方法,其中,所述获取所述一个或多个寄宿程序描述信息,包括:The method according to claim 5, wherein said obtaining said one or more boarding program description information comprises:
    向所述第二服务器发送寄宿程序查询请求;Sending a host program query request to the second server;
    接收所述第二服务器基于所述寄宿程序查询请求发送的、一个或多个寄宿程序更新信息;Receiving one or more hosting program update information sent by the second server based on the hosting program query request;
    根据所述一个或多个寄宿程序更新信息生成所述一个或多个寄宿程序描述信息。The one or more boarding program description information is generated according to the one or more boarding program update information.
  7. 根据权利要求1至6中任一项所述的方法,其中,发布于所述第一服务器的寄宿程序与发布于所述第二服务器的寄宿程序基于相同的寄宿程序编写规范信息。7. The method according to any one of claims 1 to 6, wherein the boarding program published on the first server and the boarding program published on the second server write specification information based on the same boarding program.
  8. 一种在第二服务器端提供寄宿程序的方法,其中,所述方法包括:A method for providing a hosting program on a second server side, wherein the method includes:
    接收第一服务器发送的关于目标寄宿程序的读取请求,其中,所述目标寄宿程序发布于所述第二服务器;Receiving a read request for a target hosting program sent by a first server, wherein the target hosting program is published on the second server;
    向所述第一服务器返回所述目标寄宿程序。Return the target hosting program to the first server.
  9. 根据权利要求8所述的方法,其中,所述第一服务器包括一个或多个寄宿程序描述信息,其中,每个寄宿程序描述信息对应的寄宿程序被发布于所述第二服务器,所述目标寄宿程序与所述一个或多个寄宿程序描述信息中被选中的目标寄宿程序描述信息相对应。The method according to claim 8, wherein the first server includes one or more boarding program description information, wherein the boarding program corresponding to each boarding program description information is published on the second server, and the target The boarding program corresponds to the selected target boarding program description information in the one or more boarding program description information.
  10. 根据权利要求9所述的方法,其中,所述方法还包括:The method according to claim 9, wherein the method further comprises:
    向所述第一服务器发送所述一个或多个寄宿程序描述信息。Sending the one or more hosting program description information to the first server.
  11. 根据权利要求9所述的方法,其中,所述方法还包括:The method according to claim 9, wherein the method further comprises:
    接收所述第一服务器的寄宿程序查询请求;Receiving a host program query request of the first server;
    根据所述寄宿程序查询请求,确定所述第二服务器上的一个或多个寄宿程序更新信息;Determine one or more update information of the boarding program on the second server according to the boarding program query request;
    将所述一个或多个寄宿程序更新信息提供给所述第一服务器,以生成所述一个或多个寄宿程序描述信息。The one or more hosting program update information is provided to the first server to generate the one or more hosting program description information.
  12. 一种提供寄宿程序的方法,其中,所述方法包括:A method of providing a boarding program, wherein the method includes:
    第一服务器接收用户设备对目标寄宿程序的访问请求;确定所述目标寄宿程序对应的第二服务器,其中,所述目标寄宿程序发布于所述第二服务器;向所述第二服务器发送关于所述目标寄宿程序的读取请求;The first server receives the access request of the user equipment to the target hosting program; determines the second server corresponding to the target hosting program, wherein the target hosting program is published on the second server; and sends information about the target hosting program to the second server The read request of the target boarding program;
    所述第二服务器接收所述第一服务器发送的关于所述目标寄宿程序的读取请求;向所述第一服务器返回所述目标寄宿程序;Receiving, by the second server, a read request regarding the target hosting program sent by the first server; returning the target hosting program to the first server;
    所述第一服务器接收所述第二服务器基于所述读取请求返回的所述目标寄宿程序;将所述目标寄宿程序提供至所述用户设备。The first server receives the target hosting program returned by the second server based on the read request; and provides the target hosting program to the user equipment.
  13. 一种提供寄宿程序的设备,其中,该设备包括:A device for providing a boarding program, wherein the device includes:
    处理器;以及Processor; and
    被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至11中任一项所述的操作。A memory arranged to store computer-executable instructions which, when executed, cause the processor to perform the operation according to any one of claims 1 to 11.
  14. 一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如权利要求1至11中任一项所述的操作。A computer-readable medium storing instructions, which when executed, cause a system to perform the operation according to any one of claims 1 to 11.
PCT/CN2020/081553 2019-03-28 2020-03-27 Method and device for providing hosted application WO2020192745A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910244214.6 2019-03-28
CN201910244214.6A CN109976832A (en) 2019-03-28 2019-03-28 It is a kind of that the method and apparatus of boarding program is provided

Publications (1)

Publication Number Publication Date
WO2020192745A1 true WO2020192745A1 (en) 2020-10-01

Family

ID=67081334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/081553 WO2020192745A1 (en) 2019-03-28 2020-03-27 Method and device for providing hosted application

Country Status (2)

Country Link
CN (1) CN109976832A (en)
WO (1) WO2020192745A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976832A (en) * 2019-03-28 2019-07-05 上海连尚网络科技有限公司 It is a kind of that the method and apparatus of boarding program is provided
CN110377440B (en) * 2019-07-26 2021-10-15 上海连尚网络科技有限公司 Information processing method and device
CN113157349A (en) * 2021-05-24 2021-07-23 北京字节跳动网络技术有限公司 Application running method, desktop application generation method, device, server and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832239B1 (en) * 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
CN102469114A (en) * 2010-11-08 2012-05-23 北京汉铭通信有限公司 Open mobile terminal widget application platform, realization method thereof and server
CN105307156A (en) * 2015-10-23 2016-02-03 努比亚技术有限公司 Application request downloading device and method
CN107273189A (en) * 2016-04-06 2017-10-20 泰康之家(北京)投资有限公司 A kind of method for managing subapplication and application carry platform
WO2018158784A1 (en) * 2017-02-28 2018-09-07 Forward Unity S.R.L. System, apparatus and method for providing an application development and execution platform
CN109408696A (en) * 2018-09-30 2019-03-01 上海掌门科技有限公司 It is a kind of for search for boarding program method and apparatus
CN109976832A (en) * 2019-03-28 2019-07-05 上海连尚网络科技有限公司 It is a kind of that the method and apparatus of boarding program is provided

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920366B (en) * 2018-06-28 2020-09-29 腾讯科技(深圳)有限公司 Sub-application debugging method, device and system
CN109359237B (en) * 2018-09-30 2021-05-14 上海掌门科技有限公司 Method and equipment for searching hosted program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832239B1 (en) * 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
CN102469114A (en) * 2010-11-08 2012-05-23 北京汉铭通信有限公司 Open mobile terminal widget application platform, realization method thereof and server
CN105307156A (en) * 2015-10-23 2016-02-03 努比亚技术有限公司 Application request downloading device and method
CN107273189A (en) * 2016-04-06 2017-10-20 泰康之家(北京)投资有限公司 A kind of method for managing subapplication and application carry platform
WO2018158784A1 (en) * 2017-02-28 2018-09-07 Forward Unity S.R.L. System, apparatus and method for providing an application development and execution platform
CN109408696A (en) * 2018-09-30 2019-03-01 上海掌门科技有限公司 It is a kind of for search for boarding program method and apparatus
CN109976832A (en) * 2019-03-28 2019-07-05 上海连尚网络科技有限公司 It is a kind of that the method and apparatus of boarding program is provided

Also Published As

Publication number Publication date
CN109976832A (en) 2019-07-05

Similar Documents

Publication Publication Date Title
US11778057B2 (en) System and method for intent-based service deployment
WO2020192745A1 (en) Method and device for providing hosted application
US9519572B2 (en) Creating a software performance testing environment on a virtual machine system
US8341269B2 (en) Configuring cloud resources
US10445122B2 (en) Effective and efficient virtual machine template management for cloud environments
US9501304B1 (en) Lightweight application virtualization architecture
WO2020221189A1 (en) Method and device for managing hosting program
CN110765395B (en) Method and equipment for providing novel information
JP2018523192A (en) Executing commands on virtual machine instances in distributed computing environments
EP3518116A1 (en) Method and apparatus for layered access of file in virtualization instance
US11172024B2 (en) Co-location of storage buckets with containerized applications
WO2021000696A1 (en) Method and device for adding friend
US11546431B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing
US11582285B2 (en) Asynchronous workflow and task api for cloud based processing
US10140166B2 (en) Message oriented middleware with integrated rules engine
US11263297B2 (en) Dynamic insertion of variablized secrets in a pipeline integration system
CN109947504B (en) Method and equipment for executing hosted program in hosted program
CN113641503B (en) Multi-cloud multi-cluster Kubernetes management system, method and equipment
US20190354378A1 (en) Instantaneous Boot of Virtual Machine Instances via Remote Direct Memory Access
JP6857196B2 (en) How to optimize applications for computing systems with multiple different memory locations interconnected by one or more communication channels, non-temporary computer-readable storage media, including computer-readable programs, and systems.
US20230164210A1 (en) Asynchronous workflow and task api for cloud based processing
US11200070B2 (en) Dynamic-link library usage based on memory size
US11178216B2 (en) Generating client applications from service model descriptions
CN110333914B (en) Method and device for executing target operation
CN110321205B (en) Method and equipment for managing hosted program in hosted program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20778696

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20778696

Country of ref document: EP

Kind code of ref document: A1