CN106933678B - Multi-device application support framework and implementation method thereof - Google Patents
Multi-device application support framework and implementation method thereof Download PDFInfo
- Publication number
- CN106933678B CN106933678B CN201511025003.1A CN201511025003A CN106933678B CN 106933678 B CN106933678 B CN 106933678B CN 201511025003 A CN201511025003 A CN 201511025003A CN 106933678 B CN106933678 B CN 106933678B
- Authority
- CN
- China
- Prior art keywords
- components
- interface
- devices
- application
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
The invention provides a multi-device application support framework, comprising: the device communication module is used for remote interaction among different device components and data exchange among the different device components, and provides an external interface and bottom layer support for device discovery and communication; the device management module is used for managing the accessed devices, providing an interface for acquiring the device use rights, monitoring the state of each device and providing a device state change notice; and the application development suite module is used for providing components capable of adapting to the screen splitting requirement and providing a component manager for controlling the behaviors of the components. The invention can completely liberate developers from the trivial matters of bottom layer communication, component distribution and the like, only needs to care about the details of the application, and develops the multi-device application with higher quality at higher speed. The invention can improve the application interactive experience of the user and fully utilize the personal equipment of the user.
Description
Technical Field
The invention relates to the technical field of communication, in particular to a multi-device application support framework and an implementation method thereof.
Background
With the great emergence of intelligent hardware and the continuous development of internet technology, the interaction between users and applications and the interaction between users and the internet are not limited to be single in a traditional desktop computer, a smart phone, a tablet personal computer, a smart television and the like, so that different interaction experiences are brought to the users.
The current application is that a certain device is used as an operation platform, and the operation mode has two problems: the problem that a certain type of application is not suitable for running on the same type of platform; users have more than one type of intelligent device, and the application itself cannot fully utilize the resources of the devices. The multi-device application solves the problem that the multi-device application can be split to run on a plurality of devices, but brings user experience, and is still a complete application. To enable rapid development of such multi-device applications, a multi-device application support framework is required to solve the above-mentioned problems.
Disclosure of Invention
In view of the above drawbacks of the prior art, an object of the present invention is to provide a multi-device application support framework and an implementation method thereof, for solving the problems in the prior art that an application using a certain device as an operating platform is not suitable for operating on the same type of platform or the application itself cannot fully utilize an intelligent device.
To achieve the above and other related objects, the present invention provides a multi-device application support framework, comprising: the device communication module is used for remote interaction among different device components and data exchange among the different device components, and provides an external interface and bottom layer support for device discovery and communication; the device management module is used for managing the accessed devices, providing an interface for acquiring the device use rights, monitoring the state of each device and providing a device state change notice; and the application development suite module is used for providing components capable of adapting to the screen splitting requirement and providing a component manager for controlling the behaviors of the components.
In an embodiment of the present invention, the device communication module includes: the proxy-stub unit comprises a stub subunit defined with the external interface, a proxy subunit and a proxy engine corresponding to the stub subunit, the proxy stub and the proxy engine are used for calling an internally defined transmission interface and completing data exchange between the internal network processing unit and the external network processing unit through the isolation exchange unit, and an information exchange channel between the internal network client and the external network server is established; the RPC communication daemon unit is used for realizing peer-to-peer communication in the equipment and communication among different equipment; and the data exchange daemon unit is used for realizing point-to-point data exchange among different devices.
In an embodiment of the present invention, the application development suite module hides details of interaction with the device management module and provides an event interface to a user.
In an embodiment of the invention, the component manager manages the allocation of the adapted components and devices and distributes the components to the respective devices.
In one embodiment of the present invention, the components include basic component assemblies, custom component assemblies, and custom component and basic component assemblies.
A method for realizing a multi-device application support framework comprises the following steps: s1: providing a component capable of meeting the screen splitting requirement through the application development kit module; s2: after new equipment is found, the component manager generates a component distribution scheme by acquiring equipment characteristics and comparing the characteristics of the components with the characteristics of the equipment, then informs a user, and finally determines whether to distribute the components to specific equipment by the user; and then the component is split to run on a plurality of devices through the device management module and the device communication module.
In an embodiment of the present invention, the step S2 includes the following steps: s21: the remote interaction among different equipment components and the data exchange among the components among different equipment are realized through the equipment communication module, when the framework operates, a self-defined external interface is released in a specific network, and remote interfaces provided by other components can be conveniently accessed through the external interface; s22: and the device management module acquires the interface of the device usage right, monitors the state of each device and notifies the change of the device state.
In an embodiment of the present invention, the step S21 includes the following steps: s211, proxy-stub process: the method comprises the steps that an external interface is defined in a stub subunit, a corresponding agent subunit is defined at the same time, after a process is started, an interface of the stub is issued to an IPC component of a current running platform, other processes acquire an agent module of a target process or acquire an interface of the target process, and IPC is achieved through interface calling; s212, RPC communication daemon: the peer-to-peer communication between the devices is realized through an RPC communication daemon, and a process needing cross-device communication needs to call a corresponding interface through an agent subunit of the RPC communication daemon; s213, data exchange daemon: the client process establishes and obtains a data stream object through the interface, and operates the interface to realize data exchange among the devices and realize point-to-point data exchange among the devices.
In an embodiment of the present invention, the step S22 specifically includes the following steps: s221, the equipment management module collects the equipment information of the equipment in which the equipment is positioned when starting and generates description information; s222, when the equipment joins the equipment cluster, multicasting the equipment information of the equipment to inform all reachable equipment, synchronizing a shared information list, and sending out a corresponding event notice; when the device leaves the cluster, the multicast notification can reach the device, synchronously modifies the shared information list, and sends out a corresponding event notification; during the online period of the equipment, the heartbeat packet is multicast periodically to inform other equipment that the equipment is still online; when the heartbeat is overtime, the condition shows that the equipment is not reachable currently, and the equipment is off-line abnormally, and needs to send a corresponding event to notify an application process; s223, when the application process applies for using a certain device, a data stream channel is established, and a corresponding data stream object is returned.
As described above, the multi-device application support framework and the implementation method thereof of the present invention have the following beneficial effects:
according to the invention, the device communication module hides the implementation details of the bottom layer communication, exposes a simple communication interface to the outside, and realizes cross-device and cross-platform communication; through establishing a communication link between devices, managing information of interconnected devices and a quick application development kit, developers can conveniently and quickly realize multi-device application only by paying attention to application logic per se, abundant device resources of users are fully utilized, and optimal application experience is obtained.
Furthermore, the invention enables the developer to only process necessary event processes through the component manager, and the component manager can automatically call the developer to write the event processing process to determine the application behavior.
Furthermore, the application basic components conform to CMD specifications, each component is an independent module, the components adopt object-oriented design, all the components inherit basic classes such as input and output, the behaviors of the components are limited, and the component manager can realize scheduling management on the components according to the types of the components.
Furthermore, the invention can completely liberate developers from the trivial matters of bottom layer communication, component distribution and the like, only needs to care about the details of the application, and develops the multi-device application with higher quality at a higher speed. The method can improve the application interaction experience of the user and fully utilize the personal equipment of the user.
Drawings
Fig. 1 is a schematic diagram illustrating a multi-device application support framework and an implementation method thereof according to an embodiment of the invention.
Fig. 2 is a flowchart illustrating a method for implementing a multi-device application support framework according to an embodiment of the present invention.
Fig. 3 is a schematic diagram illustrating an implementation process of a device communication module in an embodiment of a multi-device application support framework and an implementation method thereof according to the present invention.
Fig. 4 is a schematic diagram illustrating a device management implementation process in an embodiment of the multi-device application support framework and the implementation method thereof according to the present invention.
Fig. 5 is a schematic diagram illustrating an implementation process of an application development suite in an embodiment of a multi-device application support framework and an implementation method thereof according to the present invention.
Description of the element reference numerals
1 Multi-device application support framework
11 device communication module
12 device management module
13 application development kit module
S1-S2
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention. It is to be noted that the features in the following embodiments and examples may be combined with each other without conflict.
It should be noted that the drawings provided in the following embodiments are only for illustrating the basic idea of the present invention, and the components related to the present invention are only shown in the drawings rather than drawn according to the number, shape and size of the components in actual implementation, and the type, quantity and proportion of the components in actual implementation may be changed freely, and the layout of the components may be more complicated.
The invention provides a multi-device application support framework, which is an application platform for interaction experience among different intelligent devices such as a user smart phone, a tablet personal computer and a smart television, can improve the application interaction experience of the user, and fully utilizes personal devices of the user.
Referring to fig. 1, a schematic diagram of a multi-device application support framework according to the present invention is shown, where as shown in the figure, the multi-device application support framework 1 includes: a device communication module 11, a device management module 12 and an application development kit module 13,
the device communication module 11 is used for remote interaction among different device components and data exchange among different device components, providing an external interface and a bottom layer support for device discovery and communication, only exposing the external interface to a user, and hiding the details of the bottom layer support for device discovery and communication; in an embodiment, the device communication module 11 includes: the proxy-stub unit comprises a stub subunit defined with the external interface, a proxy subunit and a proxy engine corresponding to the stub subunit, the transmission interface defined inside is called through the proxy stub and the proxy engine, data exchange between the internal network processing unit and the external network processing unit is completed through the isolation exchange unit, and an information exchange path between the internal network client and the external network server is established; the RPC communication daemon unit is used for realizing peer-to-peer communication in the equipment and communication among different equipment; the data exchange daemon unit is used for realizing point-to-point data exchange among different devices.
A device management module 12, configured to manage accessed devices, provide an interface for obtaining device usage rights, monitor states of the devices, and provide a device state change notification;
the application development suite module 13 is used for providing components capable of meeting the screen splitting requirement and providing a component manager for controlling the behavior of each component; in an embodiment, the application development suite module hides the interaction details with the device management module, provides an event interface to the user, and the component manager manages the allocation of adapted components and devices and distributes the components to corresponding devices, wherein the components include a basic component assembly, a custom component assembly, and a custom component and basic component assembly.
The invention provides a method for realizing a multi-device application support framework, which is used for an application platform for interaction experience among different intelligent devices of a user, such as a smart phone, a tablet personal computer, a smart television and the like, can improve the application interaction experience of the user, and fully utilizes personal devices of the user.
Please refer to fig. 2, which is a flowchart illustrating a method for implementing a multi-device application support framework according to the present invention. As shown, it comprises the following steps:
s1: providing a component capable of meeting the screen splitting requirement through the application development kit module;
s2: after new equipment is found, the component manager generates a component distribution scheme by acquiring equipment characteristics and comparing the characteristics of the components with the characteristics of the equipment, then informs a user, and finally determines whether to distribute the components to specific equipment by the user; then, the components are split and operated on a plurality of devices through a device management module and a device communication module; in an embodiment, step S2 includes the following steps: s21: the remote interaction among different equipment components and the data exchange among the components among different equipment are realized through the equipment communication module, when the framework operates, a self-defined external interface is released in a specific network, and remote interfaces provided by other components can be conveniently accessed through the external interface; s22: and the device management module acquires the interface of the device usage right, monitors the state of each device and notifies the change of the device state.
Further, step S21 specifically includes the following steps:
s211, proxy-stub process: the method comprises the steps that an external interface is defined in a stub subunit, a corresponding agent subunit is defined at the same time, after a process is started, an interface of the stub is issued to an IPC component of a current running platform, other processes acquire an agent module of a target process or acquire an interface of the target process, and IPC is achieved through interface calling;
s212, RPC communication daemon: the peer-to-peer communication between the devices is realized through an RPC communication daemon, and a process needing cross-device communication needs to call a corresponding interface through an agent subunit of the RPC communication daemon;
s213, data exchange daemon: the process can realize point-to-point data exchange among the devices, the client process establishes and obtains a data stream object through the interface, and the interface is operated on the data stream object to realize the data exchange among the devices.
Further, step S22 specifically includes the following steps:
s221, the equipment management module collects the equipment information of the equipment in which the equipment is positioned when starting and generates description information;
s222, when the equipment joins the equipment cluster, multicasting the equipment information of the equipment to inform all reachable equipment, synchronizing a shared information list, and sending out a corresponding event notice; when the device leaves the cluster, the multicast notification can reach the device, synchronously modifies the shared information list, and sends out a corresponding event notification; during the online period of the equipment, the heartbeat packet is multicast periodically to inform other equipment that the equipment is still online; when the heartbeat is overtime, the condition shows that the equipment is not reachable currently, and the equipment is off-line abnormally, and needs to send a corresponding event to notify an application process;
s223, when the application process applies for using a certain device, a data stream channel is established, and a corresponding data stream object is returned.
The following specifically describes an implementation process of the device communication module, an implementation process of device management, and an implementation process of an application development suite.
A. The implementation process of the device communication module comprises the following steps:
referring to fig. 3, fig. 3 is a schematic diagram illustrating an implementation process of a device communication module in an embodiment, where as shown, the implementation process of the inter-device communication module mainly includes three parts: proxy-process of Stub (Proxy-Stub), RPC communication daemon, data exchange daemon.
Proxy-Stub (Proxy-Stub) process: and defining the external interface of the user in the stub subunit, and defining the corresponding agent subunit at the same time, when the process is started. The framework mechanism can ensure that the interface of the stub is issued only in the IPC component of the current running platform, the IPC refers to inter-process communication, other processes can obtain the proxy subunit of the target process through the framework providing method, or the interface of the target process is obtained by using the method provided by the current platform (therefore, the process realized based on the framework is compatible with other processes, but the framework hides the bottom layer complex mechanism), and the IPC can be realized through interface calling. In FIG. 3, process A-1, process A-2, process B-1, process C-1, etc. are all such processes.
As shown in fig. 3, based on the processes implemented by the proxy-stub unit, the RPC Communication Daemon runs uniquely on each device, IPCs between devices implement peer-to-peer Communication through the Daemon, and the process requiring cross-device Communication only needs to call a corresponding interface through the proxy subunit of the CD. This achieves the following effects:
a) and the only RPC import and export is limited, and a safety verification mechanism is conveniently realized.
b) Only one communication link is maintained between every two devices, and the overhead is greatly reduced.
c) Each process does not need to separately realize the function of connecting other equipment, and the function multiplexing is realized.
As shown in fig. 3, a data exchange daemon, that is, a DataTransfer (DT for short), is uniquely operated on each device based on a process implemented by a proxy-stub unit, point-to-point data exchange between devices can be implemented by the process, a client process (e.g., process a-2) establishes and obtains a data stream object through an interface of the DT, and then operates the interface to the data stream object to implement data exchange between the devices. The DT is separated from the CD, mainly considering the different properties of the two connections, the message of the CD is usually short, and the CD needs to have the fastest response speed as possible, while the DT usually occupies the connection channel for a long time, and if the DT is put together, the DT causes serious RPC delay.
B. The device management realizes the process:
the device management module, namely Resource-Manager, runs on each device in the form of a daemon process. To implement the main responsibilities of the device management module, the following functions need to be implemented:
when the unit starts, the unit collects the device information of the device, generates accurate description information (including the information of the device itself, such as screen size, resolution and the like, and additionally including the applicable type of the device, such as display output, control input and the like), and initializes a shared information list.
Referring to fig. 4, fig. 4 is a schematic diagram illustrating a device management implementation process in an embodiment, as shown in the figure, when a device is online (joins a device cluster), a multicast device information notifies all reachable devices, performs shared information list synchronization, and sends a corresponding event notification; similarly, when the device is offline (leaves the cluster), the multicast notification can reach the device, synchronously modify the shared information list and send out a corresponding event notification; during the online period of the equipment, the heartbeat packet is multicast periodically to inform other equipment that the equipment is still online currently, and when the heartbeat is overtime, the equipment is not reachable currently, is abnormally offline and needs to send corresponding event notification to the application process.
When an application process applies for using a certain device (non-native), the establishment of the data stream channel is completed, and a corresponding data stream object is returned. Taking video output equipment as an example, the specific steps are as follows:
a) applying for using a screen of another device as an output device;
b) finishing the establishment of a data stream (stream1) channel between devices through DT;
c) the peer node Resource-Manager process receives the request, establishes a data stream (stream2) channel from the DT process to the video output process, and connects stream1 and stream 2;
d) the native node establishes an application process and a data stream (stream3) channel of the DT, and connects stream1 and stream 3.
e) Returning the stream3 object to the application process, the application process inputs the generated video data into stream3, i.e., can be processed by the video output process of another device, and outputs the processed video data to the screen.
C. The application development suite implementation process comprises the following steps:
referring to fig. 5, fig. 5 is a schematic diagram illustrating an implementation process of an application development kit according to an embodiment, and as shown in the figure, an application development kit module is submitted to a user in the form of an SDK, where the application development kit module includes a basic application framework, basic components, and related description documents to help a developer to quickly construct such applications. The application base components conform to the CMD specification, and each component is an independent module. Meanwhile, the components adopt object-oriented design, all the components inherit basic classes such as input and output, the behaviors of the components are limited, and the component manager can realize scheduling management on the components according to the types of the components.
The application framework contains several components, the most important of which is the component manager:
1) the interaction details with the equipment management module are hidden, and only an event interface is exposed to an application developer;
2) an organization and management component, a distribution and recovery component, establishes data flow paths across the equipment components.
With the component manager, as a developer, only necessary event processing procedures need to be implemented, for example, a device more suitable for display, a device more suitable for control input, and the like are found, and the component manager can automatically call the developer to write the event processing procedures to determine the behavior of the application.
In summary, the invention hides the implementation details of the underlying communication through the device communication module, exposes a simple communication interface to the outside, and implements cross-device and cross-platform communication; through establishing a communication link between devices, managing information of interconnected devices and a quick application development kit, developers only need to pay attention to application logic per se, multi-device application can be conveniently and quickly realized, abundant device resources of users are fully utilized, and optimal application experience is obtained. Therefore, the invention effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical spirit of the present invention be covered by the claims of the present invention.
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201511025003.1A CN106933678B (en) | 2015-12-30 | 2015-12-30 | Multi-device application support framework and implementation method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201511025003.1A CN106933678B (en) | 2015-12-30 | 2015-12-30 | Multi-device application support framework and implementation method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106933678A CN106933678A (en) | 2017-07-07 |
| CN106933678B true CN106933678B (en) | 2020-03-31 |
Family
ID=59441768
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201511025003.1A Active CN106933678B (en) | 2015-12-30 | 2015-12-30 | Multi-device application support framework and implementation method thereof |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106933678B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111917737B (en) * | 2020-07-14 | 2023-01-31 | 北京明略软件系统有限公司 | Cross-network RPC calling system and method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101980152A (en) * | 2010-10-18 | 2011-02-23 | 华南理工大学 | A mobile middleware system and its implementation method |
| CN202135163U (en) * | 2011-06-17 | 2012-02-01 | 华南理工大学 | A mobile middleware system |
| CN102262552B (en) * | 2011-07-06 | 2015-08-19 | 惠州Tcl移动通信有限公司 | A kind of application program striding equipment synchronous method and system |
| CN102802048B (en) * | 2012-08-24 | 2015-08-05 | 乐视致新电子科技(天津)有限公司 | A kind of Multi-screen interaction system and method |
-
2015
- 2015-12-30 CN CN201511025003.1A patent/CN106933678B/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN106933678A (en) | 2017-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3058699B1 (en) | Communication system architecture | |
| CN107005567B (en) | Implement communication events | |
| EP3058698B1 (en) | Communication system achitecture | |
| CN102868729B (en) | The method, client and Cloud Server of realizing software service based on cloud service | |
| EP3058700B1 (en) | Communication system architecture | |
| US10999405B2 (en) | Method for processing access requests and web browser | |
| KR102000990B1 (en) | Micro grid energy management system using dds middleware | |
| EP3055970B1 (en) | Communication system architecture | |
| CN115883669B (en) | Data distribution method, system, equipment and medium | |
| US9609027B2 (en) | Communication system architecture | |
| JP2011511362A (en) | Object invocation and termination in a knowledge-based framework for multi-master synchronization environments | |
| CN120010897A (en) | A cloud rendering management method and device | |
| CN107147663A (en) | Synchronous communication method and system of a computer cluster system | |
| CN106933678B (en) | Multi-device application support framework and implementation method thereof | |
| CN113301088B (en) | Message processing method, device and system, electronic equipment and readable storage medium | |
| CN117938928A (en) | Distributed service management method, device, server and storage medium | |
| US20150100624A1 (en) | Method and system for supporting vnc/rfb protocol tranversal through firewalls without the need to configure open ports | |
| CN113727056B (en) | A data transmission connection management method and server | |
| CN116684301A (en) | A method, system, device and storage medium for realizing cross-range task collaboration | |
| Schubert et al. | Service-oriented operating systems: future workspaces | |
| CN112631738B (en) | Distributed task processing system and method based on storage container | |
| US20250217922A1 (en) | Task processing method and device | |
| CN101159629A (en) | Intelligent node elastic overlay network network architecture and monitoring method | |
| Li et al. | An Integrated Middleware Platform Using Peer to Peer Network in Cloud Computing Environment | |
| WO2016082870A1 (en) | Communication system architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |