WO2017124962A1 - 一种应用热部署方法、装置和系统 - Google Patents
一种应用热部署方法、装置和系统 Download PDFInfo
- Publication number
- WO2017124962A1 WO2017124962A1 PCT/CN2017/070986 CN2017070986W WO2017124962A1 WO 2017124962 A1 WO2017124962 A1 WO 2017124962A1 CN 2017070986 W CN2017070986 W CN 2017070986W WO 2017124962 A1 WO2017124962 A1 WO 2017124962A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data resource
- update
- server
- client device
- page
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Definitions
- the present application relates to the field of communications technologies, and in particular, to an application hot deployment method, apparatus, and system.
- JavaScript is a script that runs in a browser and is typically used for front-end programming of browsers.
- Node.js is a platform built on the Chrome JavaScript runtime to easily build web applications that are responsive and easy to scale.
- Node.js is event-driven and is suitable for running data-intensive real-time applications on distributed devices.
- Node is the Javascript runtime environment (runtime).
- Hot deployment is to upgrade the software while the application is running, but does not need to restart the application.
- the server-based javascript-based hot deployment method mainly includes the following processes: (1) starting the Node.js server, loading a normal js file; (2) starting the service for uninstalling the js file; (3) js file lifecycle maintenance; 4) Upgrade the js file; (5) Monitor the program to run.
- a js file is used to implement a function, which can be regarded as an application module.
- a js file usually consists of multiple program (code) fragments.
- the application module or file is used as the minimum resource unit for updating or synchronizing.
- the application module or the file has a large amount of data, so that the resource size of the update or synchronization is large, and the delay of the update or synchronization is large, which may cause the client and the server of the Internet application to fail to synchronize in time.
- the embodiment of the present application provides an application hot deployment method, device and system.
- the page displayed by the browser is updated according to the updated data resources.
- the detecting whether there is an updated data resource comprises: receiving a data resource pushed by the server, and if the version of the data resource pushed by the server is higher than a version of the data resource local to the client device, pushing the server The data resource is determined to be an updated data resource.
- the method further includes:
- the data resource returned by the server is a data resource before the update that is backed up by the server that is obtained by the server according to the page update failure information;
- the detecting whether there is an updated data resource comprises: receiving a data resource of the local application update, and determining the data resource of the local application update as the updated data resource.
- the method further includes: sending a data resource update request to the server, where the data resource update request carries the data resource of the local application update, where the data resource update request is used to request the server to perform data according to the request The resource updates the data resource version.
- the method further includes:
- the updating the page displayed by the browser according to the updated data resource comprises: if a partial update event is received, updating the browsing according to the received partial update event and the updated data resource Part of the page displayed by the device.
- the updating the partial content of the page displayed by the browser including: according to the received A local update event, the DOM interface is operated by JavaScript, and the updated local data is used to perform partial refresh of the page on the local content of the page indicated by the partial update event.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the method further comprises: establishing a connection with the server and maintaining validity of the connection, the connection for transmitting a data resource interacting with the server.
- the data resource comprises a page element and/or a code fragment.
- the method further includes: sending a local update event to the client device, so that the client device updates the partial content of the page displayed by the browser according to the local update event and the updated data resource.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the method further includes establishing a connection with the client device and maintaining validity of the connection, the connection for transmitting a data resource interacting with the client device.
- the data resource comprises a page element and/or a code fragment.
- a detection module for detecting whether there is an updated data resource
- a deployment module configured to instruct the browser module to update the displayed page when the updated data resource is detected
- a browser module configured to update the displayed page according to the updated data resource.
- the detecting module is specifically configured to: receive a data resource pushed by the server, and if the version of the data resource pushed by the server is higher than a version of the data resource local to the client device, determine the data resource pushed by the server. For updated data resources.
- deployment module is further configured to:
- the data resource returned by the server is a data resource before the update that is backed up by the server that is obtained by the server according to the page update failure information;
- the detecting module is specifically configured to: receive the data resource of the local application update, and determine the data resource of the local application update as the updated data resource.
- the deployment module is further configured to: send a data resource update request to the server, where the data resource update request carries the data resource of the local application update, where the data resource update request is used to request the server to The data resource carried in the request updates the data resource version.
- deployment module is further configured to: after sending the data resource of the local application update to the server, perform the following steps:
- the browser module is specifically configured to: if a partial update event is received, update the partial content of the page displayed by the browser according to the received partial update event and the updated data resource.
- the browser module is specifically configured to: according to the received partial update event, operate the DOM interface through JavaScript, and use the updated data resource to perform partial refresh of the page on the local content of the page indicated by the partial update event. .
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the method further includes: a connection management module, configured to establish a connection with the server and maintain validity of the connection, the connection being used to transmit a data resource exchanged with the server.
- a connection management module configured to establish a connection with the server and maintain validity of the connection, the connection being used to transmit a data resource exchanged with the server.
- a deployment module configured to: push a data resource to the client device, so that the client device updates the page displayed by the browser according to the updated data resource when detecting the updated data resource;
- An update request processing module configured to receive a data resource update request sent by the client device, and return an update success response or a recovery command carrying the data resource to the client device according to the data resource update request; wherein the update is successful
- the response is used to indicate that the server successfully updates the data resource version according to the data resource update request, and the data resource carried in the recovery command is a data resource obtained by the server in the case of rejecting the data resource update request.
- the deployment module is further configured to:
- the deployment module is further configured to: send a local update event to the client device, so that the client device updates the partial content of the page displayed by the browser according to the local update event and the updated data resource.
- the deployment module is further configured to: send a local update event to the client device, so that the client device updates the partial content of the page displayed by the browser according to the local update event and the updated data resource.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the method further includes: a connection management module, configured to establish a connection with the client device and maintain validity of the connection, where the connection is used to transmit a data resource exchanged with the client device .
- a client device configured to detect whether there is an updated data resource, and if an updated data resource is detected, updating a page displayed by the browser according to the updated data resource;
- a server configured to push data resources to the client device.
- the client device is specifically configured to: receive a data resource pushed by the server, and if the version of the data resource pushed by the server is higher than a version of the data resource locally of the client device, the data resource pushed by the server Determined as an updated data resource.
- the client device is further configured to: if the operation fails when updating the page displayed by the browser according to the updated data resource, returning the page update failure information to the server; and receiving the returned by the server a data resource, and updating a page displayed by the browser according to the data resource returned by the server;
- the server is further configured to: obtain the data resource before the update backed by the server according to the page update failure information, and send the data resource to the client device.
- the client device is specifically configured to: receive the data resource of the local application update, and determine the data resource of the local application update as the updated data resource.
- the client device is further configured to: send a data resource update request to the server, where the data resource update request carries the data resource of the local application update, where the data resource update request is used to request the server Updating the data resource version according to the data resource carried in the request;
- the server is further configured to: return an update success response or a recovery command carrying a data resource to the client device according to the data resource update request; wherein the update success response is used to indicate that the server is configured according to the data
- the resource update request succeeds in updating the data resource version, and the data resource carried in the recovery command is obtained by the server in the case of rejecting the data resource update request;
- the client device is further configured to: receive an update success response returned by the server, or receive a recovery command returned by the server, and update a page displayed by the browser according to the data resource carried in the recovery command.
- server is further configured to: send a local update event to the client device;
- the client device is further configured to: update the partial content of the page displayed by the browser according to the received local update event and the updated data resource.
- a memory for storing computer program instructions
- a processor coupled to the memory for reading computer program instructions stored by the memory and, in response, performing the following operations:
- the page displayed by the browser may be updated according to the updated data resource.
- the data resource is smaller in granularity than the application module or the file. Therefore, compared with the prior art, the embodiment of the present application can implement finer-grained data resource synchronization, thereby reducing resource synchronization delay.
- the page can be updated immediately according to the updated data resource. Therefore, the delay of resource synchronization is further reduced, and the user experience is improved.
- FIG. 1 is a schematic diagram of a network architecture applicable to an embodiment of the present application
- FIG. 2 is a schematic structural diagram of an application hot deployment system according to an embodiment of the present application.
- FIG. 3 is a schematic flowchart of an overall solution for applying hot deployment according to an embodiment of the present disclosure
- FIG. 4 is a schematic diagram of an application hot deployment process according to an embodiment of the present disclosure.
- FIG. 5 is a second schematic diagram of an application hot deployment process according to an embodiment of the present application.
- FIG. 6 is a schematic structural diagram of a client device according to an embodiment of the present application.
- FIG. 1 exemplarily shows a schematic diagram of a network architecture to which the embodiment of the present application is applied.
- the network architecture may include a client device and a server on the network side, and the client device and the server communicate through the network.
- An Internet application client program is installed on the client device in the above architecture, and an Internet application server program is installed on the server, and the client device and the server cooperate, and the client device can obtain the data resources required by the Internet application from the server.
- the services provided by Internet applications are provided by
- the client device in the network architecture may be a mobile terminal or a PC (personal computer) or a smart terminal, and the mobile terminal may be a mobile phone, a PDA (Personal Digital Assistant), or a smart wearable device.
- a PC personal computer
- a smart terminal may be a mobile phone, a PDA (Personal Digital Assistant), or a smart wearable device.
- PDA Personal Digital Assistant
- the client device and the server can exchange information through the network, and the network can be a wide area network, a local area network or the Internet, or an Internet using mobile communication technology.
- the client device can access the Internet wirelessly, and the server is usually connected to the Internet by wire.
- the client device and the server can adopt cloud computing technology to be based on cloud computing technology.
- the powerful features of the technology enable information processing.
- Servers and client devices can use cloud-based technology-based operating systems, such as YunOS, to consolidate cloud and client resources and services.
- the data resource refers to one or a combination of data, program code, and the like required for the operation of the Internet application, and may specifically include one or a combination of a webpage element, a code segment, and the like.
- the webpage element may specifically include: one or more combinations of text, a picture, an audio, an animation, and a video for displaying the webpage;
- the code fragment may specifically include a JavaScript program code, CSS (Cascading Style Sheets). Code, or program code that a web page needs to implement a particular function, such as some dynamic or patch function.
- FIG. 2 is a schematic structural diagram of an application hot deployment system according to an embodiment of the present application.
- the application hot deployment system includes a client device 10 and a server 20. There may be more than one client device, only one of which is shown by way of example in FIG.
- the client device 10 Before the client device 10 cooperates with the server 20 to implement the Internet function, the client device 10 needs to establish a connection with the server 20 and maintain the connection (such as maintaining the validity of the connection by means of a heartbeat message), and the client can be realized through the connection. Information interaction between the end device 10 and the server 20 (such as interactive data resources).
- the connection may be a TCP (Transmission Control Protocol) connection.
- the client device 10 is mainly used to detect whether there is an updated data resource, and when an updated data resource is detected, update the page displayed by the browser according to the updated data resource.
- the client device 10 can be implemented by software, such as a functional module integrated in the client device shown in FIG.
- the client device 10 can also be implemented by a combination of software and hardware, and specifically can be a device such as a mobile terminal or a smart terminal.
- Server 20 is primarily used to push updated data resources to client device 10.
- the server 20 may also receive a data resource update request sent by the client device 10, where the data resource update request carries the data resource updated by the client device 10, and the server 20 may respond to the data resource update request, for example, the request may be accepted. To update the data resource version, the request can also be rejected.
- the following functional modules may be included in the client device 10: a detection module 101, a deployment module 102, and a browser module 103, where:
- the detecting module 101 is configured to detect whether there is an updated data resource
- the deployment module 102 is configured to instruct the browser module to update the displayed page when the updated data resource is detected;
- the browser module 103 is configured to update a page displayed by the browser according to the updated data resource.
- the browser module may be a browser engine, such as an engine that is modified according to Chromium, supports the fusion of Node and Chromium, supports H5 direct access to the node.js object, is responsible for data resource requests, and refreshes the page layout rendering.
- the server 20 may include a deployment module 201 and an update request processing module 202, where:
- the deployment module 201 is configured to: push the data resource to the client device, so that the client device updates the page displayed by the browser according to the updated data resource when detecting the updated data resource;
- the update request processing module 202 is configured to receive a data resource update request sent by the client device, and return an update success response or a recovery command carrying the data resource to the client device according to the data resource update request; wherein the update success response is used for It indicates that the server successfully updates the data resource version according to the data resource update request, and the data resource carried in the recovery command is obtained by the server in the case of rejecting the data resource update request.
- the server 20 can also access a data repository 30 for storing data resources backed up by the server 20.
- the above system architecture can be implemented based on Node.js and MongoDB and WebSocket technologies.
- the configurations of the client device 10 and the server 20 are only an example. In the case that the purpose of the embodiment of the present application can be achieved, other structural division forms are not excluded.
- the application hot deployment process provided by the embodiment of the present application may be as shown in FIG. 3, and includes the following steps:
- Step 301 The client device detects whether there is an updated data resource.
- Step 302 If an updated data resource is detected, proceed to step 303, otherwise, return Going back to step 301;
- Step 303 The client device updates the page displayed by the browser according to the updated data resource.
- the embodiment of the present application supports the data resource pushed by the server to implement hot deployment of the Internet application, and also supports the client device to locally update the data resource to implement hot deployment of the Internet application, that is, in step 301 of the foregoing process, the client
- the detection operation performed by the end device can be used for both the data resource pushed by the server and the updated data resource for the local Internet application.
- the application hot deployment scheme implemented by the server push is described below with reference to FIG. 4, and the application hot deployment scheme implemented by the client device local data resource update operation is described with reference to FIG. 5.
- FIG. 4 is a schematic diagram of an application hot deployment process according to an embodiment of the present application. As shown in the figure, the process may include the following steps:
- Step 401 A data resource that the server pushes to the client device.
- the data resource Before the server pushes the updated data resource to the client device, the data resource may be copied and the copied data resource may be stored in the data resource library, where the page update operation of the client device fails.
- the data resources backed up before the update are sent to the client device for page recovery.
- the client device initiates a subscription request to the server to apply the hot deployment service in advance to subscribe to the service.
- the server side has a data resource change (such as a JavaScript code update used by the page)
- the updated data resource is pushed to the client device subscribed to the application hot deployment service.
- the information pushed by the server may include data resources, as well as timestamps and/or version information of the data resources.
- the above step 401 can be performed by the deployment module 201 in the server 20 in the system architecture shown in FIG. 2.
- Step 402 After receiving the data resource pushed by the server, the client device determines whether the version of the data resource pushed by the server is higher than the version of the data resource local to the client device. If the determination is yes, the process proceeds to step 403; otherwise, Return to step 401 to continue waiting for server push Data resources.
- the daemon process can be preset in the client device, and the daemon can always listen to the data resources pushed by the server.
- the timestamp and/or version information of the data resource may be obtained, and according to the timestamp and/or version information of the received data resource, it is determined whether the version of the data resource pushed by the server is higher than The version of the data resource local to the client device.
- the above step 402 can be performed by the detection module 101 of the client device 10 in the system architecture shown in FIG. 2.
- Step 403 The client device updates the page displayed by the browser according to the data resource pushed by the server.
- the above step 403 can be performed by the deployment module 102 and the browser module 103 of the client device 10 in the system architecture shown in FIG. 2.
- the deployment module 102 can instruct the browser module 103 to update the displayed page, and accordingly, the browser module 103 updates the displayed page based on the updated data resources.
- the deployment module 102 invokes the CacheReload method in the browser module 103 to update the page layout and render the page.
- Embodiments of the present application may support updating of the entire page, and may also support partial updating of the page.
- the local update event may be pre-registered, so that after the client device receives the event sent by the server and the event is a pre-registered partial update event, the client device may update the partial content of the page according to the updated data resource. .
- the above page partial refresh scheme can be applied to nodejs, js or http page development.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the partial update event 1 is used to indicate the update of the navigation bar in the page
- the partial update event 2 is used to indicate the update of the CSS code used by the page.
- the local update event is registered in the deployment module 102
- the detection module 101 detects the local update event pushed by the server
- the local update message is sent to the client device local application
- the application operates the DOM through the JS (Document)
- the Object Model (Document Object Model) interface mode invokes the browser module 103 to use the updated data resource to locally render the local content of the page indicated by the partial update event to refresh the page.
- the user can use the application local to the client device to develop an internet application page.
- DOM is a standard programming interface recommended by the W3C organization for processing extensible markup languages, and is a document model described in an object-oriented manner.
- the DOM defines the objects needed to represent and modify documents, the behavior and properties of those objects, and the relationships between these objects.
- the DOM can be thought of as a tree representation of the data and structure on the page.
- the DOM can access and modify the content and structure of a document in a platform- and language-independent manner. In other words, this is a common way to represent and process an HTML or XML document.
- DOM technology allows user pages to change dynamically, such as dynamically displaying or hiding an element, changing their properties, adding an element, and so on. For example, calling the DOM interface via JavaScript can refactor the entire HTML document. Items on the page can be added, removed, changed, or rearranged.
- the client device may feed back the response to the application server according to the situation of the page update operation in step 403. For example, if the page update is successful, the page update success information may be fed back. If the page update fails, the page update failure information may be fed back.
- the information about the data resource that can be carried in the update failure information (such as the identifier of the page element or the name of the code fragment file, or the specific content of the data resource).
- the server may obtain the data resource before the update backed by the server according to the page update failure information, and send the data resource to the client device.
- the client device updates the page displayed by the browser according to the data resource returned by the server.
- the processing operation on the server side may be specifically performed by the deployment module 201 of the server 20 in the system architecture shown in FIG. 2.
- FIG. 5 is a schematic diagram of a hot deployment process provided by an embodiment of the present application. As shown in the figure, the process may include the following steps:
- Step 501 The client device locally applies the update data resource.
- the local application of the client device may be an Internet application development program, and may be used to update a data resource of an Internet application, for example, a user may update a JavaScript program code used by an Internet application page through the local application, or Update the layout of an internet application page, which will not be listed here.
- Step 502 The client device updates the page displayed by the browser according to the updated data resource of the local application.
- the deployment module 102 of the client device can invoke the browser module 103 to perform page reloading.
- the deployment module 102 can invoke the page reload method of the browser module 103 to initiate a resource request to load, lay out, and render the page.
- process shown in FIG. 5 above may further include the following steps:
- Step 503 The client device sends a data resource update request to the server, where the data resource update request carries a data resource that is locally updated by the client device, where the data resource update request is used to request the server to update according to the data resource carried in the request.
- the version of the data resource is used to request the server to update according to the data resource carried in the request.
- process shown in FIG. 5 above may further include the following steps:
- Step 504 The server receives the data resource update request sent by the client device, responds to the request, and returns a processing result to the client device.
- the server successfully updates the data resource version according to the received data resource update request, returning an update success response to the client device; if the server rejects the data resource update request, acquiring the pre-update data resource, and The data resource is carried back to the client device with a recovery command. If the server rejects the data resource update request, the recovery command may also be sent, and the recovery command does not carry the data resource, and the command may instruct the client device to restore the page before the data resource update (before the client device local application updates the data resource, The pre-update data resources can be backed up locally on the client device).
- the deployment module 201 in the server checks whether it needs to be merged into the latest version according to a preset detection rule, and if it needs to be merged, returns an update to the client device. Successful response.
- the “incorporating the latest version” means that the update content requested by the data resource update request submitted by multiple client devices or the client device may be selected according to a preset detection rule, and is acceptable. Update to generate the latest version of the data resource. Further, the latest version of the data resource can be pushed to the client device.
- Step 505 The client device receives a processing result returned by the server for the data resource update request, and performs corresponding processing.
- the client device if the client device receives the update success response returned by the server, then keep browsing The page displayed in the browser; if the client device receives the recovery command returned by the server, the page displayed by the browser is updated according to the data resource carried in the recovery command, and the page is restored to the page before the update.
- delay compensation is realized, that is, when the client device performs an operation, the page can be directly updated without waiting for the server to respond. Further, for the operation, in a case that the response of the server is different from the response of the client device, the page may be refreshed according to the data resource returned by the server, that is, the operation of refreshing the page before the client device is compensated.
- Embodiments of the present application may support updating of the entire page, and may also support partial updating of the page.
- the local update event may be pre-registered, so that after the client device receives the event sent by the local application and the event is a pre-registered partial update event, the client device may update the local part of the page according to the updated data resource. content.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the local update event is registered in the deployment module 102, when the detection module 101 detects the local update event sent by the local application, the local application is instructed to invoke the browser module 103 to use the updated interface by means of the JS operation DOM interface.
- the data resource performs local layout rendering on the local content of the page indicated by the partial update event to refresh the page.
- the page displayed by the browser when an updated data resource is detected, the page displayed by the browser may be updated according to the updated data resource.
- the data resource is smaller in granularity than the application module or the file. Therefore, compared with the prior art, the embodiment of the present application can implement finer-grained data resource synchronization, thereby reducing resource synchronization delay.
- the page displayed by the browser when an updated data resource is detected, the page displayed by the browser can be updated according to the updated data resource, thereby further reducing the delay of resource synchronization and improving the user experience.
- the embodiment of the present application provides a client device.
- the structure of the client device refer to the structure of the client device in FIG. 2.
- the function of each module can be referred to the description of the foregoing embodiment, and is not repeated here.
- the embodiment of the present application provides a server.
- the client set For the structure of the device refer to the server structure in FIG. 2.
- the function of each module can be referred to the description of the foregoing embodiment, and is not repeated here.
- the embodiment of the present application further provides a client device.
- FIG. 6 is a schematic structural diagram of a fast client device according to an embodiment of the present application.
- the client device may generally include a processor 601, a memory 602, and a display 603.
- the processor 601 can be a general purpose processor (such as a microprocessor or any conventional processor, etc.), a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or a transistor logic. Devices, discrete hardware components.
- Memory 602 may specifically include internal memory and/or external memory, such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like, which are well established in the art.
- Display 603 can include touch screen control circuitry.
- the bus architecture may include any number of interconnected buses and bridges, specifically linked by one or more processors represented by processor 601 and various circuits of memory represented by memory 602.
- the bus architecture can also link various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and, therefore, will not be further described herein.
- the bus interface provides an interface.
- the processor 601 is responsible for managing the bus architecture and general processing, and the memory 602 can store data used by the processor 601 in performing operations.
- the data resource management process disclosed in the embodiment of the present application may be applied to the processor 601 or implemented by the processor 601.
- each step of the picture search process may be completed by an integrated logic circuit of hardware in the processor 601 or an instruction in the form of software.
- the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
- the steps of the method disclosed in the embodiments of the present application may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the processor 601 is coupled to the memory 602 for reading computer program instructions stored by the memory 602 and, in response, performing the following operations:
- the data resource can include a page element and/or a code fragment
- the page displayed by the browser is updated according to the updated data resources.
- the processor 601 is specifically configured to: receive a data resource pushed by the server, and if the version of the data resource pushed by the server is higher than a version of the data resource local to the client device, determine the data resource pushed by the server. For updated data resources.
- the processor 601 is further configured to: if the operation fails when updating the page displayed by the browser according to the updated data resource, returning page update failure information to the server; and receiving data returned by the server a resource, wherein the data resource returned by the server is a data resource before the version of the server that is backed up by the server according to the page update failure information; and the browser displays the updated data resource according to the data returned by the server. page.
- the processor 601 detects whether there is an updated data resource
- the data resource of the local application update may be received, and the data resource of the local application update is determined as the updated data resource.
- the processor 601 is further configured to: send a data resource update request to the server, where the data resource update request carries the data resource of the local application update, where the data resource update request is used to request the server to The data resource carried in the request updates the data resource version.
- the update success response returned by the server may also be received, where the update success response is used to indicate that the server compares the data according to the data resource request.
- the resource version is updated successfully; or, the recovery command returned by the server is received, and the page displayed by the browser is updated according to the data resource carried in the recovery command, where the data resource carried in the recovery command is the server The data resource obtained in the case of rejecting the data resource update request.
- the processor 601 when updating the page displayed by the browser according to the updated data resource, if the local update event is received, the processor 601 updates according to the received local update event and the updated data resource.
- the partial content of the page displayed by the browser is not limited to the page displayed by the browser.
- the processor 601 when updating the partial content of the page displayed by the browser, may operate the DOM interface through JavaScript according to the received partial update event, and use the updated data resource to localize the page indicated by the partial update event.
- the content performs a partial refresh of the page.
- the number of the local update events is one or more, and one partial update event is used to indicate that a specific partial content in the page is refreshed.
- the processor 601 can also establish a connection with the server and maintain the validity of the connection, the connection for transmitting data resources interacting with the server.
- the embodiment of the present application can maximize the running performance, especially for the case of no network connection, the Internet application can use the cached data resource, thereby avoiding the problem that the Internet application cannot be used in the middle case.
- the embodiments of the present application support multiple resource caching strategies (full cache, partial cache, etc.), and support dynamic adjustment of caches (such as releasing cached data resources) according to network status, device memory/CPU status, etc., thereby maximizing balance. Performance and memory usage.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. Instructions are provided for implementation in a block or blocks of a flow or a flow and/or block diagram of a flowchart The steps of the feature.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种应用热部署方法、装置和系统。本申请中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新页面,因此更进一步地降低了资源同步的时延,提高用户感受。
Description
本申请涉及通信技术领域,尤其涉及一种应用热部署方法、装置和系统。
随着通信技术的发展,为了满足日益增长和多种多样的业务需求,基于移动终端的互联网应用越来越多。
JavaScript是一种运行在浏览器的脚本,通常用于浏览器的前端编程。Node.js是基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,适合在分布式设备上运行数据密集型的实时应用。Node是Javascript运行环境(runtime)。
热部署是在应用正在运行的时候升级软件,却不需要重新启动应用。目前,基于服务器端javascript的热部署方法主要包括以下过程:(1)启动Node.js服务器,加载正常的js文件;(2)启动卸载js文件的服务;(3)js文件生命周期维护;(4)升级js文件;(5)监控程序运行。一个js文件用于实现一种功能,即可视为一个应用模块,一个js文件通常由多个程序(代码)片段组成。
可以看出,目前的互联网应用热部署方案中,以应用模块或文件作为更新或同步的最小资源单元。通常,应用模块或文件的数据量较大,因此导致更新或同步的资源粒度较大,因而更新或同步的时延较大,进而会导致互联网应用的客户端与服务器端无法及时同步。
申请内容
本申请实施例提供了一种应用热部署方法、装置及系统。
本申请实施例提供的应用热部署方法,包括:
检测是否有更新的数据资源;
若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
优选地,所述检测是否有更新的数据资源,包括:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
其中,若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则还包括:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,所述检测是否有更新的数据资源,包括:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步,还包括:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
进一步地,所述将本地应用更新的数据资源发送给服务器之后,还包括:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述根据所述更新的数据资源更新所述浏览器显示的页面,包括:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述更新浏览器显示的页面的局部内容,包括:根据接收到的
局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
优选地,还包括:建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
优选地,所述数据资源包括页面元素和/或代码片段。
本申请另一实施例提供的应用热部署方法,包括:
向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
进一步地,还包括:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
进一步地,还包括:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
优选地,所述数据资源包括页面元素和/或代码片段。
本申请实施例提供的客户端设备,包括:
检测模块,用于检测是否有更新的数据资源;
部署模块,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
浏览器模块,用于根据所述更新的数据资源更新显示的页面。
优选地,所述检测模块具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,所述部署模块还用于:
若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则执行以下步骤:
向所述服务器反馈页面更新失败信息;
接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;
根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,所述检测模块具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,所述部署模块还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新数据资源版本。
进一步地,所述部署模块还用于:将本地应用更新的数据资源发送给服务器之后,执行以下步骤:
接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,
接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述浏览器模块具体用于:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
优选地,所述浏览器模块具体用于:根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:连接管理模块,用于建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
本申请实施例提供的服务器,包括:
部署模块,用于向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;
更新请求处理模块,用于接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,所述部署模块还用于:
接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;
根据所述页面更新失败信息获取该服务器所备份的版本更新之前的数据资源并发送给所述客户端设备。
进一步地,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
进一步地,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,还包括:连接管理模块,用于建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
本申请实施例提供的应用热部署系统,包括:
客户端设备,用于检测是否有更新的数据资源,若检测到有更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面;
服务器,用于向所述客户端设备推送数据资源。
优选地,所述客户端设备具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,所述客户端设备还具体用于:若根据所述更新的数据资源更新浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,并根据所述服务器返回的数据资源更新浏览器显示的页面;
所述服务器还用于:根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
优选地,所述客户端设备具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,所述客户端设备还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新所述数据资源版本;
所述服务器还用于:根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的;
所述客户端设备还用于:接收所述服务器返回的更新成功响应,或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面。
进一步地,所述服务器还用于:向所述客户端设备发送局部更新事件;
所述客户端设备还用于:根据接收到的局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
本申请实施例提供的终端,包括:
显示器;
存储器,用于存储计算机程序指令;
处理器,耦合到所述存储器,用于读取所述存储器存储的计算机程序指令,并作为响应,执行如下操作:
检测是否有更新的数据资源;
在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
根据所述更新的数据资源更新显示的页面。
本申请的上述实施例中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新页面,
因此更进一步地降低了资源同步的时延,提高用户感受。
图1为本申请实施例适用的网络架构示意图;
图2为本申请实施例提供的应用热部署系统架构示意图;
图3为本申请实施例提供的应用热部署的总体方案的流程示意图;
图4为本申请实施例提供的应用热部署流程的示意图之一;
图5为本申请实施例提供的应用热部署流程的示意图之二;
图6为本申请实施例提供的客户端设备的结构示意图。
下面结合附图对本申请实施例进行详细描述。
图1示例性地示出了本申请实施例适用的网络架构示意图。如图1所示,该网络架构中可包括客户端设备以及网络侧的服务器,客户端设备和服务器通过网络进行通信。
上述架构中的客户端设备上安装有互联网应用客户端程序,服务器上安装有互联网应用服务器端程序,客户端设备和服务器进行配合,客户端设备可从服务器获取互联网应用所需的数据资源,实现互联网应用所提供的服务。
上述网络架构中的客户端设备可以是移动终端或PC(个人电脑)或智能终端等设备,所述移动终端可以是手机、PDA(Personal Digital Assistant,掌上电脑)或智能穿戴设备等。
上述网络架构中,客户端设备和服务器可以通过网络进行信息交互,该网络可以是广域网、局域网或互联网,或者采用移动通信技术的互联网。客户端设备可通过无线方式接入互联网,服务器通常采用有线方式与互联网连接。
优选地,客户端设备和服务器可以采用云计算技术,以基于云计算技
术的强大功能实现信息处理。服务器和客户端设备可采用基于云计算技术的操作系统,比如YunOS,从而可以整合云端和客户端的资源和服务。
本申请实施例中,数据资源是指互联网应用运行所需要的数据、程序代码等中的一种或多种组合,具体可以包括网页元素、代码片段等中的一种或组合。其中,网页元素具体可以包括:用于网页显示的文字、图片、音频、动画、视频中的一种或多种组合;代码片段具体可以包括JavaScript程序代码,CSS(Cascading Style Sheets,层叠样式表)代码,或者网页需要的用于实现特定功能(比如某些动态功能或者补丁功能)的程序代码。
参见图2,为本申请实施例提供的应用热部署系统架构示意图。
该应用热部署系统包括客户端设备10和服务器20。客户端设备可以有多个,图2中仅示例性地示出了一个。
客户端设备10与服务器20进行配合实现互联网功能之前,客户端设备10需要与服务器20建立连接,并保持该连接(比如通过心跳消息的方式维护该连接的有效性),通过该连接可实现客户端设备10与服务器20之间的信息交互(比如交互数据资源)。具体实施时,该连接可以是TCP(Transmission Control Protocol,传输控制协议)连接。
客户端设备10主要用于检测是否有更新的数据资源,并当检测到有更新的数据资源时,根据该更新的数据资源更新浏览器显示的页面。客户端设备10可以由软件实现,比如具体可以是图1所示客户端设备中集成的功能模块。客户端设备10也可以由软件和硬件相结合的方式实现,具体可以是移动终端或智能终端等设备。
服务器20主要用于向客户端设备10推送更新的数据资源。服务器20也可接收客户端设备10发送的数据资源更新请求,该数据资源更新请求中携带有客户端设备10更新的数据资源,服务器20可对该数据资源更新请求进行响应,比如可以接受该请求以更新数据资源版本,也可以拒绝该请求。
上述客户端设备10中可以包括以下功能模块:检测模块101、部署模块102和浏览器模块103,其中:
检测模块101,用于检测是否有更新的数据资源;
部署模块102,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;
浏览器模块103,用于根据所述更新的数据资源更新浏览器显示的页面。具体地,浏览器模块可以是浏览器引擎,比如可以是根据Chromium改造的引擎,支持Node和Chromium的融合,支持H5直接访问node.js对象,负责数据资源的请求,页面布局渲染刷新显示。
上述服务器20中可包括部署模块201、更新请求处理模块202,其中:
部署模块201,用于向客户端设备推送数据资源,以使客户端设备在检测到有更新的数据资源时,根据更新的数据资源更新浏览器显示的页面;
更新请求处理模块202,用于接收客户端设备发送的数据资源更新请求,根据数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,更新成功响应用于表明服务器根据数据资源更新请求对数据资源版本更新成功,恢复命令中携带的数据资源是服务器在拒绝数据资源更新请求的情况下获得的。
服务器20还可以访问数据资源库30,该数据资源库用于存储服务器20备份的数据资源。
上述系统架构可以基于Node.js以及MongoDB和WebSocket技术实现。
需要说明的是上述客户端设备10和服务器20的结构仅为一种示例,在能够实现本申请实施例的目的的情况下,不排除有其他结构划分形式。
以下实施例以上述系统架构为例,对本申请实施例提供的热部署流程进行详细描述。
基于上述应用热部署系统架构,本申请实施例提供的应用热部署流程可如图3所示,包括以下步骤:
步骤301:客户端设备检测是否有更新的数据资源;
步骤302:若检测到有更新的数据资源,则转入步骤303,否则,返
回步骤301;
步骤303:客户端设备根据所述更新的数据资源更新浏览器显示的页面。
其中,本申请实施例支持由服务器推送的数据资源实现互联网应用热部署,也可支持客户端设备本地对数据资源进行更新来实现互联网应用热部署,也就是说,上述流程的步骤301中,客户端设备所进行的检测操作既可以针对服务器推送的数据资源,也可以针对本地互联网应用所更新的数据资源。为了更清楚地对本申请实施例进行说明,下面结合图4描述由服务器推送实现的应用热部署方案,结合图5描述由客户端设备本地的数据资源更新操作实现的应用热部署方案。
参见图4,为本申请实施例提供的应用热部署流程的示意图,如图所示,该流程可包括如下步骤:
步骤401:服务器向客户端设备推送的数据资源。
其中,服务器在将更新的数据资源推送给客户端设备之前,可将该数据资源进行拷贝并将拷贝的数据资源存储到数据资源库中,用以在客户端设备的页面更新操作失败时,将更新之前所备份的数据资源发送给客户端设备进行页面恢复。
优选地,客户端设备预先向服务器发起应用热部署服务的订阅请求,以订阅该服务。上述步骤401中,当服务器端有数据资源变化(比如页面使用的JavaScript代码更新)时,向订阅了应用热部署服务的客户端设备推送更新的数据资源。
服务器所推送的信息中可包括数据资源,以及数据资源的时间戳和/或版本信息。
上述步骤401可由图2所示系统架构中的服务器20中的部署模块201执行。
步骤402:客户端设备接收到服务器推送的数据资源后,判断该服务器推送的数据资源的版本是否高于客户端设备本地的数据资源的版本,若判断为是,则转入步骤403;否则可返回步骤401以继续等待服务器推送
的数据资源。
该步骤中,客户端设备中可预先设置守护进程,该守护进程可一直监听服务器推送的数据资源。在检测到服务器推送的数据资源后,可获得该数据资源的时间戳和/或版本信息,并根据接收到的数据资源的时间戳和/或版本信息判断服务器推送的数据资源的版本是否高于客户端设备本地的数据资源的版本。
上述步骤402可由图2所示系统架构中的客户端设备10的检测模块101执行。
步骤403:客户端设备根据服务器推送的数据资源更新浏览器显示的页面。
上述步骤403可由图2所示系统架构中的客户端设备10的部署模块102和浏览器模块103执行。具体地,部署模块102可指示浏览器模块103更新显示的页面,相应地,浏览器模块103根据更新的数据资源更新显示的页面。
作为一个例子,部署模块102调用浏览器模块103中的CacheReload方法来更新页面布局以及进行页面渲染。
本申请实施例可支持对整个页面的更新,也可支持对页面的局部更新。具体地,可预先注册局部更新事件,这样,客户端设备接收到服务器发送的事件后且该事件为预先注册的局部更新事件,则该客户端设备可根据更新的数据资源,更新页面的局部内容。上述这种页面局部刷新方案可适用于nodejs、js或http页面开发。其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。比如局部更新事件1用于指示对页面中的导航栏进行更新,局部更新事件2用于指示对页面所使用的CSS代码进行更新。
作为一个例子,如果部署模块102中注册有局部更新事件,则当检测模块101检测到服务器推送的局部更新事件后,则发送局部更新消息给客户端设备本地应用,该应用通过JS操作DOM(Document Object Model,文档对象模型)接口的方式调用浏览器模块103使用更新的数据资源对该局部更新事件所指示的页面的局部内容进行局部布局渲染从而刷新页面。
其中,用户通过客户端设备本地的该应用可以用来开发互联网应用页面。
其中,DOM是W3C组织推荐的处理可扩展标志语言的标准编程接口,是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示。DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。DOM技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等。比如,通过JavaScript调用DOM接口可以重构整个HTML文档。可以添加、移除、改变或重排页面上的项目。
进一步地,客户端设备可根据步骤403中页面更新操作的情况向应用服务器反馈响应,比如,如果页面更新成功则可反馈页面更新成功信息,如果页面更新失败则可反馈页面更新失败信息,该页面更新失败信息中可携带数据资源的相关信息(比如页面元素的标识或者代码片段文件名称,也可以是数据资源的具体内容)。服务器接收到该页面更新失败信息后,可根据该页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给该客户端设备。客户端设备接收服务器返回的数据资源后,根据服务器返回的数据资源更新浏览器显示的页面。上述过程中,服务器端的处理操作具体可由图2所示系统架构中的服务器20的部署模块201执行。
参见图5,为本申请实施例提供的用热部署流程的示意图,如图所示,该流程可包括如下步骤:
步骤501:客户端设备本地应用更新数据资源。
其中,所述客户端设备本地应用,可以是互联网应用开发程序,可以用来对互联网应用的数据资源进行更新,比如,用户可以通过该本地应用更新某个互联网应用页面使用的JavaScript程序代码,或者更新某个互联网应用页面的布局,在此不再一一列举。
步骤502:客户端设备根据本地应用更新的数据资源,更新浏览器显示的页面。
比如,如果客户端设备本地应用更新了页面使用的JavaScrip程序代码
或者页面布局,则步骤502中,客户端设备的部署模块102可调用浏览器模块103进行页面重载。作为一个例子,部署模块102可调用浏览器模块103的页面重载(Reload)方法以发起资源请求,从而加载、布局和渲染页面。
进一步地,上述图5所示的流程中还可包括以下步骤:
步骤503:客户端设备向服务器发送数据资源更新请求,该数据资源更新请求中携带有该客户端设备本地更新的数据资源,该数据资源更新请求用于请求服务器根据该请求中携带的数据资源更新该数据资源的版本。
进一步地,上述图5所示的流程中还可包括以下步骤:
步骤504:服务器接收客户端设备发送的数据资源更新请求,对该请求进行响应,并向该客户端设备返回处理结果。
其中,如果服务器根据接收到的数据资源更新请求对该数据资源版本更新成功,则向客户端设备返回更新成功响应;如果服务器拒绝所述数据资源更新请求,则获取更新前的数据资源,并将该数据资源携带于恢复命令返回给该客户端设备。如果服务器拒绝所述数据资源更新请求,也可发送恢复命令,该恢复命令中不用携带数据资源,该命令可指示客户端设备恢复数据资源更新前的页面(客户端设备本地应用更新数据资源之前,更新前的数据资源可备份在客户端设备本地)。
作为一个例子,服务器中的部署模块201收到客户端设备发送的数据资源更新请求后,根据预先设置的检测规则检查是否需要合入到最新版本,如果需要合入,则向客户端设备返回更新成功响应。其中,所述“合入最新版本”是指:可以根据预先设置的检测规则,对多个客户端设备或客户端设备多次提交的数据资源更新请求所请求的更新内容进行取舍,针对可接受的更新,生成数据资源的最新版本。进一步地,可将该最新版本的数据资源推送给客户端设备。
步骤505:客户端设备接收服务器返回的针对该数据资源更新请求的处理结果,并进行相应处理。
其中,如果客户端设备接收到服务器返回的更新成功响应,则保持浏
览器中显示的页面;如果客户端设备接收到服务器返回的恢复命令,则根据该恢复命令中携带的数据资源更新浏览器显示的页面,该页面恢复为更新前的页面。
通过上述步骤504和步骤505,实现了延迟补偿,即,当客户端设备进行一个操作时,该页面可直接得到更新,无需等待服务器响应。进一步地,针对该操作,在服务器的响应与客户端设备的响应不同的情况下,可根据服务器返回的数据资源对该页面进行刷新,也就是对客户端设备之前刷新页面的操作进行补偿。
本申请实施例可支持对整个页面的更新,也可支持对页面的局部更新。具体地,可预先注册局部更新事件,这样,客户端设备接收到本地应用发送的事件后且该事件为预先注册的局部更新事件,则该客户端设备可根据更新的数据资源,更新页面的局部内容。其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
作为一个例子,如果部署模块102中注册有局部更新事件,则当检测模块101检测到本地应用发送的局部更新事件后,则指示本地应用通过JS操作DOM接口的方式调用浏览器模块103使用更新的数据资源对该局部更新事件所指示的页面的局部内容进行局部布局渲染从而刷新页面。
通过以上描述可以看出,本申请的上述实施例中,当检测到有更新的数据资源时,可根据该更新的数据资源更新浏览器显示的页面。一方面,由于数据资源相对于应用模块或文件来说,其颗粒度更小,因此与现有技术相比,本申请实施例可以实现更细粒度的数据资源同步,进而可以降低资源同步时延;另一方面,当检测到有更新的数据资源时,可立即根据该更新的数据资源更新浏览器显示的页面,因此更进一步地降低了资源同步的时延,提高用户感受。
基于相同的技术构思,本申请实施例提供了一种客户端设备。该客户端设备的结构可参见图2中的客户端设备结构,其各模块的功能可参见前述实施例的描述,在此不再重复。
基于相同的技术构思,本申请实施例提供了一种服务器。该客户端设
备的结构可参见图2中的服务器结构,其各模块的功能可参见前述实施例的描述,在此不再重复。
基于相同的技术构思,本申请实施例还提供了一种客户端设备。
参见图6,为本申请实施例提供的快客户端设备的结构示意图。该客户端设备总体来说可包括:处理器601,存储器602、显示器603。
其中,处理器601可以是通用处理器(比如微处理器或者任何常规的处理器等)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。存储器602具体可包括内部存储器和/或外部存储器,比如随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质。显示器603可包括触摸屏控制电路。
处理器601与其他各模块之间存在数据通信连接,比如可基于总线架构进行数据通信。总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器602代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。
本申请实施例揭示的数据资源管理流程,可以应用于处理器601中,或者由处理器601实现。在实现过程中,图片搜索流程的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
具体地,处理器601,耦合到存储器602,用于读取存储器602存储的计算机程序指令,并作为响应,执行如下操作:
检测是否有更新的数据资源;其中,所述数据资源可以包括页面元素和/或代码片段;
若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
优选地,处理器601可具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
进一步地,处理器601还可用于:若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的版本更新之前的数据资源;根据所述服务器返回的数据资源更新浏览器显示的页面。
优选地,处理器601检测是否有更新的数据资源时,可接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
进一步地,处理器601,还可用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
进一步地,处理器601将本地应用更新的数据资源发送给服务器之后,还可接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
优选地,处理器601在根据所述更新的数据资源更新所述浏览器显示的页面时,若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
其中,处理器601在更新浏览器显示的页面的局部内容时,可根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
其中,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
进一步地,处理器601还可建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
综上所述,本申请实施例可最大化提升运行性能,尤其针对无网络连接情况下,互联网应用可使用缓存的数据资源,避免了该中情况下无法使用互联网应用的问题。此外,本申请实施例支持多种资源缓存策略(全缓存、部分缓存等),并支持根据网络状态、设备内存/CPU状态等动态调整缓存(比如释放缓存的数据资源),从而可最大化平衡性能和内存使用。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定
的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (40)
- 一种应用热部署方法,其特征在于,包括:检测是否有更新的数据资源;若检测到有的更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面。
- 如权利要求1所述的方法,其特征在于,所述检测是否有更新的数据资源,包括:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
- 如权利要求2所述的方法,其特征在于,若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则还包括:向所述服务器反馈页面更新失败信息;接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;根据所述服务器返回的数据资源更新浏览器显示的页面。
- 如权利要求1所述的方法,其特征在于,所述检测是否有更新的数据资源,包括:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
- 如权利要求4所述的方法,其特征在于,还包括:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新该数据资源版本。
- 如权利要求5所述的方法,其特征在于,所述将本地应用更新的数 据资源发送给服务器之后,还包括:接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
- 如权利要求1所述的方法,其特征在于,所述根据所述更新的数据资源更新所述浏览器显示的页面,包括:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
- 如权利要求7所述的方法,其特征在于,所述更新浏览器显示的页面的局部内容,包括:根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
- 如权利要求7所述的方法,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
- 如权利要求1至9中任一项所述的方法,其特征在于,还包括:建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
- 如权利要求1至9中任一项所述的方法,其特征在于,所述数据资源包括页面元素和/或代码片段。
- 一种应用热部署方法,其特征在于,包括:向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请 求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
- 如权利要求12所述的方法,其特征在于,还包括:接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
- 如权利要求12所述的方法,其特征在于,还包括:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
- 如权利要求14所述的方法,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
- 如权利要求12至15中任一项所述的方法,其特征在于,还包括:建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
- 如权利要求12至15中任一项所述的方法,其特征在于,所述数据资源包括页面元素和/或代码片段。
- 一种客户端设备,其特征在于,包括:检测模块,用于检测是否有更新的数据资源;部署模块,用于在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;浏览器模块,用于根据所述更新的数据资源更新显示的页面。
- 如权利要求18所述的客户端设备,其特征在于,所述检测模块具 体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确定为更新的数据资源。
- 如权利要求19所述的客户端设备,其特征在于,所述部署模块还用于:若根据所述更新的数据资源更新所述浏览器显示的页面时操作失败,则执行以下步骤:向所述服务器反馈页面更新失败信息;接收所述服务器返回的数据资源;其中,所述服务器返回的数据资源是所述服务器根据所述页面更新失败信息获取到的该服务器所备份的更新之前的数据资源;根据所述服务器返回的数据资源更新浏览器显示的页面。
- 如权利要求18所述的客户端设备,其特征在于,所述检测模块具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
- 如权利要求21所述的客户端设备,其特征在于,所述部署模块还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新数据资源版本。
- 如权利要求22所述的客户端设备,其特征在于,所述部署模块还用于:将本地应用更新的数据资源发送给服务器之后,执行以下步骤:接收所述服务器返回的更新成功响应,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功;或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据 资源更新浏览器显示的页面,其中,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
- 如权利要求18所述的客户端设备,其特征在于,所述浏览器模块具体用于:若接收到局部更新事件,则根据接收到的所述局部更新事件以及所述更新的数据资源,更新浏览器显示的页面的局部内容。
- 如权利要求24所述的客户端设备,其特征在于,所述浏览器模块具体用于:根据接收到的局部更新事件,通过JavaScript操作DOM接口,使用所述更新的数据资源对该局部更新事件所指示的页面的局部内容进行页面的局部刷新。
- 如权利要求24所述的客户端设备,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
- 如权利要求18至26中任一项所述的客户端设备,其特征在于,还包括:连接管理模块,用于建立与所述服务器之间的连接并维护所述连接的有效性,所述连接用于传输与所述服务器之间交互的数据资源。
- 一种服务器,其特征在于,包括:部署模块,用于向客户端设备推送数据资源,以使所述客户端设备在检测到有更新的数据资源时,根据所述更新的数据资源更新浏览器显示的页面;更新请求处理模块,用于接收客户端设备发送的数据资源更新请求,根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的数据资源。
- 如权利要求28所述的服务器,其特征在于,所述部署模块还用于:接收客户端设备发送的页面更新失败信息;其中,所述页面更新失败信息是所述客户端设备根据所述更新的数据资源更新浏览器显示的页面时操作失败后向所述服务器反馈的;根据所述页面更新失败信息获取该服务器所备份的版本更新之前的数据资源并发送给所述客户端设备。
- 如权利要求29所述的服务器,其特征在于,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
- 如权利要求28所述的服务器,其特征在于,所述部署模块还用于:向客户端设备发送局部更新事件,以使所述客户端设备根据所述局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
- 如权利要求31所述的服务器,其特征在于,所述局部更新事件的数量为一个或多个,一个局部更新事件用于指示对页面中的特定局部内容进行刷新。
- 如权利要求28至32中任一项所述的服务器,其特征在于,还包括:连接管理模块,用于建立与所述客户端设备之间的连接并维护所述连接的有效性,所述连接用于传输与所述客户端设备之间交互的数据资源。
- 一种应用热部署系统,其特征在于,包括:客户端设备,用于检测是否有更新的数据资源,若检测到有更新的数据资源,则根据所述更新的数据资源更新浏览器显示的页面;服务器,用于向所述客户端设备推送数据资源。
- 如权利要求34所述的系统,其特征在于,所述客户端设备具体用于:接收服务器推送的数据资源,若服务器推送的数据资源的版本高于所述客户端设备本地的数据资源的版本,则将所述服务器推送的数据资源确 定为更新的数据资源。
- 如权利要求34所述的系统,其特征在于,所述客户端设备还具体用于:若根据所述更新的数据资源更新浏览器显示的页面时操作失败,则向所述服务器反馈页面更新失败信息;以及,接收所述服务器返回的数据资源,并根据所述服务器返回的数据资源更新浏览器显示的页面;所述服务器还用于:根据所述页面更新失败信息获取该服务器所备份的更新之前的数据资源并发送给所述客户端设备。
- 如权利要求34所述的系统,其特征在于,所述客户端设备具体用于:接收本地应用更新的数据资源,将本地应用更新的数据资源确定为更新的数据资源。
- 如权利要求37所述的系统,其特征在于,所述客户端设备还用于:向服务器发送数据资源更新请求,所述数据资源更新请求中携带有所述本地应用更新的数据资源,所述数据资源更新请求用于请求所述服务器根据该请求中携带的数据资源更新所述数据资源版本;所述服务器还用于:根据所述数据资源更新请求向所述客户端设备返回更新成功响应或携带有数据资源的恢复命令;其中,所述更新成功响应用于表明所述服务器根据所述数据资源更新请求对数据资源版本更新成功,所述恢复命令中携带的数据资源是所述服务器在拒绝所述数据资源更新请求的情况下所获得的;所述客户端设备还用于:接收所述服务器返回的更新成功响应,或者,接收所述服务器返回的恢复命令,并根据所述恢复命令中携带的数据资源更新浏览器显示的页面。
- 如权利要求38所述的系统,其特征在于,所述服务器还用于:向所述客户端设备发送局部更新事件;所述客户端设备还用于:根据接收到的局部更新事件以及更新的数据资源,更新浏览器显示的页面的局部内容。
- 一种终端,其特征在于,包括:显示器;存储器,用于存储计算机程序指令;处理器,耦合到所述存储器,用于读取所述存储器存储的计算机程序指令,并作为响应,执行如下操作:检测是否有更新的数据资源;在检测到有更新的数据资源时,指示浏览器模块更新显示的页面;根据所述更新的数据资源更新显示的页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/041,082 US11055085B2 (en) | 2016-01-21 | 2018-07-20 | Method, apparatus, and system for hot-deploying application |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610041657.1A CN106990975B (zh) | 2016-01-21 | 2016-01-21 | 一种应用热部署方法、装置和系统 |
CN201610041657.1 | 2016-01-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/041,082 Continuation-In-Part US11055085B2 (en) | 2016-01-21 | 2018-07-20 | Method, apparatus, and system for hot-deploying application |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017124962A1 true WO2017124962A1 (zh) | 2017-07-27 |
Family
ID=59361319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/070986 WO2017124962A1 (zh) | 2016-01-21 | 2017-01-12 | 一种应用热部署方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11055085B2 (zh) |
CN (1) | CN106990975B (zh) |
WO (1) | WO2017124962A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182092A (zh) * | 2017-12-13 | 2018-06-19 | 广州视源电子科技股份有限公司 | 更新应用程序资源显示的方法及装置 |
CN110806868A (zh) * | 2018-08-06 | 2020-02-18 | 上海网梯数码科技有限公司 | 一种单页面搭建及加载方法 |
CN115473810A (zh) * | 2022-09-01 | 2022-12-13 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6801300B2 (ja) * | 2016-08-30 | 2020-12-16 | ブラザー工業株式会社 | 制御プログラム |
CN107609042A (zh) | 2017-08-16 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
US11748029B2 (en) * | 2019-07-26 | 2023-09-05 | Salesforce, Inc. | Protecting writes to shared storage in a distributed search system |
US11216270B2 (en) * | 2019-10-24 | 2022-01-04 | Dell Products L.P. | Metadata driven workflow semantics for management operations |
CN110764805B (zh) * | 2019-10-28 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 客户端无感升级的方法、装置、终端及存储介质 |
CN111506787B (zh) * | 2020-03-06 | 2023-04-25 | 百度在线网络技术(北京)有限公司 | 网页更新的方法、装置、电子设备和计算机可读存储介质 |
CN111506786B (zh) * | 2020-03-06 | 2023-10-27 | 百度在线网络技术(北京)有限公司 | 网页更新的方法、装置、电子设备和计算机可读存储介质 |
CN111628889B (zh) * | 2020-05-11 | 2023-04-07 | Oppo(重庆)智能科技有限公司 | 热部署方法及装置、电子设备和存储介质 |
CN111970359B (zh) * | 2020-08-14 | 2023-01-13 | 中国工商银行股份有限公司 | 基于Node.js服务器的前端无服务架构系统及建立方法 |
US11422791B2 (en) * | 2020-12-31 | 2022-08-23 | International Business Machines Corporation | Upgrading a sequence of microservices in a cloud computing environment |
CN112817624B (zh) * | 2021-01-28 | 2022-10-04 | 杭州衣科信息技术股份有限公司 | 一种基于React Native的灰度热部署系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402427A (zh) * | 2010-09-09 | 2012-04-04 | 阿里巴巴集团控股有限公司 | 一种Java应用程序的更新方法及装置 |
CN103902319A (zh) * | 2012-12-30 | 2014-07-02 | 青岛海尔软件有限公司 | 基于服务器端javascript的热部署方法 |
US20140281914A1 (en) * | 2013-03-15 | 2014-09-18 | Ricoh Company, Ltd. | Information processing system, information processing device, and information processing method |
CN104102502A (zh) * | 2013-04-09 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 一种实现热部署的处理方法、装置及服务器 |
CN104809016A (zh) * | 2015-05-13 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 一种网站页面的升级方法和系统 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473772A (en) | 1991-04-02 | 1995-12-05 | International Business Machines Corporation | Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs |
US6138158A (en) * | 1998-04-30 | 2000-10-24 | Phone.Com, Inc. | Method and system for pushing and pulling data using wideband and narrowband transport systems |
US6591266B1 (en) * | 2000-07-14 | 2003-07-08 | Nec Corporation | System and method for intelligent caching and refresh of dynamically generated and static web content |
US6934868B2 (en) * | 2000-12-29 | 2005-08-23 | International Business Machines Corporation | Method and system in a client computer system for generating and displaying a local server clock synchronized with a server clock using a client clock |
CN1218263C (zh) * | 2001-02-14 | 2005-09-07 | 英业达股份有限公司 | 支持页面动态更新的方法 |
US6915513B2 (en) | 2001-11-29 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for dynamically replacing code |
US7886287B1 (en) | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
TW200535697A (en) | 2004-04-30 | 2005-11-01 | Hon Hai Prec Ind Co Ltd | System and method for automatic updating program |
US8554686B2 (en) * | 2005-06-30 | 2013-10-08 | Advanced Micro Devices, Inc. | Anti-hack protection to restrict installation of operating systems and other software |
US7975019B1 (en) * | 2005-07-15 | 2011-07-05 | Amazon Technologies, Inc. | Dynamic supplementation of rendered web pages with content supplied by a separate source |
SG10201402464XA (en) * | 2005-12-07 | 2014-10-30 | 3Dlabs Inc Ltd | Methods for manipulating web pages |
US7730109B2 (en) * | 2005-12-12 | 2010-06-01 | Google, Inc. | Message catalogs for remote modules |
CN100481080C (zh) * | 2006-05-29 | 2009-04-22 | 陈鹰 | 一种浏览器本地页面的存储和更新方法 |
WO2008055204A2 (en) * | 2006-10-31 | 2008-05-08 | Dotted Pair, Inc. | System and method for interacting with item catalogs |
CN101192216B (zh) * | 2006-11-28 | 2010-08-04 | 中兴通讯股份有限公司 | 静态页面控件与web服务器互动的实现方法及web服务器 |
US20080177858A1 (en) * | 2007-01-19 | 2008-07-24 | Ari Aarnio | Arranging dynamic bookmarks based on service provider inputs |
CN101009599A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 向网元结点远程加载补丁包文件的方法、系统及设备 |
CN100592291C (zh) * | 2007-03-29 | 2010-02-24 | 腾讯科技(深圳)有限公司 | 一种对网页进行动态更新的方法、系统及设备 |
US20090282396A1 (en) | 2008-05-07 | 2009-11-12 | Boyer John M | Preserving a state of an application during update |
US9497248B2 (en) * | 2009-06-02 | 2016-11-15 | International Business Machines Corporation | System for enabling rich network applications |
US20110113226A1 (en) * | 2009-11-09 | 2011-05-12 | Bank Of America Corporation | Distribution Of Software Updates |
CN102109989A (zh) * | 2009-12-29 | 2011-06-29 | 阿里巴巴集团控股有限公司 | 一种控制浏览器缓存的方法、装置和系统 |
WO2011091388A2 (en) * | 2010-01-22 | 2011-07-28 | The Regents Of The University Of California | Web application development framework |
CN102170365B (zh) | 2010-02-26 | 2013-12-25 | 阿里巴巴集团控股有限公司 | 实现软件系统热部署的方法及系统 |
CN102195971A (zh) * | 2011-03-24 | 2011-09-21 | 北京思创银联科技股份有限公司 | 网站访问控制方法 |
US8880592B2 (en) * | 2011-03-31 | 2014-11-04 | Cloudera, Inc. | User interface implementation for partial display update |
US9026896B2 (en) * | 2011-12-26 | 2015-05-05 | TrackThings LLC | Method and apparatus of physically moving a portable unit to view composite webpages of different websites |
CN102591963A (zh) * | 2011-12-30 | 2012-07-18 | 奇智软件(北京)有限公司 | 网页内容加载控制方法及装置 |
CN103257973A (zh) * | 2012-02-20 | 2013-08-21 | 腾讯科技(深圳)有限公司 | 浏览器缓存更新方法和系统 |
US9317616B1 (en) * | 2012-06-21 | 2016-04-19 | Amazon Technologies, Inc. | Dynamic web updates based on state |
US9459856B2 (en) * | 2013-01-02 | 2016-10-04 | International Business Machines Corporation | Effective migration and upgrade of virtual machines in cloud environments |
CN104182241A (zh) * | 2013-05-24 | 2014-12-03 | 华为终端有限公司 | 一种网页应用程序更新方法及通信设备 |
US9282145B2 (en) * | 2013-09-20 | 2016-03-08 | Yottaa Inc. | Systems and methods for managing loading priority or sequencing of fragments of a web object |
CN103678639B (zh) * | 2013-12-20 | 2017-07-28 | 北京奇虎科技有限公司 | 浏览器中进行信息更新提醒的方法及设备 |
CN104506367A (zh) * | 2014-12-24 | 2015-04-08 | 上海斐讯数据通信技术有限公司 | 一种升级管理系统 |
US10243795B2 (en) * | 2015-04-16 | 2019-03-26 | Go Daddy Operating Company, LLC | DNS file settings deferral |
US10230786B2 (en) | 2016-02-26 | 2019-03-12 | Red Hat, Inc. | Hot deployment in a distributed cluster system |
-
2016
- 2016-01-21 CN CN201610041657.1A patent/CN106990975B/zh active Active
-
2017
- 2017-01-12 WO PCT/CN2017/070986 patent/WO2017124962A1/zh active Application Filing
-
2018
- 2018-07-20 US US16/041,082 patent/US11055085B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402427A (zh) * | 2010-09-09 | 2012-04-04 | 阿里巴巴集团控股有限公司 | 一种Java应用程序的更新方法及装置 |
CN103902319A (zh) * | 2012-12-30 | 2014-07-02 | 青岛海尔软件有限公司 | 基于服务器端javascript的热部署方法 |
US20140281914A1 (en) * | 2013-03-15 | 2014-09-18 | Ricoh Company, Ltd. | Information processing system, information processing device, and information processing method |
CN104102502A (zh) * | 2013-04-09 | 2014-10-15 | 腾讯科技(深圳)有限公司 | 一种实现热部署的处理方法、装置及服务器 |
CN104809016A (zh) * | 2015-05-13 | 2015-07-29 | 北京京东尚科信息技术有限公司 | 一种网站页面的升级方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182092A (zh) * | 2017-12-13 | 2018-06-19 | 广州视源电子科技股份有限公司 | 更新应用程序资源显示的方法及装置 |
CN110806868A (zh) * | 2018-08-06 | 2020-02-18 | 上海网梯数码科技有限公司 | 一种单页面搭建及加载方法 |
CN110806868B (zh) * | 2018-08-06 | 2023-02-03 | 上海网梯数码科技有限公司 | 一种单页面搭建及加载方法 |
CN115473810A (zh) * | 2022-09-01 | 2022-12-13 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
CN115473810B (zh) * | 2022-09-01 | 2024-04-26 | 珠海金山数字网络科技有限公司 | 双端同步脚本热更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106990975A (zh) | 2017-07-28 |
US11055085B2 (en) | 2021-07-06 |
US20190138297A1 (en) | 2019-05-09 |
CN106990975B (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017124962A1 (zh) | 一种应用热部署方法、装置和系统 | |
US20210133388A1 (en) | Webpage rendering method, device, electronic apparatus and storage medium | |
AU2017253672B2 (en) | Automatically updating a hybrid application | |
US20190251143A1 (en) | Web page rendering method and related device | |
EP1969494B1 (en) | Method and system for providing asynchronous portal pages | |
US10142399B2 (en) | Minimal download and simulated page navigation features | |
US8527862B2 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
US8245125B1 (en) | Hybrid rendering for webpages | |
CN102799372B (zh) | 一种图片信息的上传方法及上传装置 | |
CN112114913B (zh) | 应用程序的界面更新方法、装置、计算机设备和存储介质 | |
TW201723897A (zh) | 資訊顯示方法、裝置及智能終端 | |
CN103699674A (zh) | 网页保存、网页打开方法及装置和网页浏览系统 | |
EP3528474B1 (en) | Webpage advertisement anti-shielding methods and content distribution network | |
CN111079048B (zh) | 一种页面加载方法及装置 | |
CN102946442A (zh) | 基于智能刷新的文件更新发布的方法和系统 | |
EP3813326B1 (en) | Method and apparatus for processing webpage, device, and storage medium | |
US20140245124A1 (en) | System and method thereof for browser agnostic extension models | |
US20160182673A1 (en) | Dynamic cache injector | |
US9058400B2 (en) | HTTP performance enhancement based on delta transfer | |
TW201525740A (zh) | 網頁顯示方法和裝置及電腦可讀取儲存介質 | |
CN117390326A (zh) | 页面管理方法、装置、设备以及存储介质 | |
WO2015032870A1 (en) | Metadata driven declarative client-side session management with differential server side data submission | |
CN116302175A (zh) | 一种并发网络请求处理方法、装置、设备及存储介质 | |
CN116821533A (zh) | 页面渲染方法、计算机设备和计算机可读存储介质 | |
CN111767495A (zh) | 一种合成网页的方法及系统 |
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: 17740993 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: 17740993 Country of ref document: EP Kind code of ref document: A1 |