WO2024093700A1 - Service hopping method and device, and storage medium - Google Patents

Service hopping method and device, and storage medium Download PDF

Info

Publication number
WO2024093700A1
WO2024093700A1 PCT/CN2023/125948 CN2023125948W WO2024093700A1 WO 2024093700 A1 WO2024093700 A1 WO 2024093700A1 CN 2023125948 W CN2023125948 W CN 2023125948W WO 2024093700 A1 WO2024093700 A1 WO 2024093700A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
application
target application
service flow
management unit
Prior art date
Application number
PCT/CN2023/125948
Other languages
French (fr)
Chinese (zh)
Inventor
漆星剑
王剑锋
李轩恺
董伟鑫
季翔宇
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2024093700A1 publication Critical patent/WO2024093700A1/en

Links

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories

Definitions

  • the present application relates to the field of communication technology, and in particular to a service flow method, device and storage medium.
  • smartphones are the most commonly used smart devices. People can watch videos, listen to music, browse the web or read e-books on them, which is very convenient.
  • Embodiments of the present application provide a service flow method, device, and storage medium.
  • a first aspect of an embodiment of the present application provides a service flow device, the service flow device comprising a running engine module and a service flow module, wherein:
  • the runtime engine module is used to run the target application
  • the service flow module is used to transmit the memory data of the target application when it is in a running state and other running data except the memory data.
  • a second aspect of an embodiment of the present application provides a service transfer method, which is applicable to a first device and includes:
  • the memory data and other running data are sent to the second device, so that the second device runs the target application according to the memory data and other running data.
  • a third aspect of an embodiment of the present application provides a service flow device, including a processor, wherein:
  • the processor is used to run the target application; and is used to transmit the memory data of the target application when it is in the running state and other running data except the memory data.
  • a fourth aspect of an embodiment of the present application provides a computer-readable storage medium having executable program code stored thereon.
  • executable program code When executed by a processor, the method described in the second aspect of the embodiment of the present application is implemented.
  • a fifth aspect of an embodiment of the present application discloses a computer program product.
  • the computer program product runs on a computer, the computer executes the method described in the second aspect of the embodiment of the present application.
  • a sixth aspect of an embodiment of the present application discloses an application publishing platform, which is used to publish a computer program product.
  • the computer program product runs on a computer
  • the computer executes the method described in the second aspect of the embodiment of the present application.
  • FIG1A is a scene diagram disclosed in an embodiment of the present application.
  • FIG1B is a diagram of a service flow disclosed in an embodiment of the present application.
  • FIG1C is another service flow diagram disclosed in an embodiment of the present application.
  • FIG1D is a structural diagram of a flow module disclosed in an embodiment of the present application.
  • FIG. 1E is another service flow diagram disclosed in an embodiment of the present application.
  • FIG2A is a structural diagram of a service flow device disclosed in an embodiment of the present application.
  • FIG2B is another structural diagram of the service transfer device disclosed in an embodiment of the present application.
  • FIG2C is another structural diagram of the service transfer device disclosed in the embodiment of the present application.
  • FIG2D is another structural diagram of the service transfer device disclosed in the embodiment of the present application.
  • FIG2E is another structural diagram of the service transfer device disclosed in the embodiment of the present application.
  • FIG2F is another structural diagram of the service transfer device disclosed in the embodiment of the present application.
  • FIG3 is a flowchart of a service transfer method disclosed in an embodiment of the application.
  • FIG4 is another flowchart of the service transfer method disclosed in the application embodiment.
  • FIG. 5 is another schematic diagram of the structure of the service flow device disclosed in the embodiment of the present application.
  • the embodiments of the present application provide a service flow method, device and storage medium, which are conducive to improving the comprehensiveness of service flow.
  • the service transfer scenario is described below in conjunction with FIG. 1A, as shown in FIG. 1A, including a first device 10 and a second device 20.
  • the target application is first run on the first device 10, and after running for a certain period of time, based on the power of the first device 10 or other reasons such as user needs, the user wants to transfer the service flow of the target application to the second device 20, so that the second device 20 can continue the user activity of the target application on the first device.
  • Example 1 Please refer to Figure 1B.
  • the sending end sends the memory data of the application when it is in the running state to the service process of the sending end through the application, and then the service process of the sending end sends it to the service process of the receiving end.
  • the service process of the receiving end passes the memory data to the application for application parsing and use.
  • Example 2 Please refer to Figure 1C.
  • the sending end writes activity data describing the user activity status into the memory space through the application, and updates and marks the user activity data written into the memory space through the application.
  • the sending end reads the activity data from the memory space through the operating system, and sends the activity data to the operating system of the receiving end.
  • the operating system of the receiving end invokes the application when receiving the activity data, and passes the activity data to the application for analysis and use by the application.
  • Example 3 Service flow relies on the flow module to be implemented, and the flow module runs on the sending end and the receiving end.
  • the flow module includes a flow task management service unit and a distributed task scheduling unit (see Figure 1D). See Figure 1E for the specific flow process.
  • the application registers a flow callback on the flow task management service unit.
  • the flow task management service unit determines the receiving end recommended by the system and feeds back the device information of the receiving end to the application.
  • the application receives the device information, it sends the memory data of the application when it is in the running state to the distributed task scheduling unit, and the distributed task scheduling unit sends the memory data to the receiving end.
  • the distributed task scheduling unit at the receiving end receives the memory data, it passes the memory data to the application for application parsing and use.
  • the core of most service flow methods lies in the small-scale memory data when the target application is in running state, that is, the first device transfers the small-scale memory data to the second device, so that the second device can mostly only continue part of the user activities, and the comprehensiveness of the service flow is not enough.
  • the present application discloses a service flow device, which can not only The memory data of the target application when it is in operation can be transferred, and other operation data besides the memory data can also be transferred, which is conducive to improving the comprehensiveness of service flow.
  • service flow device disclosed in the embodiment of the present application can run on the first device and the second device respectively.
  • FIG. 2A is a structural diagram of a service flow device disclosed in an embodiment of the present application.
  • the service flow device shown in Figure 2A may include a processor 210, a memory 220, a display unit 230, an input unit 240, a sensor 250, an audio circuit 260 and other components.
  • the processor 210 is the control center of the service flow device, and uses various interfaces and lines to connect various parts of the entire service flow device. By running or executing software programs and/or modules stored in the memory 220, and calling data stored in the memory 220, the processor 210 performs various functions of the service flow device and processes data, thereby monitoring the service flow device as a whole.
  • the processor 210 may include one or more processing units; optionally, the processor 210 may integrate an application processor, which mainly processes operating devices, user interfaces, and application programs, etc. Of course, other processors may also be included, which are not listed here one by one.
  • the memory 220 can be used to store software programs and modules.
  • the processor 210 executes various functional applications and data processing of the service flow device by running the software programs and modules stored in the memory 220.
  • the memory 220 can mainly include a program storage area and a data storage area, wherein the program storage area can store operating devices, at least one application required for a function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the service flow device (such as audio data, a phone book, etc.), etc.
  • the memory 220 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
  • the display unit 230 can be used to display information input by the user or information provided to the user and various menus of the service flow device.
  • the display unit 230 may include a display panel.
  • the display panel may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc.
  • the touch panel may cover the display panel. When the touch panel detects a touch operation on or near it, it is transmitted to the processor 210 to determine the type of touch event, and then the processor 210 provides corresponding visual output on the display panel according to the type of touch event.
  • the touch panel and the display panel are not shown in Figure 2A.
  • the touch panel and the display panel can be used as two independent components to realize the input and output functions of the service flow device, or the touch panel and the display panel can be integrated to realize the input and output functions of the service flow device.
  • the input unit 240 can be used to receive input digital or character information, and to generate key signal input related to user settings and function control of the service flow device.
  • the input unit 240 may include a touch panel and other input devices.
  • a touch panel also known as a touch screen, can collect user touch operations on or near it (such as operations performed by a user using a finger, stylus, or any other suitable object or accessory on or near the touch panel), and drive the corresponding connection device according to a pre-set program.
  • a variety of types such as resistive, capacitive, infrared, and surface acoustic waves can be used to implement the touch panel.
  • the input unit 240 may also include other input devices. Specifically, other input devices may include, but are not limited to, one or more of function keys (such as volume control keys, switch keys, etc.), trackballs, joysticks, and the like.
  • the service flow device may also include at least one sensor 250, such as a gyroscope sensor, a motion sensor, and other sensors.
  • the gyroscope sensor can be used to determine the motion posture of the service flow device, can be used for anti-shake shooting, and can also be used for navigation and somatosensory game scenes.
  • the acceleration sensor can detect the magnitude of acceleration in all directions, and can detect the magnitude and direction of gravity when stationary.
  • the audio circuit 260 may include a speaker 261 and a microphone 262, and may provide an audio interface between the user and the service flow device.
  • the audio circuit 260 may transmit the electrical signal converted from the received audio data to the speaker 261, which is converted into a sound signal for output; on the other hand, the microphone 262 converts the collected sound signal into an electrical signal, which is received by the audio circuit 260 and converted into audio data, and then the audio data is output to the processor 210 for processing, and then sent to another electronic device through the video circuit, or the audio data is output to the memory 220 for further processing.
  • the service flow device may further include a power supply and a camera.
  • the camera may be located in the front or rear position on the service flow device, which is not limited in the embodiment of the present application.
  • the service flow device can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a personal digital assistant (PDA), etc., but the embodiments of the present application are not limited to this.
  • MID mobile internet device
  • VR virtual reality
  • AR augmented reality
  • the service flow device can communicate with other devices that establish short-range communication connections with it through a short-range transmission module, and can also communicate with other network devices through a communication network.
  • the network device can be a cloud server, and the communication network can be a 5G network, or a long-term evolution (LTE) network. Of course, it can also be a future-oriented communication network, which is not limited here.
  • the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the service flow device.
  • the service flow device may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently.
  • the components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
  • FIG2A illustrates the service flow device in the embodiment of the present application from the perspective of hardware structure.
  • the service flow device is described below from the perspective of software level.
  • the operating system of an electronic device is generally divided into four layers, namely, the application layer, the application framework layer, the system runtime layer, and the core layer; wherein the application layer includes various application programs.
  • the application framework layer includes the application programming interface (API) framework used by the core application;
  • the system runtime layer includes the core library, virtual machine runtime environment, and hardware abstraction (HAL) layer required by the system platform;
  • the core layer (Linux Kernel) includes core system services, such as file management, memory management, process management, network stack, driver model, and other basic service capabilities of the operating system.
  • the service flow device can run in the application framework layer, in the system runtime layer, or across the application framework layer and the system runtime layer, which is not limited in the embodiment of the present application.
  • FIG. 2B is another structural diagram of the service flow device disclosed in the embodiment of the present application.
  • the service flow device shown in FIG. 2B may include a running engine module 100 and a service flow module 200; wherein:
  • the running engine module 100 is used to run the target application program
  • the service transfer module 200 is used to transmit the memory data of the target application when it is in the running state and other running data except the memory data.
  • memory data may include temporary status data and behavior data.
  • Temporary status data is data that disappears after the application exits and is used to indicate the running status; behavior data is used to indicate the activities being performed by the target application.
  • temporary status data may include: the content of a text message being edited and not yet sent, the Uniform Resource Locator (URL) and playback location of the video being played, the name of the document being edited and the editing location, the input, output and intermediate results of the ongoing calculation, and the video information swiped when swiping the video, etc.
  • Behavior data refers to the activities and calculations being performed by the application.
  • other operation data may include application deployment data and non-application deployment data, wherein the application deployment data includes the installation package of the target application and/or the installation packages of other applications that have a collaborative relationship with the target application.
  • the service flow module 200 may include a running state management unit 210 and a static management unit 220, wherein:
  • the running state management unit 210 is used to transmit the memory data and non-application deployment data of the target application when it is in the running state;
  • the static management unit 220 is used to transmit application deployment data corresponding to the target application.
  • the non-application deployment data includes permission data, and the permission data is used to indicate the authorization status of the target application.
  • the authorization status may include the functional authorization status and data authorization status of the target application.
  • the functional authorization status may include whether the target application can access the SD card, whether it can access the camera, whether it can obtain location information, etc.
  • the data authorization status may refer to the login account required by the target application, etc.
  • the running state management unit 210 may include a data migration unit 211 and a permission management unit 212 , wherein:
  • the data migration unit 211 is used to transfer the memory data of the target application when it is in the running state;
  • the permission management unit 212 is used to transmit permission data of the target application when it is in the running state.
  • the non-application deployment data also includes persistent state data, which is data that will not be cleared after the application exits and is used to indicate the running state.
  • persistent state data is data that will not be cleared after the application exits and is used to indicate the running state.
  • the running state management unit 210 may also include a distributed management unit 213, wherein:
  • the distributed management unit 213 is used to transmit the persistent state data of the target application when it is in the running state.
  • the non-application deployment data also includes application collaboration data
  • the application collaboration data includes the program identifier of the target application and the program identifiers of other applications that have a collaborative relationship with the target application.
  • the running state management unit 210 may also include a flow decision unit 214; wherein:
  • the flow decision unit 214 is used to transmit the application collaboration data corresponding to the target application program.
  • the service transfer device shown in FIG2F running on the first device takes the service transfer device shown in FIG2F running on the first device as an example, and introduces the service transfer method performed by the first device in combination with the structure of the service transfer device shown in FIG2F.
  • FIG3 is a flowchart of the service transfer method disclosed in the embodiment of the application.
  • the service transfer method shown in FIG3 may include the following steps:
  • the first device writes memory data corresponding to the target application into the memory space and writes persistent state data into the distributed storage unit during the process of running the target application by running the engine module.
  • the first device reads memory data from the memory space through a data migration unit, and sends the memory data to the second device.
  • the first device sends the memory data to the second device through the data migration unit, which may include: the first device generates a data object for the memory data through the data migration unit, serializes the data object, and sends the serialized data object to the second device.
  • the first device encodes internal data through a data migration unit and sends the encoded memory data to the second device.
  • serialized data objects and the encoded memory data are both binary byte streams.
  • the first device sends the serialized data object or encoded memory data to the second device through the data migration unit, which may include: the first device sends the serialized data object or encoded memory data to the second device through the data migration unit using the short-range communication module of the first device.
  • the short-range communication module may include but is not limited to any one of the following: a near field communication module (NFC), a Bluetooth module, and an ultra wideband (UWB) communication module.
  • NFC near field communication module
  • Bluetooth Bluetooth module
  • UWB ultra wideband
  • first device and the second device can establish a short-range communication link through their respective short-range communication modules, and the first device sends the data object or the encoded memory data to the second device through the short-range communication link.
  • the first device reads the persistent state data from the distributed storage unit through the distributed management unit, and sends the persistent state data to the second device.
  • the distributed storage unit may include a distributed database and/or a distributed file.
  • the distributed storage unit includes a distributed database and a distributed file, and the persistent state data may be database data and/or file data.
  • the first device reads the persistent state data from the distributed storage unit through the distributed management unit, which may include: the first device reads the database data from the distributed database of the first device through the distributed management unit, and reads the file data from the distributed file of the first device.
  • the first device sends the persistent state data to the cloud server through the distributed management unit, which may include: the first device sends the database data and the file data to the second device through the distributed management unit.
  • the first device sending database data to the second device through the distributed management unit may include: the first device sending the database data to the cloud server through the distributed management unit, so that the cloud server receives the first data request reported by the second device for obtaining the database data, and sends the database data to the second device.
  • the first device sending file data to the second device through the distributed management unit may include: the first device sending the file data to the second device through the distributed management unit using a designated communication link; wherein the designated communication link is a direct communication channel established between the first device and the second device according to the communication protocols built into their respective distributed file systems.
  • the first device obtains permission data of the target application when it is in a running state from the secure storage space of the first device through the permission management unit, and sends the permission data to the second device.
  • the first device sends the permission data to the second device through the permission management unit, which may include but is not limited to the following methods:
  • Mode 1 The first device serializes the permission data through the permission management unit, and sends the serialized permission data to the second device using the short-distance communication module of the first device;
  • Mode 2 The first device sends the permission data to the cloud server through the permission management unit, so that the cloud server stores the permission data and sends the permission data to the second device in response to the second data request for permission data sent by the second device.
  • Mode 3 The first device sends the permission data to the data migration unit through the permission management unit, and sends the permission data to the second device through the data migration unit.
  • the manner in which the data migration unit sends the permission data to the second device can refer to the manner in which the data migration unit sends the memory data to the second device, which will not be described in detail here.
  • the first device determines the program identifiers of other applications that have a collaborative relationship with the target application through the flow decision unit, and obtains application collaborative data corresponding to the target application based on the program identifier of the target application and the program identifiers of the other applications; and sends the application collaborative data to the second device.
  • the program identifier is used to uniquely identify the application program.
  • the program identifier may include, but is not limited to, at least one of the following: numbers, letters, and special characters.
  • other applications that have a collaborative relationship with the target application may refer to other applications that are currently working in collaboration with the target application, other applications that have worked in collaboration with the target application during the operation of the target application, or other applications that are likely to work in collaboration with the target application in the future.
  • the way in which the first device sends the application collaboration data to the second device through the flow decision unit can refer to the way in which the data migration unit sends memory data, which will not be repeated here.
  • the first device may also respond to the application data sent by the second device through the static management unit.
  • a deployment request is sent to the second device, and application deployment data corresponding to the target application is sent.
  • the application data deployment request may carry the target program identifier of the application program to be deployed by the second device.
  • the first device responds to the application data deployment request sent by the second device through the static management unit, and sends the application deployment data corresponding to the target application program to the second device, which may include: the first device receives the application data deployment request sent by the second device through the static management unit, and parses the target program identifier from the data deployment request, and uses the installation package of the application program corresponding to the target program identifier as the application deployment data corresponding to the target application program, and sends the application deployment data to the second device.
  • the first device sending the application deployment data to the second device through the static management unit may include: the first device sending the application deployment data to the second device through the static management unit using the short-range communication module of the first device.
  • the first device after the first device obtains the application collaboration data corresponding to the target application through the flow decision unit, it can also send the application collaboration data to the static management unit through the flow decision unit, and back up the target application and the installation packages of other applications that have a collaborative relationship with the target application based on the application collaboration data through the static management unit.
  • various types of data can be unmerged data or merged data, which is not limited in the embodiments of the present application.
  • the following is an example of a first device sending memory data to a second device through a data migration unit. If the memory data has not been merged, the first device sends to the second device through the data migration unit all the data written to the memory space for a specified time. If the memory data has been merged, the first device sends to the second device through the data migration unit the merged data after the merge operation is performed on all the data written to the memory space for a specified time.
  • the specified time may refer to the synchronization period of the memory data.
  • the data migration unit may perform a merge operation on all data written to the memory space within a specified time period.
  • the data migration unit may obtain the data block corresponding to each data block identifier from all data written to the memory space within a specified time period, and perform a merge operation on the data block corresponding to each data block identifier according to a specified merge algorithm to obtain a target data block corresponding to each data block identifier, and combine the target data blocks corresponding to each data block identifier to obtain the above-mentioned memory data.
  • the data block identifier is used to uniquely identify a data block, and the data block identifier may include at least one of the following: numbers, letters, and special characters.
  • the specified merging algorithm may be a data overwriting algorithm based on write time, a recursive multi-way merging algorithm, or a user-preset merging rule, etc., which is not limited in the embodiments of the present application.
  • the data overwriting algorithm based on writing time refers to overwriting the old version with the new version.
  • the recursive multi-way merging algorithm refers to taking the most original data block as the benchmark, comparing it with other changed data blocks, obtaining the change data corresponding to each changed data block, combining the change data corresponding to each changed data block, and obtaining the content of the merged data block.
  • Recursive multi-way merging algorithm take a as the benchmark, use b and c to compare with a respectively, the changed part of b relative to a is “useful” and the changed part of c relative to a is "a little white mouse", combine the changed parts of b and c to get the merged data block ("the little white mouse is useful").
  • the service transfer device shown in FIG2F running on the second device as an example, and combines the structure of the service transfer device shown in FIG2F and the service transfer method shown in FIG3 to introduce the service transfer method performed by the second device.
  • FIG4 is another flow chart of the service transfer method disclosed in the embodiment of the application.
  • the service transfer method shown in FIG4 may include the following steps:
  • a second device receives memory data through a data migration unit.
  • the second device receives the memory data through the data migration unit, and sends the memory data to the execution engine module in the following ways, including but not limited to:
  • the second device receives the serialized data object through the data migration unit, performs a deserialization operation on the serialized data object to obtain the data object, and parses the data object to obtain memory data.
  • the second device receives the encoded memory data through the data migration unit, and performs a decoding operation on the encoded memory data to obtain the memory data.
  • the second device receives the serialized data object or the encoded memory data through the data migration unit, which may include: the second device receives the serialized data object or the encoded memory data through the data migration unit using the short-range communication module of the second device.
  • the second device receives persistent state data through a distributed management unit.
  • the second device receiving the persistent state data through the distributed management unit may include:
  • the second device sends a first data request for acquiring database data to the cloud server through the distributed management unit, and receives the database data sent by the cloud server in response to the first data request.
  • the second device receives the file data sent by the second device through the designated communication link through the distributed management unit.
  • the second device receives permission data through the permission management unit.
  • the second device receives the permission data through the permission management unit, which may include but is not limited to the following methods:
  • Mode 1 The second device receives serialized permission data through the permission management unit, and performs a deserialization operation on the serialized permission data to obtain the permission data.
  • Mode 2 The second device sends a second data request for requesting permission data to the cloud server through the permission management unit, and receives the permission data sent by the cloud server in response to the second data request.
  • Mode 3 The second device receives the permission data sent by the first device through the data migration unit, and sends the permission data to the permission management unit.
  • the second device receives the application collaboration data through the flow decision unit, and sends the application collaboration data to the static management unit.
  • the second device generates a deployment data acquisition request according to the application collaboration data through the static management unit, sends the deployment data acquisition request to the application market of the first device and/or the second device, and receives the application deployment data sent by the application market of the first device and/or the second device in response to the deployment data acquisition request.
  • the second device may also deploy a corresponding application program according to the application deployment data through a static management unit.
  • the second device generates a deployment data acquisition request according to the application collaboration data through the static management unit, and sends the deployment data acquisition request to the application market of the first device and/or the second device, and receives the application deployment data sent by the application market of the first device and/or the second device in response to the deployment data acquisition request, which may include:
  • the second device determines through the static management unit whether the applications indicated by the application collaboration data have all been deployed on the second device. If there is an undeployed first application, a deployment data acquisition request is generated according to the program identifier of the first application, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
  • the second device can also identify through the static management unit whether the first application can be run on the second device. If so, a deployment data acquisition request is generated according to the program identifier of the first application, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
  • the second device determines through the static management unit whether an alternative application for the first application that cannot run on the second device has been deployed on the second device; if the alternative application has been deployed, a deployment data acquisition request is generated based on the program identifier of the first application that can run on the second device, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
  • the second device can generate a deployment data acquisition request through a static management unit based on the program identifier of the alternative application and the program identifier of the first application that can run on the second device, and send the deployment data acquisition request to the application market of the second device, and receive the application deployment data sent by the application market of the second device.
  • the second device can generate a first deployment data acquisition request based on the program identifier of the alternative application through the static management unit, send the first deployment data acquisition request to the application market of the second device, and receive the first application deployment data sent by the application market of the second device in response to the first deployment data acquisition request; and generate a second deployment data acquisition request based on the program identifier of the first application that can be run on the second device, send the second deployment data acquisition request to the first device, and receive the second application deployment data sent by the first device in response to the second deployment data acquisition request.
  • the second device receives the application deployment data sent by the first device through the static management unit using the short-range communication module of the second device.
  • the second device can use the short-range communication module of the second device through the static management unit to receive the second application deployment data sent by the first device in response to the second deployment data acquisition request, which can effectively reduce the situation where the second device occupies network resources.
  • each unit (data migration unit, permission management unit and distributed management unit) on the second device receives corresponding data periodically, and each unit can periodically perform a merge operation after receiving the corresponding data, so that when the running engine module obtains corresponding data from each unit, the corresponding data obtained are merged.
  • the data storage pressure of the second device can be effectively reduced.
  • the second device starts the target application by running the engine module, and obtains the memory data, permission data and persistent status data from the data migration unit, the permission management unit and the distributed management unit respectively, and runs the target application according to the memory data, permission data and persistent status data.
  • the running engine module can send data requests to the data migration unit, the permission management unit and the distributed management unit respectively to obtain memory data, permission data and persistent status data from the data migration unit, the permission management unit and the distributed management unit respectively.
  • each unit data migration unit, permission management unit and distributed management unit on the second device does not perform a periodic merge operation on the corresponding data
  • each unit when receiving a data request sent by the runtime engine module, can respond to the data request, perform a merge operation on the corresponding data received by each unit, and The merged corresponding data is sent to the runtime engine module, and the runtime engine module can run the target application according to the merged memory data, permission data and persistent state data.
  • the service flow device 500 includes: a processor 501 and a memory 502, a communication interface 503 and a bus 504.
  • the memory 502 is used to store instructions
  • the processor 501 is used to execute the instructions stored in the memory 502.
  • the processor 501, the memory 502 and the communication interface 503 are connected to each other through the bus 504.
  • the processor 501 is used to: run the target application; and to transmit the memory data of the target application when it is in the running state and other running data other than the memory data. It should be understood that the service flow device 500 can be specifically the service flow device shown in Figure 2A, Figure 2B or Figure 2C to execute the method in any of the embodiments in Figures 3-4 above.
  • the memory 502 may include a read-only memory and a random access memory, and provide instructions and data to the processor 501.
  • a portion of the memory 502 may also include a non-volatile random access memory.
  • the memory 502 may also store information about the device type.
  • the processor 501 may be used to execute the instructions stored in the memory, and when the processor executes the instructions, the processor 501 may execute the various steps and/or processes corresponding to the service flow device in the above method embodiment.
  • the processor may be a central processing unit, or other general-purpose processors, digital signal processors, application-specific integrated circuits, field programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
  • the embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions.
  • the computer instructions When the computer instructions are executed on an electronic device, the electronic device executes any method in any of the above embodiments.
  • the above-mentioned computer-readable storage medium may adopt any combination of one or more computer-readable media.
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above.
  • a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or device.
  • Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • the program code embodied on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • any appropriate medium including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • Computer program code for performing the operations of this specification may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages.
  • the program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
  • LAN local area network
  • WAN wide area network
  • Internet service provider e.g., AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • the embodiment of the present application also provides a computer program product.
  • the computer program product When the computer program product is run on a computer, the computer is enabled to execute part or all of the steps in the above method embodiment.
  • the disclosed devices and methods can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium.
  • the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

Embodiments of the present application disclose a service hopping method and device, and a storage medium. The service hopping device comprises an operation engine module and a service hopping module. The operation engine module is used for operating a target application program. The service hopping module is used for transmitting memory data of the target application program when in operation and operation data other than the memory data.

Description

服务流转方法、装置及存储介质Service flow method, device and storage medium
本申请要求于2022年10月31日提交、申请号为202211365990.X、发明名称为“服务流转方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application filed on October 31, 2022, with application number 202211365990.X and invention name “Service Flow Method, Device and Storage Medium”, the entire contents of which are incorporated by reference into this application.
技术领域Technical Field
本申请涉及通信技术领域,尤其涉及一种服务流转方法、装置及存储介质。The present application relates to the field of communication technology, and in particular to a service flow method, device and storage medium.
背景技术Background technique
随着人们生活水平的提高,以智能手机为代表的便携式设备,是人们最常用的智能设备,人们可以上面看视频、听音乐、浏览网页或看电子书籍,非常方便。As people's living standards improve, portable devices represented by smartphones are the most commonly used smart devices. People can watch videos, listen to music, browse the web or read e-books on them, which is very convenient.
但由于电量或者用户习惯等原因,用户往往会有流转智能手机上的任一服务的需求,也即,该任一服务在其他电子设备上继续智能手机最后的用户活动。However, due to battery life or user habits, users often have the need to transfer any service on their smartphones, that is, to continue the last user activity on the smartphone on other electronic devices.
发明内容Summary of the invention
本申请实施例提供了一种服务流转方法、装置及存储介质。Embodiments of the present application provide a service flow method, device, and storage medium.
本申请实施例第一方面提供了一种服务流转装置,所述服务流转装置包括运行引擎模块和服务流转模块,其中:A first aspect of an embodiment of the present application provides a service flow device, the service flow device comprising a running engine module and a service flow module, wherein:
所述运行引擎模块,用于运行目标应用程序;The runtime engine module is used to run the target application;
所述服务流转模块,用于传输所述目标应用程序在处于运行状态时的内存数据和除所述内存数据之外的其他运行数据。The service flow module is used to transmit the memory data of the target application when it is in a running state and other running data except the memory data.
本申请实施例第二方面提供了一种服务流转方法,所述方法适用于第一设备,包括:A second aspect of an embodiment of the present application provides a service transfer method, which is applicable to a first device and includes:
获取目标应用程序处于运行状态时的内存数据和其他运行数据;Obtain memory data and other running data when the target application is in running state;
向第二设备发送所述内存数据和其他运行数据,以使所述第二设备根据所述内存数据和其他运行数据运行所述目标应用程序。The memory data and other running data are sent to the second device, so that the second device runs the target application according to the memory data and other running data.
本申请实施例第三方面提供了一种服务流转装置,包括处理器,其中:A third aspect of an embodiment of the present application provides a service flow device, including a processor, wherein:
所述处理器,用于运行目标应用程序;以及,用于传输所述目标应用程序在处于运行状态时的内存数据和除所述内存数据之外的其他运行数据。The processor is used to run the target application; and is used to transmit the memory data of the target application when it is in the running state and other running data except the memory data.
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有可执行程序代码,所述可执行程序代码被处理器执行时,实现如本申请实施例第二方面所述的方法。A fourth aspect of an embodiment of the present application provides a computer-readable storage medium having executable program code stored thereon. When the executable program code is executed by a processor, the method described in the second aspect of the embodiment of the present application is implemented.
本申请实施例第五方面公开一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行本申请实施例第二方面所述的方法。A fifth aspect of an embodiment of the present application discloses a computer program product. When the computer program product runs on a computer, the computer executes the method described in the second aspect of the embodiment of the present application.
本申请实施例第六方面公开一种应用发布平台,该应用发布平台用于发布计算机程序产品,其中,当该计算机程序产品在计算机上运行时,使得该计算机执行本申请实施例第二方面所述的方法。A sixth aspect of an embodiment of the present application discloses an application publishing platform, which is used to publish a computer program product. When the computer program product runs on a computer, the computer executes the method described in the second aspect of the embodiment of the present application.
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和有益效果将从说明书、附图以及权利要求书中体现。Details of one or more embodiments of the present application are presented in the following drawings and descriptions. Other features and benefits of the present application will be reflected in the specification, drawings and claims.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments and the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and other drawings can be obtained based on these drawings.
图1A是本申请实施例公开的一种场景图示; FIG1A is a scene diagram disclosed in an embodiment of the present application;
图1B是本申请实施例公开的一种服务流转图示;FIG1B is a diagram of a service flow disclosed in an embodiment of the present application;
图1C是本申请实施例公开的另一种服务流转图示;FIG1C is another service flow diagram disclosed in an embodiment of the present application;
图1D是本申请实施例公开的流转模块的一种结构图示;FIG1D is a structural diagram of a flow module disclosed in an embodiment of the present application;
图1E是本申请实施例公开的又一种服务流转图示;FIG. 1E is another service flow diagram disclosed in an embodiment of the present application;
图2A是本申请实施例公开的服务流转装置的一种结构图示;FIG2A is a structural diagram of a service flow device disclosed in an embodiment of the present application;
图2B是本申请实施例公开的服务流转装置的另一种结构图示;FIG2B is another structural diagram of the service transfer device disclosed in an embodiment of the present application;
图2C是本申请实施例公开的服务流转装置的又一种结构图示;FIG2C is another structural diagram of the service transfer device disclosed in the embodiment of the present application;
图2D是本申请实施例公开的服务流转装置的又一种结构图示;FIG2D is another structural diagram of the service transfer device disclosed in the embodiment of the present application;
图2E是本申请实施例公开的服务流转装置的又一种结构图示;FIG2E is another structural diagram of the service transfer device disclosed in the embodiment of the present application;
图2F是本申请实施例公开的服务流转装置的又一种结构图示;FIG2F is another structural diagram of the service transfer device disclosed in the embodiment of the present application;
图3是申请实施例公开的服务流转方法的一种流程图示;FIG3 is a flowchart of a service transfer method disclosed in an embodiment of the application;
图4是申请实施例公开的服务流转方法的又一种流程图示;FIG4 is another flowchart of the service transfer method disclosed in the application embodiment;
图5是本申请实施例公开的服务流转装置的又一种结构示意图。FIG. 5 is another schematic diagram of the structure of the service flow device disclosed in the embodiment of the present application.
具体实施方式Detailed ways
本申请实施例提供了一种服务流转方法、装置及存储介质,有利于提高服务流转的全面性。The embodiments of the present application provide a service flow method, device and storage medium, which are conducive to improving the comprehensiveness of service flow.
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。In order to make the technical personnel in the technical field better understand the scheme of the present application, the technical scheme in the embodiment of the present application will be described below in conjunction with the drawings in the embodiment of the present application. Obviously, the described embodiment is only a part of the embodiment of the present application, not all of the embodiments. Based on the embodiments in the present application, they should all fall within the scope of protection of the present application.
为了便于本领域技术人员清楚地理解服务流转的过程,下面结合图1A对服务流转的场景进行说明,如图1A所示包括第一设备10和第二设备20。目标应用程序先在第一设备10上运行,在运行了一定时长之后,基于第一设备10的电量或用户需求等其他原因,用户想要将目标应用程序的服务流转到第二设备20上,以使第二设备20可以接续目标应用程序在第一设备上的用户活动。In order to facilitate those skilled in the art to clearly understand the process of service transfer, the service transfer scenario is described below in conjunction with FIG. 1A, as shown in FIG. 1A, including a first device 10 and a second device 20. The target application is first run on the first device 10, and after running for a certain period of time, based on the power of the first device 10 or other reasons such as user needs, the user wants to transfer the service flow of the target application to the second device 20, so that the second device 20 can continue the user activity of the target application on the first device.
下面是几种现有技术中的服务流转方法的流程图示。The following are flowcharts illustrating several service flow methods in the prior art.
示例1:请参阅图1B,发送端通过应用将该应用处于运行状态时的内存数据发送给发送端的服务进程,再由发送端的服务进程发送给接收端的服务进程,在该应用在接收端启动时,接收端的服务进程将该内存数据传递给应用,以供应用解析使用。Example 1: Please refer to Figure 1B. The sending end sends the memory data of the application when it is in the running state to the service process of the sending end through the application, and then the service process of the sending end sends it to the service process of the receiving end. When the application is started at the receiving end, the service process of the receiving end passes the memory data to the application for application parsing and use.
示例2:请参阅图1C,发送端通过应用将描述用户活动状态的活动数据写入内存空间,并通过应用对写入内存空间的用户活动数据进行更新及标记操作,发送端通过操作系统从内存空间中读取活动数据,并将该活动数据向接收端的操作系统发送,接收端的操作系统在收到该活动数据时唤起应用,并将活动数据传递给应用,以供应用解析使用。Example 2: Please refer to Figure 1C. The sending end writes activity data describing the user activity status into the memory space through the application, and updates and marks the user activity data written into the memory space through the application. The sending end reads the activity data from the memory space through the operating system, and sends the activity data to the operating system of the receiving end. The operating system of the receiving end invokes the application when receiving the activity data, and passes the activity data to the application for analysis and use by the application.
示例3:服务流转依赖流转模块来实现,该流转模块运行在发送端和接收端上。该流转模块包括流转任务管理服务单元和分布式任务调度单元(请参阅图1D)。具体的流转过程参见图1E,在发送端,应用在流转任务管理服务单元上注册流转回调,流转任务管理服务单元确定系统推荐的接收端,并将接收端的设备信息向应用反馈,应用在接收到该设备信息时,向分布式任务调度单元发送应用处于运行状态时的内存数据,分布式任务调度单元将该内存数据发送给接收端。接收端的分布式任务调度单元在接收该内存数据时,并将内存数据传递给应用,以供应用解析使用。Example 3: Service flow relies on the flow module to be implemented, and the flow module runs on the sending end and the receiving end. The flow module includes a flow task management service unit and a distributed task scheduling unit (see Figure 1D). See Figure 1E for the specific flow process. At the sending end, the application registers a flow callback on the flow task management service unit. The flow task management service unit determines the receiving end recommended by the system and feeds back the device information of the receiving end to the application. When the application receives the device information, it sends the memory data of the application when it is in the running state to the distributed task scheduling unit, and the distributed task scheduling unit sends the memory data to the receiving end. When the distributed task scheduling unit at the receiving end receives the memory data, it passes the memory data to the application for application parsing and use.
可见,在现有技术中,多数服务流转方法的核心在于目标应用程序处于运行状态时小规模的内存数据,也即,第一设备将小规模的内存数据向第二设备,这样第二设备大都仅能接续部分的用户活动,服务流转的全面性不够。It can be seen that in the prior art, the core of most service flow methods lies in the small-scale memory data when the target application is in running state, that is, the first device transfers the small-scale memory data to the second device, so that the second device can mostly only continue part of the user activities, and the comprehensiveness of the service flow is not enough.
为解决这一问题,本申请实施例公开的一种服务流转装置,该服务流转装置不仅可以 流转目标应用程序在处于运行状态时的内存数据,还可以流转除内存数据之外的其他运行数据,有利于提高服务流转的全面性。To solve this problem, the present application discloses a service flow device, which can not only The memory data of the target application when it is in operation can be transferred, and other operation data besides the memory data can also be transferred, which is conducive to improving the comprehensiveness of service flow.
需要说明的是,本申请实施例公开的服务流转装置可以分别运行在第一设备和第二设备上。It should be noted that the service flow device disclosed in the embodiment of the present application can run on the first device and the second device respectively.
下面结合下述图示,从硬件层面对本申请实施例公开的服务流转装置进行介绍:The following is an introduction to the service transfer device disclosed in the embodiment of the present application from the hardware level in conjunction with the following diagram:
请参考图2A,图2A为本申请实施例公开的服务流转装置的一种结构图示。如图2A所示的服务流转装置可以包括处理器210、存储器220、显示单元230、输入单元240、传感器250、音频电路260等部件。Please refer to Figure 2A, which is a structural diagram of a service flow device disclosed in an embodiment of the present application. The service flow device shown in Figure 2A may include a processor 210, a memory 220, a display unit 230, an input unit 240, a sensor 250, an audio circuit 260 and other components.
处理器210是服务流转装置的控制中心,利用各种接口和线路连接整个服务流转装置的各个部分,通过运行或执行存储在存储器220内的软件程序和/或模块,以及调用存储在存储器220内的数据,执行服务流转装置的各种功能和处理数据,从而对服务流转装置进行整体监控。可选的,处理器210可包括一个或多个处理单元;可选的,处理器210可集成应用处理器,应用处理器主要处理操作装置、用户界面和应用程序等,当然,还可以包括其他处理器,在此不一一列举。The processor 210 is the control center of the service flow device, and uses various interfaces and lines to connect various parts of the entire service flow device. By running or executing software programs and/or modules stored in the memory 220, and calling data stored in the memory 220, the processor 210 performs various functions of the service flow device and processes data, thereby monitoring the service flow device as a whole. Optionally, the processor 210 may include one or more processing units; optionally, the processor 210 may integrate an application processor, which mainly processes operating devices, user interfaces, and application programs, etc. Of course, other processors may also be included, which are not listed here one by one.
存储器220可用于存储软件程序以及模块,处理器210通过运行存储在存储器220的软件程序以及模块,从而执行服务流转装置的各种功能应用以及数据处理。存储器220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务流转装置的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The memory 220 can be used to store software programs and modules. The processor 210 executes various functional applications and data processing of the service flow device by running the software programs and modules stored in the memory 220. The memory 220 can mainly include a program storage area and a data storage area, wherein the program storage area can store operating devices, at least one application required for a function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the service flow device (such as audio data, a phone book, etc.), etc. In addition, the memory 220 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
显示单元230可用于显示由用户输入的信息或提供给用户的信息以及服务流转装置的各种菜单。显示单元230可包括显示面板,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器210以确定触摸事件的类型,随后处理器210根据触摸事件的类型在显示面板上提供相应的视觉输出。其中,触控面板与显示面板未在图2A上示出。触控面板与显示面板可以作为两个独立的部件来实现服务流转装置的输入和输入功能,也可以将触控面板与显示面板集成而实现服务流转装置的输入和输出功能。The display unit 230 can be used to display information input by the user or information provided to the user and various menus of the service flow device. The display unit 230 may include a display panel. Optionally, the display panel may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel may cover the display panel. When the touch panel detects a touch operation on or near it, it is transmitted to the processor 210 to determine the type of touch event, and then the processor 210 provides corresponding visual output on the display panel according to the type of touch event. Among them, the touch panel and the display panel are not shown in Figure 2A. The touch panel and the display panel can be used as two independent components to realize the input and output functions of the service flow device, or the touch panel and the display panel can be integrated to realize the input and output functions of the service flow device.
输入单元240可用于接收输入的数字或字符信息,以及产生与服务流转装置的用户设置以及功能控制有关的键信号输入。具体地,输入单元240可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元240还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于功能键(比如音量控制按键、开关按键等)、轨迹球、操作杆等中的一种或多种。The input unit 240 can be used to receive input digital or character information, and to generate key signal input related to user settings and function control of the service flow device. Specifically, the input unit 240 may include a touch panel and other input devices. A touch panel, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by a user using a finger, stylus, or any other suitable object or accessory on or near the touch panel), and drive the corresponding connection device according to a pre-set program. In addition, a variety of types such as resistive, capacitive, infrared, and surface acoustic waves can be used to implement the touch panel. In addition to the touch panel, the input unit 240 may also include other input devices. Specifically, other input devices may include, but are not limited to, one or more of function keys (such as volume control keys, switch keys, etc.), trackballs, joysticks, and the like.
服务流转装置还可包括至少一种传感器250,比如陀螺仪传感器、运动传感器以及其他传感器。具体地,陀螺仪传感器可以用于确定服务流转装置的运动姿态,可以用于拍摄防抖,还可以用于导航,体感游戏场景。作为运动传感器的一种,加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用,例如横竖屏切换、相关游戏、磁力计姿态校准等;至于电子设备还可配置的压力计、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。 The service flow device may also include at least one sensor 250, such as a gyroscope sensor, a motion sensor, and other sensors. Specifically, the gyroscope sensor can be used to determine the motion posture of the service flow device, can be used for anti-shake shooting, and can also be used for navigation and somatosensory game scenes. As a type of motion sensor, the acceleration sensor can detect the magnitude of acceleration in all directions, and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of electronic devices, such as horizontal and vertical screen switching, related games, magnetometer posture calibration, etc.; as for other sensors that electronic devices can also be configured with, such as pressure gauges, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be repeated here.
音频电路260可以包括扬声器261和传声器262,可提供用户与服务流转装置之间的音频接口。音频电路260可将接收到的音频数据转换后的电信号,传输到扬声器261,由扬声器261转换为声音信号输出;另一方面,传声器262将收集的声音信号转换为电信号,由音频电路260接收后转换为音频数据,再将音频数据输出处理器210处理后,经视频电路以发送给比如另一电子设备,或者将音频数据输出至存储器220以便进一步处理。The audio circuit 260 may include a speaker 261 and a microphone 262, and may provide an audio interface between the user and the service flow device. The audio circuit 260 may transmit the electrical signal converted from the received audio data to the speaker 261, which is converted into a sound signal for output; on the other hand, the microphone 262 converts the collected sound signal into an electrical signal, which is received by the audio circuit 260 and converted into audio data, and then the audio data is output to the processor 210 for processing, and then sent to another electronic device through the video circuit, or the audio data is output to the memory 220 for further processing.
尽管未示出,服务流转装置还可以包括电源、摄像头。可选地,摄像头在服务流转装置上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。Although not shown, the service flow device may further include a power supply and a camera. Optionally, the camera may be located in the front or rear position on the service flow device, which is not limited in the embodiment of the present application.
本申请实施例提供的服务流转装置可以是手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、个人数字助理(personal digital assistant,PDA)等,本申请实施例对此并不限定。The service flow device provided in the embodiments of the present application can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a wearable device, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a personal digital assistant (PDA), etc., but the embodiments of the present application are not limited to this.
另外,本申请实施例提供的服务流转装置可以通过近距离传输模块和与其建立近距离通信连接的其他设备进行通信,还可以通过通信网络与其他网络设备通信,该网络设备可以是云服务器,该通信网络可以是5G网络,也可以是长期演进(long term evolution,LTE)网络,当然也可以是面向未来的通信网络,在此不作限制。In addition, the service flow device provided in the embodiment of the present application can communicate with other devices that establish short-range communication connections with it through a short-range transmission module, and can also communicate with other network devices through a communication network. The network device can be a cloud server, and the communication network can be a 5G network, or a long-term evolution (LTE) network. Of course, it can also be a future-oriented communication network, which is not limited here.
可以理解的是,本申请实施例示意的结构并不构成对服务流转装置的具体限定。在本申请另一些实施例中,服务流转装置可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the service flow device. In other embodiments of the present application, the service flow device may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
图2A是从硬件结构上对本申请实施例中的服务流转装置进行了说明,下面从软件层面对服务流转装置进行说明,电子设备的操作系统一般分为4层,分别是应用层、应用框架层、系统运行库层以及核心层;其中,应用层包括各种应用程序。应用框架层(Java Frameworks)包含核心应用所使用的应用程序编程接口(Application Programming Interface,API)框架;系统运行库层包含了系统平台必须的核心库、虚拟机运行环境及硬件抽象(Hardware Abstract Layer,HAL)层;核心层(Linux Kernel)包括核心系统服务,例如文件管理、内存管理、进程管理、网络堆栈、驱动模型等操作系统的基本服务能力。其中,服务流转装置既可以运行在应用框架层之中,也可以运行在系统运行库层之中,也可以跨越应用框架层和系统运行库层两层运行,本申请实施例不做限定。FIG2A illustrates the service flow device in the embodiment of the present application from the perspective of hardware structure. The service flow device is described below from the perspective of software level. The operating system of an electronic device is generally divided into four layers, namely, the application layer, the application framework layer, the system runtime layer, and the core layer; wherein the application layer includes various application programs. The application framework layer (Java Frameworks) includes the application programming interface (API) framework used by the core application; the system runtime layer includes the core library, virtual machine runtime environment, and hardware abstraction (HAL) layer required by the system platform; the core layer (Linux Kernel) includes core system services, such as file management, memory management, process management, network stack, driver model, and other basic service capabilities of the operating system. Among them, the service flow device can run in the application framework layer, in the system runtime layer, or across the application framework layer and the system runtime layer, which is not limited in the embodiment of the present application.
下面结合附图,对本申请实施例公开的服务流转装置进行详细说明。The service flow device disclosed in the embodiment of the present application is described in detail below in conjunction with the accompanying drawings.
请参阅图2B,图2B是本申请实施例公开的服务流转装置的另一种结构图示。如图2B所示的服务流转装置可以包括运行引擎模块100和服务流转模块200;其中:Please refer to FIG. 2B, which is another structural diagram of the service flow device disclosed in the embodiment of the present application. The service flow device shown in FIG. 2B may include a running engine module 100 and a service flow module 200; wherein:
运行引擎模块100,用于运行目标应用程序;The running engine module 100 is used to run the target application program;
服务流转模块200,用于传输目标应用程序在处于运行状态时的内存数据和除内存数据之外的其他运行数据。The service transfer module 200 is used to transmit the memory data of the target application when it is in the running state and other running data except the memory data.
在一些实施例中,内存数据可以包括临时状态数据和行为数据,临时状态数据是应用程序退出运行后,会消失且用于指示运行状态的数据;行为数据用于指示目标应有程序正在进行的活动。示例性的,临时状态数据可以包括:正在编辑且尚未发出去的短信内容、正在播放的视频的统一资源定位符(Uniform Resource Locator,URL)和播放的位置、正在编辑的文档名称及编辑位置、正在进行的计算的输入、输出及中间结果、刷视频时刷下来的视频信息等。行为数据指的是应用正在进行的活动、计算等。 In some embodiments, memory data may include temporary status data and behavior data. Temporary status data is data that disappears after the application exits and is used to indicate the running status; behavior data is used to indicate the activities being performed by the target application. Exemplarily, temporary status data may include: the content of a text message being edited and not yet sent, the Uniform Resource Locator (URL) and playback location of the video being played, the name of the document being edited and the editing location, the input, output and intermediate results of the ongoing calculation, and the video information swiped when swiping the video, etc. Behavior data refers to the activities and calculations being performed by the application.
在一些实施例中,其他运行数据可以包括应用部署数据和非应用部署数据。其中,应用部署数据包括目标应用程序的安装包和/或与目标应用程序存在协同关系的其他应用程序的安装包。In some embodiments, other operation data may include application deployment data and non-application deployment data, wherein the application deployment data includes the installation package of the target application and/or the installation packages of other applications that have a collaborative relationship with the target application.
进一步的,对图2B所示的服务流转装置进行优化,得到图2C。在图2C所示的服务流转装置中,服务流转模块200可以包括运行态管理单元210和静态管理单元220,其中:Further, the service flow device shown in FIG2B is optimized to obtain FIG2C. In the service flow device shown in FIG2C, the service flow module 200 may include a running state management unit 210 and a static management unit 220, wherein:
运行态管理单元210,用于传输目标应用程序在处于运行状态时的内存数据和非应用部署数据;The running state management unit 210 is used to transmit the memory data and non-application deployment data of the target application when it is in the running state;
静态管理单元220,用于传输目标应用程序对应的应用部署数据。The static management unit 220 is used to transmit application deployment data corresponding to the target application.
在一些实施例中,非应用部署数据包括权限数据,权限数据用于指示目标应用程序的授权情况。该授权情况可以包括目标应用程序的功能性授权情况、数据性授权情况等。示例性的,功能性授权情况可以包括目标应用程序是否能访问SD卡、是否能访问摄像头、是否能获取定位信息等。数据性授权情况指的可以是目标应用程序所需的登录账号等。In some embodiments, the non-application deployment data includes permission data, and the permission data is used to indicate the authorization status of the target application. The authorization status may include the functional authorization status and data authorization status of the target application. Exemplarily, the functional authorization status may include whether the target application can access the SD card, whether it can access the camera, whether it can obtain location information, etc. The data authorization status may refer to the login account required by the target application, etc.
进一步的,请参阅图2D,在图2D所示的服务流转装置中,运行态管理单元210可以包括数据迁移单元211和权限管理单元212,其中:Further, please refer to FIG. 2D . In the service transfer device shown in FIG. 2D , the running state management unit 210 may include a data migration unit 211 and a permission management unit 212 , wherein:
数据迁移单元211,用于传输目标应用程序在处于运行状态时的内存数据;The data migration unit 211 is used to transfer the memory data of the target application when it is in the running state;
权限管理单元212,用于传输目标应用程序在处于运行状态时的权限数据。The permission management unit 212 is used to transmit permission data of the target application when it is in the running state.
在一些实施例中,非应用部署数据还包括持久化状态数据,持久化状态数据是应用程序退出运行后,不会清除且用于指示运行状态的数据。进一步的,请参阅图2E,在图2E所示的服务流转装置中,运行态管理单元210还可以包括分布式管理单元213,其中:In some embodiments, the non-application deployment data also includes persistent state data, which is data that will not be cleared after the application exits and is used to indicate the running state. Further, referring to FIG. 2E , in the service flow device shown in FIG. 2E , the running state management unit 210 may also include a distributed management unit 213, wherein:
分布式管理单元213,用于传输目标应用程序在处于运行状态时的持久化状态数据。The distributed management unit 213 is used to transmit the persistent state data of the target application when it is in the running state.
在一些实施例中,非应用部署数据还包括应用协同数据,应用协同数据包括目标应用程序的程序标识和与目标应用程序存在协同关系的其他应用程序的程序标识。进一步的,请参阅图2F,在图2F所示的服务流转装置中,运行态管理单元210还可以包括流转决策单元214;其中:In some embodiments, the non-application deployment data also includes application collaboration data, and the application collaboration data includes the program identifier of the target application and the program identifiers of other applications that have a collaborative relationship with the target application. Further, referring to FIG. 2F , in the service flow device shown in FIG. 2F , the running state management unit 210 may also include a flow decision unit 214; wherein:
流转决策单元214,用于传输目标应用程序对应的应用协同数据。The flow decision unit 214 is used to transmit the application collaboration data corresponding to the target application program.
下面以图2F所示的服务流转装置在第一设备上运行为例,结合图2F所示的服务流转装置的结构,对第一设备执行的服务流转方法进行介绍。请参阅图3,图3是申请实施例公开的服务流转方法的一种流程图示。如图3所示的服务流转方法可以包括以下步骤:The following takes the service transfer device shown in FIG2F running on the first device as an example, and introduces the service transfer method performed by the first device in combination with the structure of the service transfer device shown in FIG2F. Please refer to FIG3, which is a flowchart of the service transfer method disclosed in the embodiment of the application. The service transfer method shown in FIG3 may include the following steps:
301、第一设备通过运行引擎模块在运行目标应用程序的过程中,将目标应用程序对应的内存数据写入内存空间,并将持久化状态数据写入分布式存储单元。301. The first device writes memory data corresponding to the target application into the memory space and writes persistent state data into the distributed storage unit during the process of running the target application by running the engine module.
302、第一设备通过数据迁移单元从内存空间中读取内存数据,并向第二设备发送该内存数据。302. The first device reads memory data from the memory space through a data migration unit, and sends the memory data to the second device.
在一些实施例中,第一设备通过数据迁移单元向第二设备发送该内存数据,可以包括:第一设备通过数据迁移单元生成针对内存数据的数据对象,并将该数据对象进行序列化,以及将序列化后的数据对象向第二设备发送。In some embodiments, the first device sends the memory data to the second device through the data migration unit, which may include: the first device generates a data object for the memory data through the data migration unit, serializes the data object, and sends the serialized data object to the second device.
在一些实施例中,第一设备通过数据迁移单元,对内部数据编码,并将编码后的内存数据向第二设备发送。In some embodiments, the first device encodes internal data through a data migration unit and sends the encoded memory data to the second device.
其中,需要说明的是,序列化后的数据对象及编码后的内存数据都是二进制字节流。It should be noted that the serialized data objects and the encoded memory data are both binary byte streams.
在一些实施例中,第一设备通过数据迁移单元向第二设备发送序列化后的数据对象或编码后的内存数据,可以包括:第一设备通过数据迁移单元,利用第一设备的近距离通信模块向第二设备发送序列化后的数据对象或编码后的内存数据。In some embodiments, the first device sends the serialized data object or encoded memory data to the second device through the data migration unit, which may include: the first device sends the serialized data object or encoded memory data to the second device through the data migration unit using the short-range communication module of the first device.
其中,近距离通信模块可以包括但不限于以下任一种:近场通信模块(Near Field Communication,NFC)、蓝牙模块及无载波通信通信模块(Ultra Wideband,UWB)等。 The short-range communication module may include but is not limited to any one of the following: a near field communication module (NFC), a Bluetooth module, and an ultra wideband (UWB) communication module.
可以理解的是,第一设备和第二设备可以通过各自的近距离通信模块建立近距离通信链路,第一设备通过该近距离通信链路向第二设备发送数据对象或编码后的内存数据。It is understandable that the first device and the second device can establish a short-range communication link through their respective short-range communication modules, and the first device sends the data object or the encoded memory data to the second device through the short-range communication link.
303、第一设备通过分布式管理单元从分布式存储单元中读取持久化状态数据,并将该持久化状态数据向第二设备发送。303. The first device reads the persistent state data from the distributed storage unit through the distributed management unit, and sends the persistent state data to the second device.
在一些实施例中,分布式存储单元可以包括分布式数据库和/或分布式文件。In some embodiments, the distributed storage unit may include a distributed database and/or a distributed file.
分布式存储单元包括分布式数据库和分布式文件,持久化状态数据可以数据库数据和/文件数据。第一设备通过分布式管理单元从分布式存储单元中读取持久化状态数据,可以包括:第一设备通过分布式管理单元从第一设备的分布式数据库中读取数据库数据,并从第一设备的分布式文件中读取文件数据。The distributed storage unit includes a distributed database and a distributed file, and the persistent state data may be database data and/or file data. The first device reads the persistent state data from the distributed storage unit through the distributed management unit, which may include: the first device reads the database data from the distributed database of the first device through the distributed management unit, and reads the file data from the distributed file of the first device.
进一步的,第一设备通过分布式管理单元,将持久化状态数据向云服务器发送,可以包括:第一设备通过分布式管理单元,向第二设备发送数据库数据和文件数据。Furthermore, the first device sends the persistent state data to the cloud server through the distributed management unit, which may include: the first device sends the database data and the file data to the second device through the distributed management unit.
在一些实施例中,第一设备通过分布式管理单元,向第二设备发送数据库数据可以包括:第一设备通过分布式管理单元,将数据库数据向云服务器发送,以使云服务器接收第二设备上报的用于获取数据库数据的第一数据请求,向第二设备下发该数据库数据。In some embodiments, the first device sending database data to the second device through the distributed management unit may include: the first device sending the database data to the cloud server through the distributed management unit, so that the cloud server receives the first data request reported by the second device for obtaining the database data, and sends the database data to the second device.
在一些实施例中,第一设备通过分布式管理单元,向第二设备发送可以文件数据可以包括:第一设备通过分布式管理单元,利用指定通信链路向第二设备发送文件数据;其中,指定通信链路是第一设备和第二设备根据各自分布式文件系统内置的通信协议建立的直连通信通道。In some embodiments, the first device sending file data to the second device through the distributed management unit may include: the first device sending the file data to the second device through the distributed management unit using a designated communication link; wherein the designated communication link is a direct communication channel established between the first device and the second device according to the communication protocols built into their respective distributed file systems.
304、第一设备通过权限管理单元从第一设备的安全存储空间中,获取目标应用程序在处于运行状态时的权限数据,并向第二设备发送该权限数据。304. The first device obtains permission data of the target application when it is in a running state from the secure storage space of the first device through the permission management unit, and sends the permission data to the second device.
在一些实施例中,第一设备通过权限管理单元向第二设备发送该权限数据,可以包括但不限于以下方式:In some embodiments, the first device sends the permission data to the second device through the permission management unit, which may include but is not limited to the following methods:
方式1、第一设备通过权限管理单元,对权限数据进行序列化,并将序列后的权限数据利用第一设备的近距离通信模块向第二设备发送;Mode 1: The first device serializes the permission data through the permission management unit, and sends the serialized permission data to the second device using the short-distance communication module of the first device;
方式2、第一设备通过权限管理单元,将权限数据发送到云服务器,以使云服务器存储该权限数据,并响应于第二设备发送的用于请求权限数据的第二数据请求时,向第二设备下发权限数据。Mode 2: The first device sends the permission data to the cloud server through the permission management unit, so that the cloud server stores the permission data and sends the permission data to the second device in response to the second data request for permission data sent by the second device.
方式3、第一设备通过权限管理单元向数据迁移单元发送权限数据,并通过数据迁移单元向第二设备发送权限数据。Mode 3: The first device sends the permission data to the data migration unit through the permission management unit, and sends the permission data to the second device through the data migration unit.
其中,关于数据迁移单元向第二设备发送权限数据的方式可以参见数据迁移单元向第二设备发送内存数据的方式,此处不再赘述。Among them, the manner in which the data migration unit sends the permission data to the second device can refer to the manner in which the data migration unit sends the memory data to the second device, which will not be described in detail here.
305、第一设备通过流转决策单元确定与目标应用程序存在协同关系的其他应用程序的程序标识,并根据目标应用程序的程序标识和其他应用程序的程序标识,得到目标应用程序对应的应用协同数据;以及向第二设备发送该应用协同数据。305. The first device determines the program identifiers of other applications that have a collaborative relationship with the target application through the flow decision unit, and obtains application collaborative data corresponding to the target application based on the program identifier of the target application and the program identifiers of the other applications; and sends the application collaborative data to the second device.
其中,程序标识用于唯一识别应用程序。程序标识可以包括但不限于以下至少一种:数字、字母及特殊字符。The program identifier is used to uniquely identify the application program. The program identifier may include, but is not limited to, at least one of the following: numbers, letters, and special characters.
在一些实施例中,与目标应用程序存在协同关系的其他应用程序指的可以是正在与目标应用程序进行协同工作的其他应该程序,在目标应用程序运行过程中已经与目标应用程序进行协同工作过的其他应该程序,或者,未来很大概率可能会与目标应用程序进行协同工作的其他应用程序。In some embodiments, other applications that have a collaborative relationship with the target application may refer to other applications that are currently working in collaboration with the target application, other applications that have worked in collaboration with the target application during the operation of the target application, or other applications that are likely to work in collaboration with the target application in the future.
在一些实施例中,第一设备通过流转决策单元向第二设备发送该应用协同数据的方式可以参照数据迁移单元发送内存数据的方式,此处不再赘述。In some embodiments, the way in which the first device sends the application collaboration data to the second device through the flow decision unit can refer to the way in which the data migration unit sends memory data, which will not be repeated here.
在一些实施例中,第一设备还可以通过静态管理单元响应于第二设备发送的应用数据 部署请求,向第二设备发送目标应用程序对应的应用部署数据。In some embodiments, the first device may also respond to the application data sent by the second device through the static management unit. A deployment request is sent to the second device, and application deployment data corresponding to the target application is sent.
其中,应用数据部署请求可以携带第二设备需要部署的应用程序的目标程序标识。第一设备通过静态管理单元响应于第二设备发送的应用数据部署请求,向第二设备发送目标应用程序对应的应用部署数据,可以包括:第一设备通过静态管理单元接收第二设备发送的应用数据部署请求,并从该数据部署请求中解析出目标程序标识,并将该目标程序标识对应的应用程序的安装包,作为目标应用程序对应的应用部署数据,以及向第二设备发送该应用部署数据。The application data deployment request may carry the target program identifier of the application program to be deployed by the second device. The first device responds to the application data deployment request sent by the second device through the static management unit, and sends the application deployment data corresponding to the target application program to the second device, which may include: the first device receives the application data deployment request sent by the second device through the static management unit, and parses the target program identifier from the data deployment request, and uses the installation package of the application program corresponding to the target program identifier as the application deployment data corresponding to the target application program, and sends the application deployment data to the second device.
在一些实施例中,第一设备通过静态管理单元向第二设备发送该应用部署数据,可以包括:第一设备通过静态管理单元,利用第一设备的近距离通信模块向第二设备发送应用部署数据。In some embodiments, the first device sending the application deployment data to the second device through the static management unit may include: the first device sending the application deployment data to the second device through the static management unit using the short-range communication module of the first device.
在一些实施例中,第一设备通过流转决策单元得到目标应用程序对应的应用协同数据之后,还可以通过流转决策单元将该应用协同数据向静态管理单元发送,并通过静态管理单元根据应用协同数据,对目标应用程序,及与目标应用程序存在协同关系的其他应用程序的安装包进行备份。In some embodiments, after the first device obtains the application collaboration data corresponding to the target application through the flow decision unit, it can also send the application collaboration data to the static management unit through the flow decision unit, and back up the target application and the installation packages of other applications that have a collaborative relationship with the target application based on the application collaboration data through the static management unit.
其中,第一设备分别通过各个单元(数据迁移单元、权限管理单元、分布式管理单元)发送的各类数据(包括内存数据、权限数据及持久化状态数据)可以是未经过合并的数据,也可以是经过合并的数据,本申请实施例不做限定。Among them, various types of data (including memory data, permission data and persistent status data) sent by the first device through various units (data migration unit, permission management unit, distributed management unit) can be unmerged data or merged data, which is not limited in the embodiments of the present application.
下面以第一设备通过数据迁移单元向第二设备发送内存数据为例进行说明,若该内存数据是未经过合并的,则第一设备通过数据迁移单元向第二设备发送的是指定时长写入内存空间的所有数据。若该内存数据是经过合并的,则第一设备通过数据迁移单元向第二设备发送的是,对指定时长写入内存空间的所有数据执行合并操作后的合并数据。其中,指定时长指的可以是内存数据的同步周期。The following is an example of a first device sending memory data to a second device through a data migration unit. If the memory data has not been merged, the first device sends to the second device through the data migration unit all the data written to the memory space for a specified time. If the memory data has been merged, the first device sends to the second device through the data migration unit the merged data after the merge operation is performed on all the data written to the memory space for a specified time. The specified time may refer to the synchronization period of the memory data.
在一些实施例中,数据迁移单元对指定时长写入内存空间的所有数据执行合并操作的方式可以是,数据迁移单元从指定时长写入内存空间的所有数据中,获取每一数据块标识对应的数据块,并按照指定合并算法,对每一数据块标识对应的数据块执行合并操作,以得到每一数据块标识对应的目标数据块,以及组合每一数据块标识对应的目标数据块,得到上述内存数据。In some embodiments, the data migration unit may perform a merge operation on all data written to the memory space within a specified time period. The data migration unit may obtain the data block corresponding to each data block identifier from all data written to the memory space within a specified time period, and perform a merge operation on the data block corresponding to each data block identifier according to a specified merge algorithm to obtain a target data block corresponding to each data block identifier, and combine the target data blocks corresponding to each data block identifier to obtain the above-mentioned memory data.
其中,数据块标识用于唯一识别一个数据块,数据块标识可以包括以下至少一种:数字、字母及特殊字符。The data block identifier is used to uniquely identify a data block, and the data block identifier may include at least one of the following: numbers, letters, and special characters.
在一些实施例中,指定合并算法可以是基于写入时间的数据覆盖算法,递归多路合并算法或用户预置的合并规则等,本申请实施例不做限定。In some embodiments, the specified merging algorithm may be a data overwriting algorithm based on write time, a recursive multi-way merging algorithm, or a user-preset merging rule, etc., which is not limited in the embodiments of the present application.
其中,基于写入时间的数据覆盖算法指的是用新的版本覆盖老的版本。递归多路合并算法指的是以最原始数据块为基准,分别与其他变化后的数据块作比较,得到每一变化后的数据块对应的变化数据,组合每一变化后的数据块对应的变化数据,得到合并后的数据块的内容。The data overwriting algorithm based on writing time refers to overwriting the old version with the new version. The recursive multi-way merging algorithm refers to taking the most original data block as the benchmark, comparing it with other changed data blocks, obtaining the change data corresponding to each changed data block, combining the change data corresponding to each changed data block, and obtaining the content of the merged data block.
下面结合示例,对基于写入时间的数据覆盖算法和递归多路合并算法进行说明:The following example illustrates the data overwriting algorithm based on write time and the recursive multi-way merging algorithm:
假设数据块最早的版本是a(如一段文字“老鼠是有害的”),该数据块基于a分别发生了两次修改,分别产生了两个不同的版本b(如“老鼠是有用的”)和c(“小白鼠是有害的”)。Assume that the earliest version of a data block is a (such as a text "Rats are harmful"), and the data block is modified twice based on a, resulting in two different versions b (such as "Rats are useful") and c ("Mice are harmful").
基于写入时间的数据覆盖算法:假设先产生了b,后产生了c,那么合并后的数据块的内容就是c的内容。Data overwriting algorithm based on write time: Assuming that b is generated first and c is generated later, the content of the merged data block is the content of c.
递归多路合并算法:以a为基准,用b和c分别与a作比较,b相对于a的变化部分是“是有用的”c相对于a的变化部分是“小白鼠”,组合b和c的变化部分得到合并后的数据块(“小白鼠是有用的”)。 Recursive multi-way merging algorithm: take a as the benchmark, use b and c to compare with a respectively, the changed part of b relative to a is "useful" and the changed part of c relative to a is "a little white mouse", combine the changed parts of b and c to get the merged data block ("the little white mouse is useful").
通过实施该方法,第一设备的各个单元在向第二设备发送对应数据时,若先执行合并操作,可以减少传输的数据量,有利于降低第一设备的设备功耗。By implementing this method, when each unit of the first device sends corresponding data to the second device, if the merging operation is performed first, the amount of transmitted data can be reduced, which is beneficial to reducing the device power consumption of the first device.
此外,需要说明的是,上述步骤301-步骤305中,具体的逻辑顺序需以步骤中具体内容为准,并不受图示顺序所限。In addition, it should be noted that in the above steps 301 to 305, the specific logical order shall be based on the specific contents of the steps and shall not be limited to the order shown in the diagram.
下面以图2F所示的服务流转装置在第二设备上运行为例,结合图2F所示的服务流转装置的结构及图3所示的服务流转方法,对第二设备执行的服务流转方法进行介绍。请参阅图4,图4是申请实施例公开的服务流转方法的又一种流程图示。如图4所示的服务流转方法可以包括以下步骤:The following takes the service transfer device shown in FIG2F running on the second device as an example, and combines the structure of the service transfer device shown in FIG2F and the service transfer method shown in FIG3 to introduce the service transfer method performed by the second device. Please refer to FIG4, which is another flow chart of the service transfer method disclosed in the embodiment of the application. The service transfer method shown in FIG4 may include the following steps:
401、第二设备通过数据迁移单元接收内存数据。401. A second device receives memory data through a data migration unit.
对应上述步骤302中的内容,第二设备通过数据迁移单元接收内存数据,并将内存数据向运行引擎模块发送可以包括但不限于以下方式:Corresponding to the content in the above step 302, the second device receives the memory data through the data migration unit, and sends the memory data to the execution engine module in the following ways, including but not limited to:
第二设备通过数据迁移单元,接收序列化后的数据对象,并对该序列化后的数据对象执行反序列化操作,得到数据对象,以及解析该数据对象,得到内存数据。The second device receives the serialized data object through the data migration unit, performs a deserialization operation on the serialized data object to obtain the data object, and parses the data object to obtain memory data.
第二设备通过数据迁移单元,接收编码后的内存数据,并对编码后的内存数据执行解码操作,以得到内存数据。The second device receives the encoded memory data through the data migration unit, and performs a decoding operation on the encoded memory data to obtain the memory data.
对应的,第二设备通过数据迁移单元接收序列化后的数据对象或编码后的内存数据,可以包括:第二设备通过数据迁移单元,利用第二设备的近距离通信模块接收序列化后的数据对象或编码后的内存数据。Correspondingly, the second device receives the serialized data object or the encoded memory data through the data migration unit, which may include: the second device receives the serialized data object or the encoded memory data through the data migration unit using the short-range communication module of the second device.
402、第二设备通过分布式管理单元,接收持久化状态数据。402. The second device receives persistent state data through a distributed management unit.
对应上述步骤303中的内容,第二设备通过分布式管理单元,接收持久化状态数据可以包括:Corresponding to the content in the above step 303, the second device receiving the persistent state data through the distributed management unit may include:
第二设备通过分布式管理单元,向云服务器发送用于获取数据库数据的第一数据请求,并接收云服务器通过响应于第一数据请求发送的数据库数据。The second device sends a first data request for acquiring database data to the cloud server through the distributed management unit, and receives the database data sent by the cloud server in response to the first data request.
第二设备通过分布式管理单元,接收第二设备通过指定通信链路发送的文件数据。The second device receives the file data sent by the second device through the designated communication link through the distributed management unit.
403、第二设备通过权限管理单元,接收权限数据。403. The second device receives permission data through the permission management unit.
对应上述步骤204,第二设备通过权限管理单元,接收权限数据,可以包括但不限于以下方式:Corresponding to the above step 204, the second device receives the permission data through the permission management unit, which may include but is not limited to the following methods:
方式1、第二设备通过权限管理单元接收序列后的权限数据,并对该序列后的权限数据进行反序列化操作,以得到权限数据。Mode 1: The second device receives serialized permission data through the permission management unit, and performs a deserialization operation on the serialized permission data to obtain the permission data.
方式2、第二设备通过权限管理单元向云服务器发送用于请求权限数据的第二数据请求,并接收云服务器通过响应于第二数据请求发送的权限数据。Mode 2: The second device sends a second data request for requesting permission data to the cloud server through the permission management unit, and receives the permission data sent by the cloud server in response to the second data request.
方式3、第二设备通过数据迁移单元接收第一设备发送的权限数据,并将该权限数据向权限管理单元发送。Mode 3: The second device receives the permission data sent by the first device through the data migration unit, and sends the permission data to the permission management unit.
404、第二设备通过流转决策单元接收应用协同数据,并向静态管理单元发送应用协同数据。404. The second device receives the application collaboration data through the flow decision unit, and sends the application collaboration data to the static management unit.
405、第二设备通过静态管理单元根据该应用协同数据生成部署数据获取请求,并向第一设备和/或第二设备的应用市场发送该部署数据获取请求,以及接收第一设备和/或第二设备的应用市场通过响应该部署数据获取请求发送的应用部署数据。405. The second device generates a deployment data acquisition request according to the application collaboration data through the static management unit, sends the deployment data acquisition request to the application market of the first device and/or the second device, and receives the application deployment data sent by the application market of the first device and/or the second device in response to the deployment data acquisition request.
在一些实施例中,第二设备还可以通过静态管理单元根据应用部署数据部署对应的应用程序。In some embodiments, the second device may also deploy a corresponding application program according to the application deployment data through a static management unit.
在一些实施例中,第二设备通过静态管理单元根据该应用协同数据生成部署数据获取请求,并向第一设备和/或第二设备的应用市场发送该部署数据获取请求,以及接收第一设备和/或第二设备的应用市场响应于该部署数据获取请求发送的应用部署数据可以包括:第 二设备通过静态管理单元判断应用协同数据指示的应用程序是否均已部署在第二设备上,若存在未部署的第一应用程序,则根据第一应用程序的程序标识生成部署数据获取请求,并将该部署数据获取请求向第一设备或第二设备的应用市场发送,以及接收第一设备或第二设备的应用市场发送的应用部署数据。In some embodiments, the second device generates a deployment data acquisition request according to the application collaboration data through the static management unit, and sends the deployment data acquisition request to the application market of the first device and/or the second device, and receives the application deployment data sent by the application market of the first device and/or the second device in response to the deployment data acquisition request, which may include: The second device determines through the static management unit whether the applications indicated by the application collaboration data have all been deployed on the second device. If there is an undeployed first application, a deployment data acquisition request is generated according to the program identifier of the first application, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
在一些实施例中,若存在未部署的第一应用程序,第二设备还可以通过静态管理单元识别第一应用程序是否均可在第二设备上运行,若都可以,则根据第一应用程序的程序标识生成部署数据获取请求,并向第一设备或第二设备的应用市场发送该部署数据获取请求,以及接收第一设备或第二设备的应用市场发送的应用部署数据。In some embodiments, if there is an undeployed first application, the second device can also identify through the static management unit whether the first application can be run on the second device. If so, a deployment data acquisition request is generated according to the program identifier of the first application, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
进一步的,若存在不能在第二设备上运行的第一应用程序,则第二设备通过静态管理单元判断第二设备上是否已部署不能在第二设备上运行的第一应用程序的可替代应用程序,若已部署可替代应用程序,则根据可以在第二设备上运行的第一应用程序的程序标识生成部署数据获取请求,并向第一设备或第二设备的应用市场发送该部署数据获取请求,以及接收第一设备或第二设备的应用市场发送的应用部署数据。Furthermore, if there is a first application that cannot run on the second device, the second device determines through the static management unit whether an alternative application for the first application that cannot run on the second device has been deployed on the second device; if the alternative application has been deployed, a deployment data acquisition request is generated based on the program identifier of the first application that can run on the second device, and the deployment data acquisition request is sent to the application market of the first device or the second device, and the application deployment data sent by the application market of the first device or the second device is received.
若未部署可替代应用程序,则第二设备可以通过静态管理单元根据可替代应用程序的程序标识及可在第二设备上运行的第一应用程序的程序标识,生成部署数据获取请求,并将该部署数据获取请求向第二设备的应用市场发送,以及接收第二设备的应用市场发送的应用部署数据。If the alternative application is not deployed, the second device can generate a deployment data acquisition request through a static management unit based on the program identifier of the alternative application and the program identifier of the first application that can run on the second device, and send the deployment data acquisition request to the application market of the second device, and receive the application deployment data sent by the application market of the second device.
或者,or,
若未部署可替代应用程序,则第二设备可以通过静态管理单元根据可替代应用程序的程序标识生成第一部署数据获取请求,并向第二设备的应用市场发送第一部署数据获取请求,以及接收第二设备的应用市场通过响应第一部署数据获取请求发送的第一应用部署数据;以及根据可在第二设备上运行的第一应用程序的程序标识,生成第二部署数据获取请求,并将该第二部署数据获取请求向第一设备发送,以及接收第一设备通过响应第二部署数据获取请求发送的第二应用部署数据。If the alternative application is not deployed, the second device can generate a first deployment data acquisition request based on the program identifier of the alternative application through the static management unit, send the first deployment data acquisition request to the application market of the second device, and receive the first application deployment data sent by the application market of the second device in response to the first deployment data acquisition request; and generate a second deployment data acquisition request based on the program identifier of the first application that can be run on the second device, send the second deployment data acquisition request to the first device, and receive the second application deployment data sent by the first device in response to the second deployment data acquisition request.
在一些实施例中,第二设备通过静态管理单元,利用第二设备的近距离通信模块接收第一设备发送的应用部署数据。In some embodiments, the second device receives the application deployment data sent by the first device through the static management unit using the short-range communication module of the second device.
通过实施上述方法,第二设备可以通过静态管理单元,利用第二设备的近距离通信模块接收第一设备通过响应第二部署数据获取请求发送的第二应用部署数据,可以有效降低第二设备占用网络资源的情况。By implementing the above method, the second device can use the short-range communication module of the second device through the static management unit to receive the second application deployment data sent by the first device in response to the second deployment data acquisition request, which can effectively reduce the situation where the second device occupies network resources.
在一些实施例中,在第二设备上的各个单元(数据迁移单元、权限管理单元及分布式管理单元)接收对应数据均是周期性的,各个单元在接收到对应数据后,均可周期性执行合并操作,这样在运行引擎模块从各个单元获取对应数据时,获取到的都是合并后的对应数据。通过实施该方法,可以有效降低第二设备的数据存储压力。In some embodiments, each unit (data migration unit, permission management unit and distributed management unit) on the second device receives corresponding data periodically, and each unit can periodically perform a merge operation after receiving the corresponding data, so that when the running engine module obtains corresponding data from each unit, the corresponding data obtained are merged. By implementing this method, the data storage pressure of the second device can be effectively reduced.
406、在完成对应应用程序的部署,且完成对内存数据、权限数据及持久化状态数据的接收时,第二设备通过运行引擎模块启动目标应用程序,并从数据迁移单元、权限管理单元及分布式管理单元中分别获取内存数据、权限数据及持久化状态数据,以及根据内存数据、权限数据及持久化状态数据运行该目标应用程序。406. When the deployment of the corresponding application is completed and the memory data, permission data and persistent status data are received, the second device starts the target application by running the engine module, and obtains the memory data, permission data and persistent status data from the data migration unit, the permission management unit and the distributed management unit respectively, and runs the target application according to the memory data, permission data and persistent status data.
其中,运行引擎模块在启动目标应用程序后,可以向数据迁移单元、权限管理单元及分布式管理单元分别发送数据请求,以从数据迁移单元、权限管理单元及分布式管理单元中分别获取内存数据、权限数据及持久化状态数据。Among them, after starting the target application, the running engine module can send data requests to the data migration unit, the permission management unit and the distributed management unit respectively to obtain memory data, permission data and persistent status data from the data migration unit, the permission management unit and the distributed management unit respectively.
在一些实施例中,若第二设备上的各个单元(数据迁移单元、权限管理单元及分布式管理单元)未对对应数据执行周期性的合并操作,则各个单元在收到运行引擎模块发送的数据请求时,均可响应于该数据请求,对各个单元接收到的对应数据执行合并操作,并将 合并后的对应数据向运行引擎模块发送,运行引擎模块可以根据合并后的内存数据、权限数据及持久化状态数据运行目标应用程序。In some embodiments, if each unit (data migration unit, permission management unit and distributed management unit) on the second device does not perform a periodic merge operation on the corresponding data, then each unit, when receiving a data request sent by the runtime engine module, can respond to the data request, perform a merge operation on the corresponding data received by each unit, and The merged corresponding data is sent to the runtime engine module, and the runtime engine module can run the target application according to the merged memory data, permission data and persistent state data.
需要说明的是,关于执行合并操作的具体内容,可以参照上述针对合并操作的描述,此处不再赘述。It should be noted that, for the specific content of executing the merge operation, please refer to the above description of the merge operation, which will not be repeated here.
此外,需要说明的是,上述步骤401-步骤406中,具体的逻辑顺序需以步骤中具体内容为准,并不受图示顺序所限。In addition, it should be noted that in the above steps 401 to 406, the specific logical order shall be based on the specific contents of the steps and shall not be limited to the order shown in the diagram.
请参阅图5,图5是本申请实施例公开的服务流转装置的又一种结构示意图。如图5所示,服务流转装置500包括:处理器501和存储器502,通信接口503以及总线504。其中,存储器502用于存储指令,该处理器501用于执行该存储器502存储的指令。处理器501、存储器502和通信接口503通过总线504实现彼此之间的通信连接。Please refer to FIG5, which is another structural diagram of the service flow device disclosed in the embodiment of the present application. As shown in FIG5, the service flow device 500 includes: a processor 501 and a memory 502, a communication interface 503 and a bus 504. Among them, the memory 502 is used to store instructions, and the processor 501 is used to execute the instructions stored in the memory 502. The processor 501, the memory 502 and the communication interface 503 are connected to each other through the bus 504.
处理器501用于:运行目标应用程序;以及,用于传输目标应用程序在处于运行状态时的内存数据和除内存数据之外的其他运行数据。应理解,服务流转装置500可以具体为图2A、图2B或图2C所示的服务流转装置,以执行上述图3-图4中的任一实施例中的方法。The processor 501 is used to: run the target application; and to transmit the memory data of the target application when it is in the running state and other running data other than the memory data. It should be understood that the service flow device 500 can be specifically the service flow device shown in Figure 2A, Figure 2B or Figure 2C to execute the method in any of the embodiments in Figures 3-4 above.
可选地,该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。该处理器501可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器501可以执行上述方法实施例中与服务流转装置对应的各个步骤和/或流程。Optionally, the memory 502 may include a read-only memory and a random access memory, and provide instructions and data to the processor 501. A portion of the memory 502 may also include a non-volatile random access memory. For example, the memory 502 may also store information about the device type. The processor 501 may be used to execute the instructions stored in the memory, and when the processor executes the instructions, the processor 501 may execute the various steps and/or processes corresponding to the service flow device in the above method embodiment.
应理解,在本申请实施例中,该处理器可以是中央处理单元,该处理器还可以是其他通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that in the embodiments of the present application, the processor may be a central processing unit, or other general-purpose processors, digital signal processors, application-specific integrated circuits, field programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
本申请实施例还进一步提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述任一实施例中的任一方法。The embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed on an electronic device, the electronic device executes any method in any of the above embodiments.
上述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(read only memory,ROM)、可擦式可编程只读存储器(erasable programmable read only memory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。The above-mentioned computer-readable storage medium may adopt any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM) or flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or device.
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radio frequency,RF)等等,或者上述的任意合适的组合。 The program code embodied on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(local area network,LAN)或广域网(wide area network,WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operations of this specification may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中的部分或全部步骤。The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute part or all of the steps in the above method embodiment.
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。Through the description of the above implementation methods, technical personnel in the relevant field can understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。 The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (21)

  1. 一种服务流转装置,其特征在于,所述服务流转装置包括运行引擎模块和服务流转模块,其中:A service flow device, characterized in that the service flow device comprises a running engine module and a service flow module, wherein:
    所述运行引擎模块,用于运行目标应用程序;The runtime engine module is used to run the target application;
    所述服务流转模块,用于传输所述目标应用程序在处于运行状态时的内存数据和除所述内存数据之外的其他运行数据。The service flow module is used to transmit the memory data of the target application when it is in a running state and other running data except the memory data.
  2. 根据权利要求1所述的服务流转装置,其特征在于,所述其他运行数据包括应用部署数据和非应用部署数据,所述应用部署数据包括所述目标应用程序的安装包和/或与所述目标应用程序存在协同关系的其他应用程序的安装包;所述服务流转模块包括运行态管理单元和静态管理单元,其中:The service flow device according to claim 1 is characterized in that the other operation data includes application deployment data and non-application deployment data, the application deployment data includes the installation package of the target application and/or the installation packages of other applications that have a collaborative relationship with the target application; the service flow module includes a running state management unit and a static management unit, wherein:
    所述运行态管理单元,用于传输所述目标应用程序在处于运行状态时的内存数据和所述非应用部署数据;The running state management unit is used to transmit the memory data of the target application when it is in the running state and the non-application deployment data;
    所述静态管理单元,用于传输所述目标应用程序对应的所述应用部署数据。The static management unit is used to transmit the application deployment data corresponding to the target application.
  3. 根据权利要求2所述的服务流转装置,其特征在于,所述非应用部署数据包括权限数据,所述权限数据用于指示所述目标应用程序的授权情况;所述运行态管理单元包括数据迁移单元和权限管理单元,其中:The service flow device according to claim 2 is characterized in that the non-application deployment data includes permission data, and the permission data is used to indicate the authorization status of the target application; the running state management unit includes a data migration unit and a permission management unit, wherein:
    所述数据迁移单元,用于传输所述目标应用程序在处于运行状态时的所述内存数据;The data migration unit is used to transfer the memory data of the target application when it is in a running state;
    所述权限管理单元,用于传输所述目标应用程序在处于运行状态时的所述权限数据。The permission management unit is used to transmit the permission data of the target application when it is in a running state.
  4. 根据权利要求3所述的服务流转装置,其特征在于,所述运行引擎模块具体用于:The service flow device according to claim 3, characterized in that the running engine module is specifically used for:
    在运行目标应用程序的过程中,将所述目标应用程序对应的内存数据写入内存空间;During the running of the target application, writing the memory data corresponding to the target application into the memory space;
    所述数据迁移单元具体用于:The data migration unit is specifically used for:
    从所述内存空间中读取所述内存数据,并发送所述内存数据。The memory data is read from the memory space, and the memory data is sent.
  5. 根据权利要求3或4所述的服务流转装置,其特征在于,所述数据迁移单元具体用于:The service flow device according to claim 3 or 4, characterized in that the data migration unit is specifically used to:
    生成所述目标应用程序在处于运行状态时的内存数据的数据对象;Generate a data object of memory data of the target application when it is in a running state;
    对所述数据对象进行序列化;Serializing the data object;
    发送序列化后的数据对象。Send the serialized data object.
  6. 根据权利要求3所述的服务流转装置,其特征在于,所述权限管理单元具体用于:The service flow device according to claim 3 is characterized in that the permission management unit is specifically used to:
    从安全存储空间中,读取所述目标应用程序在处于运行状态时的所述权限数据,并发送所述权限数据。The permission data of the target application when it is in a running state is read from the secure storage space, and the permission data is sent.
  7. 根据权利要求3所述的服务流转装置,其特征在于,所述非应用部署数据还包括持久化状态数据,所述持久化状态数据是所述应用程序退出运行后,不会清除且用于指示运行状态的数据;所述运行态管理单元还包括分布式管理单元,其中:The service flow device according to claim 3 is characterized in that the non-application deployment data also includes persistent state data, and the persistent state data is data that will not be cleared after the application program exits operation and is used to indicate the operation state; the operation state management unit also includes a distributed management unit, wherein:
    所述分布式管理单元,用于传输所述目标应用程序在处于运行状态时的所述持久化状态数据。The distributed management unit is used to transmit the persistent state data of the target application when it is in a running state.
  8. 根据权利要求7所述的服务流转装置,其特征在于,所述运行引擎模块具体用于:The service flow device according to claim 7, characterized in that the running engine module is specifically used for:
    在运行目标应用程序的过程中,将所述持久化状态数据写入分布式存储单元;During the running of the target application, writing the persistent state data into a distributed storage unit;
    所述分布式管理单元具体用于:The distributed management unit is specifically used for:
    从所述分布式存储单元中,读取所述持久化状态数据,并发送所述持久化状态数据。The persistent state data is read from the distributed storage unit, and the persistent state data is sent.
  9. 根据权利要求8所述的服务流转装置,其特征在于,所述持久化状态数据包括数据库数据和文件数据,所述分布式存储单元包括分布式数据库和分布式文件;所述分布式管理单元具体用于:The service flow device according to claim 8 is characterized in that the persistent state data includes database data and file data, the distributed storage unit includes a distributed database and a distributed file; and the distributed management unit is specifically used to:
    从所述分布式数据库中读取数据库数据; Reading database data from the distributed database;
    从所述分布式文件中读取文件数据。File data is read from the distributed file.
  10. 根据权利要求3所述的服务流转装置,其特征在于,所述非应用部署数据还包括应用协同数据,所述应用协同数据包括所述目标应用程序的程序标识和与所述目标应用程序存在协同关系的其他应用程序的程序标识;所述运行态管理单元还包括流转决策单元;其中:The service flow device according to claim 3 is characterized in that the non-application deployment data also includes application collaboration data, the application collaboration data includes the program identifier of the target application and the program identifiers of other applications that have a collaborative relationship with the target application; the running state management unit also includes a flow decision unit; wherein:
    所述流转决策单元,用于传输所述目标应用程序对应的所述应用协同数据。The flow decision unit is used to transmit the application collaboration data corresponding to the target application.
  11. 根据权利要求10所述的服务流转装置,其特征在于,所述流转决策单元具体用于:The service flow device according to claim 10, characterized in that the flow decision unit is specifically used to:
    确定与所述目标应用程序存在协同关系的其他应用程序的程序标识;Determining program identifiers of other applications that have a collaborative relationship with the target application;
    根据所述目标应用程序的程序标识和所述其他应用程序的程序标识,得到所述目标应用程序对应的应用协同数据;Obtaining application collaboration data corresponding to the target application according to the program identifier of the target application and the program identifiers of the other applications;
    发送所述应用协同数据。The application collaboration data is sent.
  12. 根据权利要求11所述的服务流转装置,其特征在于,所述静态管理单元具体用于:The service flow device according to claim 11, characterized in that the static management unit is specifically used to:
    响应于部署数据获取请求,发送所述目标应用程序对应的所述应用部署数据。In response to the deployment data acquisition request, the application deployment data corresponding to the target application is sent.
  13. 根据权利要求10所述的服务流转装置,其特征在于,所述流转决策单元具体用于:The service flow device according to claim 10, characterized in that the flow decision unit is specifically used to:
    接收所述目标应用程序在处于运行状态时的所述应用协同数据;Receiving the application collaboration data when the target application is in a running state;
    向所述静态管理单元发送所述应用协同数据;Sending the application collaboration data to the static management unit;
    所述静态管理单元具体用于:The static management unit is specifically used for:
    根据所述应用协同数据生成部署数据获取请求,以及发送所述部署数据获取请求,以得到所述应用部署数据。A deployment data acquisition request is generated according to the application collaboration data, and the deployment data acquisition request is sent to obtain the application deployment data.
  14. 根据权利要求1-13任一项所述的服务流转装置,其特征在于,所述内存数据包括临时状态数据和行为数据,所述临时状态数据是所述应用程序退出运行后,会消失且用于指示运行状态的数据;所述行为数据用于指示所述目标应有程序正在进行的活动。The service flow device according to any one of claims 1-13 is characterized in that the memory data includes temporary status data and behavior data, the temporary status data is data that disappears after the application program exits and is used to indicate the running status; the behavior data is used to indicate the ongoing activities of the target application.
  15. 一种服务流转方法,其特征在于,所述方法适用于第一设备,包括:A service transfer method, characterized in that the method is applicable to a first device and includes:
    获取目标应用程序处于运行状态时的内存数据和其他运行数据;Obtain memory data and other running data when the target application is in running state;
    向第二设备发送所述内存数据和其他运行数据,以使所述第二设备根据所述内存数据和其他运行数据运行所述目标应用程序。The memory data and other running data are sent to the second device, so that the second device runs the target application according to the memory data and other running data.
  16. 根据权利要求15所述的方法,其特征在于,所述其他运行数据包括持久化状态数据、权限数据及应用部署数据。The method according to claim 15 is characterized in that the other operating data includes persistent state data, permission data and application deployment data.
  17. 根据权利要求16所述的方法,其特征在于,向第二设备发送应用部署数据,包括:The method according to claim 16, wherein sending the application deployment data to the second device comprises:
    响应于第二设备发送的部署数据获取请求,向所述第二设备发送应用部署数据。In response to the deployment data acquisition request sent by the second device, application deployment data is sent to the second device.
  18. 根据权利要求17所述的方法,其特征在于,所述方法还包括:The method according to claim 17, characterized in that the method further comprises:
    确定与所述目标应用程序存在协同关系的其他应用程序的程序标识;Determining program identifiers of other applications that have a collaborative relationship with the target application;
    根据所述目标应用程序的程序标识和所述其他应用程序的程序标识,得到所述目标应用程序对应的应用协同数据;Obtaining application collaboration data corresponding to the target application according to the program identifier of the target application and the program identifiers of the other applications;
    向所述第二设备发送所述应用协同数据,以使所述第二设备根据所述应用协同数据生成部署数据获取请求,并向所述第一设备发送所述部署数据获取请求。The application collaboration data is sent to the second device, so that the second device generates a deployment data acquisition request according to the application collaboration data, and sends the deployment data acquisition request to the first device.
  19. 一种服务流转装置,其特征在于,包括处理器,其中:A service flow device, characterized in that it includes a processor, wherein:
    所述处理器,用于运行目标应用程序;以及,用于传输所述目标应用程序在处于运行状态时的内存数据和除所述内存数据之外的其他运行数据。The processor is used to run the target application; and is used to transmit the memory data of the target application when it is in the running state and other running data except the memory data.
  20. 一种计算机可读存储介质,其上存储有可执行程序代码,其特征在于,所述可执行程序代码被处理器执行时,实现如权利要求13~16中任一所述的方法。A computer-readable storage medium having executable program code stored thereon, characterized in that when the executable program code is executed by a processor, the method according to any one of claims 13 to 16 is implemented.
  21. 一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求13~16中任一 项所述的方法。 A computer program product, comprising a computer program code, wherein when the computer program code is run on a computer, the computer implements any one of claims 13 to 16 The method described in item.
PCT/CN2023/125948 2022-10-31 2023-10-23 Service hopping method and device, and storage medium WO2024093700A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211365990.X 2022-10-31
CN202211365990.XA CN117956062A (en) 2022-10-31 2022-10-31 Service circulation method, device and storage medium

Publications (1)

Publication Number Publication Date
WO2024093700A1 true WO2024093700A1 (en) 2024-05-10

Family

ID=90798714

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/125948 WO2024093700A1 (en) 2022-10-31 2023-10-23 Service hopping method and device, and storage medium

Country Status (2)

Country Link
CN (1) CN117956062A (en)
WO (1) WO2024093700A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984579A (en) * 2014-05-30 2014-08-13 满金标 Method for multiple equipment rooms to share current application program real-time running state
CN105630587A (en) * 2014-10-31 2016-06-01 腾讯科技(深圳)有限公司 Method, device and system for migrating application program data between terminals
CN106293821A (en) * 2016-08-03 2017-01-04 北京奇虎科技有限公司 Obtain and transmission application data, the method and device of operation application program
CN108513008A (en) * 2018-03-28 2018-09-07 努比亚技术有限公司 control right transfer method, mobile terminal and computer readable storage medium
CN113923230A (en) * 2020-06-22 2022-01-11 华为技术有限公司 Data synchronization method, electronic device, and computer-readable storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984579A (en) * 2014-05-30 2014-08-13 满金标 Method for multiple equipment rooms to share current application program real-time running state
CN105630587A (en) * 2014-10-31 2016-06-01 腾讯科技(深圳)有限公司 Method, device and system for migrating application program data between terminals
CN106293821A (en) * 2016-08-03 2017-01-04 北京奇虎科技有限公司 Obtain and transmission application data, the method and device of operation application program
CN108513008A (en) * 2018-03-28 2018-09-07 努比亚技术有限公司 control right transfer method, mobile terminal and computer readable storage medium
CN113923230A (en) * 2020-06-22 2022-01-11 华为技术有限公司 Data synchronization method, electronic device, and computer-readable storage medium

Also Published As

Publication number Publication date
CN117956062A (en) 2024-04-30

Similar Documents

Publication Publication Date Title
US20220342850A1 (en) Data transmission method and related device
CN107003818B (en) Method for sharing screen between devices and device using the same
KR102064952B1 (en) Electronic device for operating application using received data
US10817255B2 (en) Scene sound effect control method, and electronic device
US20060227121A1 (en) Systems and methods for providing a dual mode input device in a computing system
CN115454286B (en) Application data processing method and device and terminal equipment
WO2018157812A1 (en) Method and apparatus for implementing video branch selection and playback
KR20150047451A (en) Method, apparatus and terminal device for displaying messages
WO2019205706A1 (en) Application component processing method, device, and computer readable storage medium
WO2016070305A1 (en) Screen sharing method, sharing device and receiving device
KR20150051816A (en) Method for operating message application and electronic device implementing the same
WO2020192299A1 (en) Information display method and terminal device
JP6284931B2 (en) Multiple video playback method and apparatus
US20230342104A1 (en) Data Transmission Method and Device
KR102118415B1 (en) Method and apparatus for executing application
WO2023030099A1 (en) Cross-device interaction method and apparatus, and screen projection system and terminal
KR20150066876A (en) Method for controlling an user interface and an electronic device
CN111713176B (en) Data transmission method and terminal
JP2022506052A (en) Model file management method and terminal device
CN108780400B (en) Data processing method and electronic equipment
WO2019072213A1 (en) Wireless access point information processing method, device and computer readable storage medium
WO2019047129A1 (en) Method for moving application icons, and terminal
KR101876394B1 (en) Method and device for playing media data on a terminal
KR102203131B1 (en) Method for management file and electronic device thereof
KR102140294B1 (en) Advertising method of electronic apparatus and electronic apparatus thereof