CN111182019B - Cross-platform communication method and device and electronic equipment - Google Patents

Cross-platform communication method and device and electronic equipment Download PDF

Info

Publication number
CN111182019B
CN111182019B CN201910730948.5A CN201910730948A CN111182019B CN 111182019 B CN111182019 B CN 111182019B CN 201910730948 A CN201910730948 A CN 201910730948A CN 111182019 B CN111182019 B CN 111182019B
Authority
CN
China
Prior art keywords
observer
target
data
state
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
Application number
CN201910730948.5A
Other languages
Chinese (zh)
Other versions
CN111182019A (en
Inventor
王宇翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910730948.5A priority Critical patent/CN111182019B/en
Publication of CN111182019A publication Critical patent/CN111182019A/en
Application granted granted Critical
Publication of CN111182019B publication Critical patent/CN111182019B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

The disclosure provides a cross-platform communication method and device and electronic equipment; relates to the technical field of communication. The method is applied to a first platform for receiving data, and comprises the following steps: acquiring a communication data list corresponding to the communication task between the second platform and the second platform, and registering an observer list to observe the communication data list; responding to any target data in the communication data list, and acquiring the state of a target observer corresponding to the target data; responding to the state of the target observer in an activated state, and performing distribution processing on the target data through the target observer; and responding to the state of the target observer in an inactive state, and caching the target data. The technical scheme can solve the problem that multiple callbacks cannot be received through the same channel, and is beneficial to improving the continuity and accessibility of data transmission in cross-platform communication.

Description

Cross-platform communication method and device and electronic equipment
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a cross-platform communication method, a cross-platform communication apparatus, and an electronic device implementing the cross-platform communication method.
Background
In the cross-platform communication process, the transmission of communication data between two platforms needs to be subjected to serialization processing and deserialization processing. However, the serialization and deserialization processes described above can cause the observer callback mechanism in a single platform to be blocked, resulting in the platform not being able to directly listen to the callback result of the call.
In the related art, manual switching (e.g., encoding/decoding) is used in two platforms that communicate to ensure that the communication link is accessible.
However, the cross-platform communication scheme provided by the related art results in low resource utilization.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The purpose of the present disclosure is to provide a cross-platform communication method, a cross-platform communication apparatus, an electronic device, and a computer-readable storage medium, so as to improve the resource utilization rate of a cross-platform communication scheme to a certain extent.
According to a first aspect of the present disclosure, there is provided a cross-platform communication method applied to a first platform for receiving data, the method including: acquiring a communication data list corresponding to the communication task between the communication data list and the second platform, and registering an observer list to observe the communication data list; in response to receiving any target data in the communication data list, caching the target data; acquiring the state of a target observer corresponding to the target data; and responding to the state of the target observer being in an activated state, and performing distribution processing on the cached target data through the target observer.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the method further includes: responding to the state of the target observer in an inactive state, and monitoring whether the target observer changes to an active state within a preset time length; in response to the state of the target observer becoming an active state, performing distribution processing on the cached target data by the target observer; and in response to the status of the target observer remaining inactive, reverse-registering the observer to cancel observing the target data.
In an exemplary embodiment of the disclosure, based on the foregoing embodiment, after the communication data list is observed in the registered observer mode, the method further includes: monitoring whether the state of the observer in the observer list changes or not; and updating the changed state into the life cycle of the observer in response to the change of the state of the observer.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the acquiring a communication data list corresponding to completion of a communication task between second platforms and registering a watcher list to watch the communication data list includes: providing an interface layer between the watcher list and the second platform such that communication data from the second platform reaches the watcher list via the interface layer; responding to a calling instruction of a method channel corresponding to the communication task, and creating a first object for managing the life cycle of the observer in the observer list in the interface layer; creating a second object for the first object that pertains to the life cycle of the observer; and setting the relationship between the observer and the first object as a subscription relationship, so that the observer determines whether to call back the communication data according to the subscription object of the first object.
In an exemplary embodiment of the disclosure, based on the foregoing embodiment, the creating, at the interface layer, a first object that manages a life cycle of a watcher in the watcher list includes: creating a global cache as the first object in the interface layer; and storing the first object packet in the interface layer by using the identifier of the method channel and/or the method identifier corresponding to the communication data.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the caching the target data in response to receiving any target data in the communication data list includes:
responding to the interface layer receiving the target data, and acquiring an identifier of a target method channel corresponding to the target data and/or an identifier of a target method corresponding to the target data; acquiring a target object corresponding to the target data from the first object according to the identifier of the target method channel and/or the identifier of the target method; and caching a latest version of the target data in the target object.
In an exemplary embodiment of the disclosure, based on the foregoing embodiment, the acquiring a state of the target observer corresponding to the target data includes: and acquiring the state of the target observer by traversing a second object corresponding to the target object.
The distributing, by the target observer, the target data in response to the state of the target observer being in an active state includes: responding to the state of the target observer being in an active state, the target object sending a subscription object about data callback to the target observer, so that the target observer performs distribution processing on the cached target data according to the subscription object.
In an exemplary embodiment of the disclosure, based on the foregoing embodiment, the updating the changed state to the life cycle of the observer in response to the change of the state of the observer includes: and updating the second object of the observer to be in the inactive state in response to the fact that the duration of the observer in the inactive state is greater than a first preset threshold.
According to a second aspect of the present disclosure, there is provided a cross-platform communication apparatus applied to a first platform for receiving data, the apparatus comprising: an observer registration module configured to acquire a communication data list corresponding to completion of a communication task with a second platform, and register an observer list to observe the communication data list; the data caching module is configured to respond to any target data in the communication data list and cache the target data; the state acquisition module is configured to acquire the state of a target observer corresponding to the target data; and the data distribution module is configured to respond to the state of the target observer being in an activated state, and to perform distribution processing on the cached target data through the target observer.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the cross-platform communication apparatus further includes: the system comprises a first state monitoring module and an observer reverse registration module.
Wherein the first condition monitoring module is configured to: responding to the state of the target observer in an inactive state, and monitoring whether the target observer changes to an active state within a preset time length; the data distribution module is further configured to: in response to the state of the target observer becoming an active state, performing distribution processing on the cached target data by the target observer; and, the observer anti-registration module configured to: in response to the status of the target observer remaining inactive, the observer is deregistered to cancel observing the target data.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the cross-platform communication apparatus further includes: the second state monitoring module and the state updating module.
After the observer registering module registers the observer mode to observe the communication data list, the second status monitoring module is configured to: monitoring whether the state of the observer in the observer list changes or not; and, the status update module configured to: and updating the changed state into the life cycle of the observer in response to the change of the state of the observer.
In an exemplary embodiment of the disclosure, based on the foregoing embodiment, the watcher registration module includes: an interface layer creating unit, an object creating unit, and a relationship setting unit. Wherein:
the interface layer creation unit is configured to: providing an interface layer between the watcher list and the second platform such that communication data from the second platform reaches the watcher list via the interface layer;
the object creating unit is configured to: responding to a calling instruction of a method channel corresponding to the communication task, and creating a first object for managing the life cycle of the observer in the observer list in the interface layer; and creating a second object for the first object relating to the life cycle of the observer;
the above-mentioned relationship setting unit is configured to: and setting the relationship between the observer and the first object as a subscription relationship, so that the observer determines whether to call back the communication data according to the subscription object of the first object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the object creating unit is specifically configured to: creating a global cache as the first object in the interface layer; and storing the first object packet in the interface layer by using the identifier of the method channel and/or the method identifier corresponding to the communication data.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the data caching module is specifically configured to: responding to the interface layer receiving the target data, and acquiring an identifier of a target method channel corresponding to the target data and/or an identifier of a target method corresponding to the target data; acquiring a target object corresponding to the target data from the first object according to the identifier of the target method channel and/or the identifier of the target method; and caching a latest version of the target data in the target object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the state obtaining module is specifically configured to: and acquiring the state of the target observer by traversing a second object corresponding to the target object. The data distribution module is specifically configured to: responding to the state of the target observer being in an active state, the target object sending a subscription object about data callback to the target observer, so that the target observer performs distribution processing on the cached target data according to the subscription object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the status updating module is specifically configured to: and updating the second object of the observer to be in the inactive state in response to the fact that the duration of the observer in the inactive state is greater than a first preset threshold.
According to a third aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the cross-platform communication method described above in any of the embodiments of the first aspect.
According to a fourth aspect of the present disclosure, there is provided an electronic device comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the cross-platform communication method according to any embodiment of the first aspect by executing the executable instructions.
Exemplary embodiments of the present disclosure may have some or all of the following benefits:
the cross-platform communication scheme provided by an example embodiment of the present disclosure may be applied to a first platform receiving data, acquire a communication data list corresponding to completion of a communication task between second platforms, and register a watcher list with the communication data list as an observed object. Further, in response to receiving any target data in the communication data list, caching the target data, and acquiring the state of the target observer corresponding to the target data. And when the target observer is in an activated state, the target observer distributes the cached target data. According to the technical scheme, the problem that multiple callbacks cannot be received through the same channel can be solved through a registered observer mechanism, and the method call concerning multiple callback results is prevented from being forcibly converted into event (data stream) call, so that the continuity and accessibility of data transmission in cross-platform communication are improved. Compared with a cross-platform communication scheme provided by the related technology, the scheme can effectively improve the resource utilization rate.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
FIG. 1 is a diagram illustrating an exemplary system architecture to which a cross-platform communication method and apparatus of embodiments of the present disclosure may be applied;
FIG. 2 is a diagram showing an architecture of Flutter in the related art;
FIG. 3 schematically illustrates a flow diagram of a cross-platform communication method according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a page schematic of cross-platform development according to an embodiment of the disclosure;
FIG. 5 schematically illustrates a timing diagram for data transmission according to an embodiment of the disclosure;
FIG. 6 schematically illustrates a flow chart of a method of observer pattern determination according to an embodiment of the present disclosure;
FIG. 7 illustrates a structural schematic of a viewer profile according to an embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow diagram of a method for a watcher initiated method call, in accordance with an embodiment of the present disclosure;
FIG. 9 schematically illustrates a flow diagram of a method of an interface layer receiving data according to an embodiment of the disclosure;
FIG. 10 schematically illustrates a flow diagram of a method of data caching according to an embodiment of the present disclosure;
FIG. 11 schematically illustrates a flow diagram of a cross-platform communication method according to another embodiment of the present disclosure;
FIG. 12 schematically illustrates a block diagram of a cross-platform communication device according to an embodiment of the present disclosure;
FIG. 13 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and the like. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the present disclosure.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
Fig. 1 is a schematic diagram illustrating a system architecture of an exemplary application environment to which a cross-platform communication method and apparatus according to an embodiment of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include one or more of the terminal devices 101, 102, 103 of the second platform. In this embodiment, an iOS system or an Android system is exemplarily deployed in the terminal devices 101, 102, and 103. The system architecture 100 further includes: network 104 and a server 105 corresponding to the first platform, where server 105 is illustratively deployed with Flutter. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few. The terminal devices 101, 102, 103 may be various electronic devices having a display screen, including but not limited to desktop computers, portable computers, smart phones, tablet computers, and the like. It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation. For example, server 105 may be a server cluster comprised of multiple servers, or the like.
The cross-platform communication method provided by the embodiment of the present disclosure is generally performed by the server 105, and accordingly, a cross-platform communication device is generally disposed in the server 105. However, it is easily understood by those skilled in the art that the cross-platform communication method provided in the embodiment of the present disclosure may also be executed by the terminal devices 101, 102, and 103, and accordingly, the cross-platform communication apparatus may also be disposed in the terminal devices 101, 102, and 103, which is not particularly limited in this exemplary embodiment.
For example, in an exemplary embodiment, it may be that the server 105 acquires a communication data list that completes communication tasks corresponding to the second inter-platform 101, 102, 103, and registers a watcher list to watch the communication data list; responding to any target data in the communication data list, caching the target data, and acquiring the state of a target observer corresponding to the target data; further, in response to the status of the target watcher being in an active state, the cached target data is distributed.
In the cross-platform communication scheme provided by the related art, for example, the cross-platform development framework flute introduced by google. The existing flute is exposed to a communication channel with an external specific function through platformmChanel, cross-platform and Native communication is realized, and the problems of method calling, message receiving and sending, data transmission and the like under different platforms and different language environments can be effectively solved.
Specifically, the conventional Flutter 200 defines three different types of channels, and the main function of the Channel is to expose a communication Channel with a specific function to the outside, and also to name the Channel. Referring to fig. 2, the specific types of these three channels are:
BasicMessageChannel 21: for communicating strings and semi-structured information.
MethodChanel 22: for passing method calls. And initiating a call by the Flutter end, and expecting to receive a callback.
EventChannel 23 for communication of data streams. The Flutter end initiates registration, the platform end initiates communication, and multiple callbacks are expected to be received.
The three channels realize the encoding and decoding (Encode/Decode) process between the Flutter 200 and the Native 210 (including the iOS 211 and the Android 212), and can realize binary data transmission.
Among them, the method call provided by the conventional method channel (MethodChannel 22) has a problem that a plurality of callbacks cannot be received through the same channel. The related solutions provided by the related art are: and forcibly converting a method call concerned with the multi-callback result into an event (data flow) call corresponding to the eventChannel. However, the related art solution causes a waste of resources.
In addition, the conventional EventChannel 23 does not pay attention to the lifecycle of the observer (receiving callback party), and does not have the capability of automatically deciding whether to release and resume the observation according to the lifecycle of the observer. In the related art, manual registration and deregistration (and only two states, registered and unregistered, without an intermediate state) by a developer according to a life cycle of an observer is required. However, the solution provided by the related art may cause memory leakage that the watcher does not deregister in time, and data distribution that the watcher fails through repeated registration/deregistration also causes resource utilization to be low.
Based on one or more problems in the related art, the present disclosure provides a cross-platform communication method, apparatus, computer-readable storage mechanism, and electronic apparatus. The technical solution of the embodiment of the present disclosure is explained in detail below:
FIG. 3 schematically shows a flow diagram of a cross-platform communication method according to an embodiment of the present disclosure. Specifically, referring to fig. 3, the embodiment shown in this figure comprises:
step S310, a communication data list corresponding to the communication task between the second platform is obtained, and an observer list is registered to observe the communication data list;
step S320, responding to any target data in the communication data list, and caching the target data;
step S330, acquiring the state of a target observer corresponding to the target data; and the number of the first and second groups,
step S340, in response to that the state of the target observer is in an activated state, the target observer performs distribution processing on the cached target data to complete cross-platform communication of the target data.
In the cross-platform communication scheme provided by the embodiment shown in fig. 3, a watcher list is maintained at the first platform end through a watcher registration mechanism, so that watchers at the first platform end are bound to communication data. And processes the data bound to the observer differently according to whether the observer is in an active state or an inactive state. Specifically, when the target observer is in an active state, the cached target data is distributed to the first platform side, and the cross-platform communication related to the target data is completed. Therefore, the technical scheme can solve the problem that multiple callbacks cannot be received through the same channel, avoids forcibly converting a method call concerning multiple callback results into event (data stream) call, and is beneficial to improving continuity and accessibility of data transmission in cross-platform communication. Compared with a cross-platform communication scheme provided by the related technology, the scheme can effectively improve the resource utilization rate.
The following details the specific implementation of each step in the embodiment shown in fig. 3:
in the exemplary embodiment, a page developed by Flutter and Native across platforms is taken as an example. FIG. 4 schematically shows a page schematic of cross-platform development according to an embodiment of the disclosure.
Specifically, a User Interface 401(User Interface, UI for short) in the page 400 shown in fig. 4 is implemented by Flutter50, and a data layer of the page 400 is implemented by Native. The data is mainly a room list, and the corresponding data sources are from a Native memory cache 51, a Native database 52 and a Native network 53. More specifically, the cache loaded last time is pulled from the memory cache 51 and the Native database 52 and displayed, and the Native network 53 is requested to refresh the page 400 after the latest data is pulled.
That is, referring to fig. 5, the Flutter50 needs to sequentially obtain the relevant data from the Native memory cache 51, the Native database 52, and the Native network 53. For example, referring to fig. 5, Flutter50 sends a first data Request (Request 1) to Native memory cache 51, and Native memory cache 51 returns corresponding data to Flutter50 (Response 1). Then, Flutter50 sends a second data Request (Request 2) to Native database 52, and Native database 52 returns the corresponding data to Flutter50 (Response 2). Finally, Flutter50 sends a third data Request (Request 3) to Native network 53, and Native network 53 returns the corresponding data to Flutter50 (Response 3).
As can be seen with reference to fig. 4 and 5, the presentation of page 400 undergoes three asynchronous communications. In order to shield the implementation details of the Flutter50, Native only exposes an interface for acquiring list data to the Flutter50, and internal implementation logic acquires the list data from the three data sources in sequence, and then transmits the data to the Flutter through the same channel. In the above scenario, Flutter50 needs to make multiple callbacks. However, due to the uncertainty of the network environment. For example, it is possible that the user has switched the app corresponding to page 400 to the background before the network data is retrieved. The following explains the cross-platform communication method provided by the technical scheme with the embodiment.
Illustratively, the data returned from the above-mentioned Request 1 to Request 3 to Flutter50 constitutes the communication data list in step S310. Further, in step S310, a watcher list is registered for the communication data list. In the embodiment shown in fig. 4, the communication data list may be used as the viewer. Furthermore, the refresh logic is triggered as soon as a change in the data of the communication data list itself is observed.
In an exemplary embodiment, fig. 6 schematically illustrates a flow chart of a method of observer pattern determination according to an embodiment of the present disclosure. Specifically, it can be a specific implementation of step S310. Illustratively, fig. 7 shows a schematic structural diagram of an observer pattern according to an embodiment of the disclosure. The method shown in fig. 6 is explained below with reference to fig. 7.
Referring to fig. 6, the embodiment shown in the figure includes steps S610 to S640, specifically:
in step S610, an interface layer is provided between the watcher list and the second platform, such that communication data from the second platform reaches the watcher list via the interface layer.
In an exemplary embodiment, referring to fig. 7, data transmission by an EventChannel72 after the technical solution is improved is described as an example. On the basis of the existing EventChannel 22 for data transmission, the improvement is as follows: an interface layer EventAPI 71 is added before the observer list 70 and EventChannel72 interact directly. That is, for the communication data from the second platform 210, after going through EventChannel72, the observer list 70 is reached through the above-mentioned interface layer eventmapi 71.
In step S620, in response to a call instruction of a method channel corresponding to the communication task, a first object for managing a life cycle of an observer in the observer list is created in the interface layer.
In an exemplary embodiment, referring to fig. 7, a first object LiveStream 711 responsible for managing the life cycle of watchers in the watcher list is created in the interface layer eventlipi 71.
In an exemplary embodiment, the first object packet is stored in the interface layer by using an identifier (channlname) of the method channel EventChannel and/or a method identifier (eventName) corresponding to the communication data. Referring to fig. 7, the watcher list 70 sends the relevant presentation data to the interface layer eventtipi 71, so that the first object LiveStream 711 corresponding to the watcher in the interface layer eventtipi 71 is grouped according to the above identification data and globally cached in the eventtipi 71.
In step S630, a second object is created for the first object regarding the life cycle of the observer.
Since one observed object corresponds to a plurality of observers in the observer pattern, life cycle objects LifeCycleOwner (i.e., the second object) of all the observers observing the target data are maintained inside one LiveStream 711.
In an exemplary embodiment, the present solution provides a way to manage the life cycle of an observer. Specifically, after registering an observer list to observe the communication data list, monitoring whether the state of an observer in the observer list changes; and updating the changed state to the life cycle of the observer in response to the change of the state of the observer, specifically, updating the changed state to the second object LifeCycleOwner. Thus, the second object LifeCycleOwner maintains the latest life cycle. For example, a specific implementation for actively cancelling observations (i.e., counterregistered observers) may be: and in response to the time length of the observer in the inactive state being greater than a first preset threshold value, updating the second object of the observer to the inactive state.
Illustratively, changes in the network environment during communication may cause the state of the observer to change. For example, in the embodiment shown in fig. 4, it may be that before the Flutter network data is acquired, an application corresponding to the page is cut to the background, and the page is not visible to the user. At this time, if the network data acquisition request is responded, in the technical scheme, the state of the relevant observer is in an inactive state, so that only the received network data is cached without updating the page.
For example, if the user returns to the application, and the observer changes from the inactive state to the active state, the page may control whether the old version of the network data needs to be updated with the latest version of the cached data, thereby triggering the stale auto-refresh logic.
Illustratively, if the user exits the application, the observation is cancelled based on the anti-registration mechanism to prevent memory leakage.
In an exemplary embodiment, the watcher usually presents a certain page (denoted as Widget in Flutter), which provides lifecycle callbacks at the Widget level and Application (App) level.
The lifecycle callbacks at the Widget level are as follows:
didUpdateWidget (): the Widget is multiplexed. At this time, the LifecycleOwner of the old Widget needs to be set to the inactive state, and the LifecycleOwner of the new Widget needs to be set to the active state.
deactivating (): the Widget is discarded. At this time, the LifecycleOwner of the Widget needs to be set to an inactive state, and the LiveStream subscription relationship LiveStream subscription is removed.
App-level lifecycle callbacks are similar, such as:
didChangeAppLifecycleState (): a plurality of callback of App state is provided. Inactive, used, reset, suspension, where the corresponding LifecycleOwner status management may also be performed.
In an exemplary embodiment, the second object LifecycleOwner may also be opened to service-free implementation, so as to achieve the purpose of flexibly controlling the life cycle of the observer.
In step S640, a subscription relationship is set between the watcher and the first object, so that the watcher determines whether to call back the communication data according to the subscription object of the first object.
In an exemplary embodiment, referring to fig. 7, a life cycle object LifeCycleOwner (i.e., a second object, not shown in the figure) of an observer in the interface layer eventmap 71 is in a subscription relationship with a corresponding observer, so that the observer can determine whether to call back the communication data according to the subscription object lifestreamdescription sent by the first object lifestream.
Illustratively, table 1 shows a DART class diagram for the interface layer, referring to the following table, showing the first object, the second object, and the encapsulated interface provided by the interface layer maintained by the interface layer.
Figure BDA0002160556930000131
In an exemplary embodiment, based on the above-described settings of the interface layer, fig. 8 schematically illustrates a flow chart of a method for a watcher to initiate a method call, according to an embodiment of the present disclosure. The specific embodiment of the steps of fig. 8 is explained with reference to fig. 7 as follows:
in step S81, eventmapi 71 checks the LiveStream 711 global cache according to the channelName and eventName (id) corresponding to the method call. In step S82, it is determined whether or not the first object livestream y corresponding to the above identifier exists in the eventtipi 71.
If there is a corresponding LiveStreamY, it is used directly (i.e., steps S84 and S85 are performed). If there is no corresponding LiveStreamY, step S83 is executed first: a new globally cached livestream y is created. Then, step S84 and step S85 are executed.
In step S84, the eventmap 71 adds the lifecycle object LifeCycleOwner (i.e., the second object described above) of the observer to the newly added livestream.
In step S85, the watcher saves the newly added LiveStreamY-generated subscription object livestreamdescription, and waits for a callback of data.
In an exemplary embodiment, with continued reference to fig. 3, before step S320, the method further includes: receiving any target data in the communication data list. Illustratively, based on the above-mentioned setting of the interface layer, fig. 9 schematically shows a flowchart of a method for receiving data by the interface layer according to an embodiment of the present disclosure. The specific embodiment of the steps of fig. 9 is explained with reference to fig. 7 as follows:
in response to EventAPI 71 receiving EventChannel72 decoded target data:
in step S91, eventmapi 71 checks the LiveStream global cache against the channelName and eventName of the target watcher. And in step S92, it is determined whether the first object LiveStream corresponding to the above identifier exists in the eventtipi 71.
If the first object LiveStreamX corresponding to the identifier exists in the EventAPI 71, the steps S93-S96 are executed. Otherwise, the process is finished directly.
In step S93, the target data is cached in the first object livestream x as the latest version.
In step S94, the life cycle object lifecycleowerx of all the observers in the first object LiveStreamX (i.e., the second object) is traversed. And in step S95, it is determined whether or not the state of the second object lifecycleowermerx is in an activated state. If the second object is in the activated state, step S96 is executed: and notifying the subscription object LiveStreamSubscription so that the target observer determines whether to call back the communication data according to the subscription object LiveStreamSubstcription. Otherwise, the process is finished directly.
In an exemplary embodiment, with continued reference to fig. 3, in step S320, in response to receiving any target data in the communication data list, the target data is cached.
In an exemplary embodiment, fig. 10 schematically illustrates a flow chart of a method of data caching according to an embodiment of the present disclosure. Specifically, the method may be implemented as a specific implementation of step S320.
Referring to fig. 10, the method provided by this embodiment includes steps S1010 to S1030.
In step S1010, in response to the interface layer receiving the target data, an identifier of a target method channel corresponding to the target data and/or an identifier of a target method corresponding to the target data is obtained.
In the exemplary embodiment, the description is still made with respect to the embodiment shown in fig. 9. Responding to the interface layer eventAPI 71 receiving the target data, acquiring the identifier channelName of the target method channel corresponding to the target data and/or the target method identifier eventName corresponding to the target data
In step S1020, a target object corresponding to the target data is obtained from the first object according to the identifier of the target method channel and/or the target method identifier.
In an exemplary embodiment, according to the identifier channelName of the target method channel and/or the target method identifier eventName, a target object livestream x corresponding to the target data is obtained in all the first objects.
In step S1030, the latest version of the target data is cached in the target object.
In an exemplary embodiment, after the target object livestream x is determined, the latest version of the target data is cached in the target object livestream x.
In an exemplary embodiment, with continued reference to fig. 3, in step S330, a state of a target observer corresponding to the target data is obtained; and in step S340, in response to that the state of the target observer is in an active state, performing, by the target observer, distribution processing on the cached target data to complete cross-platform communication of the target data.
Based on the embodiment shown in fig. 10, the specific implementation manner of step S330 may be: and acquiring the state of the target observer X by traversing a second object LifecCycleOwnerX corresponding to the target object LiveStreamX. In this embodiment, the above states include: an activated state and an inactivated state. And according to different states of the observer, performing different operations on the cached target data.
Based on the embodiment shown in fig. 10, the specific implementation manner of step S340 may be: in response to the state of the target observer X being in an active state, the target object livestream X sends a subscription object for data callback to the target observer X. Therefore, the target observer X performs distribution processing on the cached target data according to the received subscription object, and completes cross-platform delivery of the target data.
In an exemplary embodiment, fig. 11 schematically illustrates a flow chart of a cross-platform communication method according to another embodiment of the present disclosure. Specifically, this embodiment shows a specific implementation of the embodiment shown in fig. 3 in the case of the above-mentioned interface layer and the setting of the first object and the second object. Referring to fig. 11, the following steps are included:
in step S1110, a communication data list corresponding to completion of a communication task between the second platforms is acquired, and an observer list is registered to observe the communication data list; in step S1120, in response to receiving any target data in the communication data list, caching the target data through a first object; in step S1130, traversing the second object to obtain a state of the target observer corresponding to the target data; and, in step S1140, determining whether the status of the target observer is in an active state.
In an exemplary embodiment, the detailed implementation of steps S1110 to S1140 is the same as the detailed implementation of steps S310 to S330, and is not described herein again.
In response to the state of the target observer being in the active state, step S1160 is executed, and in step S1160, the target observer performs distribution processing on the cached target data. The specific implementation of step S1160 is the same as that of step S340, and is not described herein again.
In response to the above-mentioned state of the target observer not being in the activated state, step S1150 is performed.
In step S1150, it is determined whether the state of the target observer becomes an active state within a preset time period. In response to the status of the target observer becoming active, perform step S1160; in response to the status of the target observer still being in the inactive state, step S1170 is performed.
In step S1170, the target observer is unregistered and observation of the target data is cancelled.
In the technical solution provided by the embodiment shown in fig. 11, continuity and reachability of data stream delivery in cross-platform communication are ensured through a registered watcher mechanism. Meanwhile, through a mechanism of anti-registration of observers, the control problem of timely stopping release and recovering transmission of data streams in cross-platform communication is solved, and resources can be allocated as required.
Those skilled in the art will appreciate that all or part of the steps for implementing the above embodiments are implemented as computer programs executed by a processor (including a CPU and a GPU). For example, the GPU is used to train the generation of the countermeasure deep neural network, or the CPU or the GPU is used to implement the beautification processing on the image to be beautified based on the trained generation of the countermeasure deep neural network. Which when executed by a processor performs the above-described functions as defined by the above-described method provided by the present disclosure. The program may be stored in a computer readable storage medium, which may be a read-only memory, a magnetic or optical disk, or the like.
Furthermore, it should be noted that the above-mentioned figures are only schematic illustrations of the processes involved in the methods according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Further, in this exemplary embodiment, a cross-platform communication apparatus is further provided, which is applied to a first platform for receiving data. Referring to fig. 12, the cross-platform communication apparatus 1200 includes: a watcher registration module 1201, a data caching module 12042, a status acquisition module 1203, and a data distribution module 1204.
The observer registering module 1201 is configured to acquire a communication data list corresponding to a communication task between the second platforms, and register an observer list to observe the communication data list; the data caching module 1202 configured to cache the target data in response to receiving any target data in the communication data list; the state acquiring module 1203 is configured to acquire a state of a target observer corresponding to the target data; and the data distribution module 1204 is configured to perform distribution processing on the cached target data by the target observer in response to the state of the target observer being in an active state.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the cross-platform communication apparatus further includes: a first status monitoring module 1205 and an observer reverse registration module 1206.
Wherein the first status monitoring module 1205 is configured to: responding to the state of the target observer in an inactive state, and monitoring whether the target observer changes to an active state within a preset time length; the data distribution module 1204 is further configured to: in response to the state of the target observer becoming an active state, performing distribution processing on the cached target data by the target observer; and, the observer reverse registration module 1206 is configured to: in response to the status of the target observer remaining inactive, the observer is deregistered to cancel observing the target data.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the cross-platform communication apparatus further includes: a second status monitoring module 1207 and a status updating module 1208.
After the observer registering module 1201 registers the observer mode to observe the communication data list, the second state monitoring module 1207 is configured to: monitoring whether the state of the observer in the observer list changes or not; and, the status update module 1208 configured to: and updating the changed state to the life cycle of the observer in response to the change of the state of the observer, so as to manage the state of the observer through the life cycle of the observer.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the observer registering module 1201 includes: an interface layer creating unit, an object creating unit, and a relationship setting unit. Wherein:
the interface layer creation unit is configured to: providing an interface layer between the watcher list and the second platform such that communication data from the second platform reaches the watcher list via the interface layer;
the object creating unit is configured to: responding to a calling instruction of a method channel corresponding to the communication task, and creating a first object for managing the life cycle of the observer in the observer list in the interface layer; and creating a second object for the first object relating to the life cycle of the observer;
the above-mentioned relationship setting unit is configured to: and setting the relationship between the observer and the first object as a subscription relationship, so that the observer determines whether to call back the communication data according to the subscription object of the first object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the object creating unit is specifically configured to: creating a global cache as the first object in the interface layer; and storing the first object packet in the interface layer by using the identifier of the method channel and/or the method identifier corresponding to the communication data.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the data caching module 1202 is specifically configured to: responding to the interface layer receiving the target data, and acquiring an identifier of a target method channel corresponding to the target data and/or an identifier of a target method corresponding to the target data; acquiring a target object corresponding to the target data from the first object according to the identifier of the target method channel and/or the identifier of the target method; and caching a latest version of the target data in the target object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the state acquiring module 1203 is specifically configured to: and acquiring the state of the target observer by traversing a second object corresponding to the target object. The data distribution module 1204 is specifically configured to: and responding to the state of the target observer being in an activated state, the target object sending a subscription object related to data callback to the target observer, so that the target observer performs distribution processing on the cached target data according to the subscription object.
In an exemplary embodiment of the present disclosure, based on the foregoing embodiment, the status updating module 1208 is specifically configured to: and updating the second object of the observer to be in the inactive state in response to the fact that the duration of the observer in the inactive state is greater than a first preset threshold.
The specific details of each module or unit in the cross-platform communication device have been described in detail in the corresponding cross-platform communication method, and therefore are not described herein again.
FIG. 13 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present disclosure.
It should be noted that the computer system 1300 of the electronic device shown in fig. 13 is only an example, and should not bring any limitation to the functions and the scope of the application of the embodiments of the present disclosure.
As shown in fig. 13, computer system 1300 includes a processor 1301, wherein processor 1301 may include: a Graphics Processing Unit (GPU), a Central Processing Unit (CPU), which can perform various appropriate actions and processes according to a program stored in a Read-Only Memory (ROM) 1302 or a program loaded from a storage portion 1308 into a Random Access Memory (RAM) 1303. In the RAM 1303, various programs and data necessary for system operation are also stored. A processor (GPU/CPU)1301, a ROM 1302, and a RAM 1303 are connected to each other via a bus 1304. An Input/Output (I/O) interface 1305 is also connected to bus 1304.
The following components are connected to the I/O interface 1305: an input portion 1306 including a keyboard, a mouse, and the like; an output section 1307 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage portion 1308 including a hard disk and the like; and a communication section 1309 including a Network interface card such as a LAN (Local Area Network) card, a modem, or the like. The communication section 1309 performs communication processing via a network such as the internet. A drive 1310 is also connected to the I/O interface 1305 as needed. A removable medium 1311 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 1310 as necessary, so that a computer program read out therefrom is mounted into the storage portion 1308 as necessary.
In particular, the processes described below with reference to the flowcharts may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via communications component 1309 and/or installed from removable media 1311. The computer program, when executed by the processor (GPU/CPU)1301, performs various functions defined in the system of the present disclosure. In some embodiments, computer system 1300 may also include an AI (Artificial Intelligence) processor for processing computing operations related to machine learning.
It should be noted that the computer readable medium shown in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM), a flash Memory, an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer-readable signal medium may include a propagated data signal with computer-readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves.
As another aspect, the present disclosure also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by an electronic device, cause the electronic device to implement the method of the above embodiment.
For example, the electronic device described above may implement a method as shown in fig. 3, which is applied to a first platform that receives data, including: step S310, acquiring a communication data list corresponding to the communication task between the second platform, and registering an observer list to observe the communication data list; step S320, responding to any target data in the communication data list, and caching the target data; step S330, acquiring the state of a target observer corresponding to the target data; and step S340, in response to that the state of the target observer is in an active state, performing, by the target observer, distribution processing on the cached target data to complete cross-platform communication of the target data.
As another example, the electronic device described above may implement the various steps shown in fig. 4-11.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A cross-platform communication method applied to a first platform that receives data, the method comprising:
acquiring a communication data list corresponding to a communication task between the communication data list and a second platform, and registering an observer list on the first platform to observe the communication data list;
in response to receiving any target data in the communication data list, caching the target data;
acquiring the state of a target observer in the observer list corresponding to the target data;
and responding to the state of the target observer in an activated state, and performing distribution processing on the cached target data through the target observer to complete cross-platform communication of the target data.
2. The cross-platform communication method of claim 1, further comprising:
responding to the state of the target observer in an inactive state, and monitoring whether the target observer changes to an active state within a preset time length;
in response to the state of the target observer changing to an active state, performing distribution processing on the cached target data through the target observer;
in response to the status of the target observer remaining in an inactive state, the observer is de-registered to cancel observing the target data.
3. The cross-platform communication method of claim 1, wherein after registering the list of watchers to watch the list of communication data, the method further comprises:
monitoring whether the state of an observer in the observer list changes;
and in response to the change of the state of the observer, updating the changed state into the life cycle of the observer.
4. The cross-platform communication method according to any one of claims 1 to 3, wherein the obtaining a communication data list corresponding to completion of a communication task between the second platforms and registering a watcher list to watch the communication data list comprises:
setting up an interface layer between the watcher list and the second platform such that communication data from the second platform reaches the watcher list via the interface layer;
responding to a calling instruction of a method channel corresponding to the communication task, and creating a first object for managing the life cycle of the observer in the observer list in the interface layer;
creating a second object for the first object that is about the life cycle of the observer, the second object being an observer's life cycle object;
and setting the relationship between the observer and the first object as a subscription relationship so that the observer determines whether to call back the communication data according to the subscription object of the first object.
5. The cross-platform communication method of claim 4, wherein creating a first object at the interface layer that manages the lifecycle of watchers in the watcher list comprises:
creating a global cache as the first object at the interface layer;
storing the first object packet at the interface layer with an identification of the method channel and/or a method identification to which the communication data corresponds.
6. The cross-platform communication method according to claim 4, wherein the caching the target data in response to receiving any target data in the communication data list comprises:
responding to the interface layer receiving the target data, and acquiring an identifier of a target method channel corresponding to the target data and/or an identifier of a target method corresponding to the target data;
acquiring a target object corresponding to the target data from the first object according to the identifier of the target method channel and/or the identifier of the target method;
caching a latest version of the target data in the target object.
7. The cross-platform communication method according to claim 6, wherein the obtaining the state of the target observer in the observer list corresponding to the target data includes:
acquiring the state of a target observer in the corresponding observer list by traversing a second object corresponding to the target object;
the responding to the state of the target observer being in an activated state, the distributing and processing the cached target data by the target observer includes:
responding to the state of the target observer being in an activated state, the target object sending a subscription object about data callback to the target observer, so that the target observer performs distribution processing on the cached target data according to the subscription object.
8. The cross-platform communication method according to claim 3, wherein the updating the changed state to the life cycle of the observer in response to the change of the state of the observer comprises:
and in response to the fact that the duration of the state of the observer in the non-activated state is greater than a first preset threshold, updating a second object of the observer in the non-activated state, wherein the second object is a life cycle object of the observer.
9. A cross-platform communication apparatus, for use with a first platform that receives data, the apparatus comprising:
the observer registration module is configured to acquire a communication data list corresponding to the completion of a communication task between the second platforms, and register the observer list on the first platform to observe the communication data list;
the data caching module is configured to respond to any target data in the communication data list and cache the target data;
a state obtaining module configured to obtain a state of a target observer in the observer list corresponding to the target data;
and the data distribution module is configured to respond to the state of the target observer being in an activated state, and to perform distribution processing on the cached target data through the target observer.
10. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the cross-platform communication method of any one of claims 1-8 via execution of the executable instructions.
CN201910730948.5A 2019-08-08 2019-08-08 Cross-platform communication method and device and electronic equipment Active CN111182019B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910730948.5A CN111182019B (en) 2019-08-08 2019-08-08 Cross-platform communication method and device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910730948.5A CN111182019B (en) 2019-08-08 2019-08-08 Cross-platform communication method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN111182019A CN111182019A (en) 2020-05-19
CN111182019B true CN111182019B (en) 2021-10-15

Family

ID=70657069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910730948.5A Active CN111182019B (en) 2019-08-08 2019-08-08 Cross-platform communication method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN111182019B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914011A (en) * 2020-08-06 2020-11-10 上海智众医疗科技有限公司 Cross-platform data conversion method and system
CN112162755B (en) * 2020-09-28 2023-03-31 抖音视界有限公司 Data processing method, device, medium and electronic equipment
CN112463518A (en) * 2020-11-05 2021-03-09 广州博恒信息科技有限责任公司 Page full-life-cycle monitoring method, device, equipment and storage medium based on Flutter
CN112256421A (en) * 2020-11-12 2021-01-22 Oppo广东移动通信有限公司 Communication processing method, communication processing device, storage medium and electronic equipment
CN112966278A (en) * 2021-02-04 2021-06-15 北京高因科技有限公司 Method for Flutter to safely access SQLite in environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072813B2 (en) * 2002-11-13 2006-07-04 Cadence Design Systems, Inc. Mechanism to synchronize probes during simulation of system-level designs
CN101499022A (en) * 2008-02-01 2009-08-05 鸿富锦精密工业(深圳)有限公司 Internal memory space releasing system and method
CN104731584A (en) * 2015-02-26 2015-06-24 武汉爱科唯自动化科技有限公司 Human-machine interface customizable configuration design method for open type numerical control system
CN106227613A (en) * 2016-08-02 2016-12-14 秦龙 The improved method of " producer consumer " model under Linux
CN108234624A (en) * 2017-12-29 2018-06-29 贵阳语玩科技有限公司 The processing method and system of request of data
CN109189387A (en) * 2018-08-01 2019-01-11 广州南方智能技术有限公司 A kind of method and system of the GNSS data processing based on QT component

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120697A1 (en) * 2000-08-14 2002-08-29 Curtis Generous Multi-channel messaging system and method
US10394627B2 (en) * 2017-12-28 2019-08-27 Schneider Electric Software, Llc Asynchronous C#-JS data binding bridge

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072813B2 (en) * 2002-11-13 2006-07-04 Cadence Design Systems, Inc. Mechanism to synchronize probes during simulation of system-level designs
CN101499022A (en) * 2008-02-01 2009-08-05 鸿富锦精密工业(深圳)有限公司 Internal memory space releasing system and method
CN104731584A (en) * 2015-02-26 2015-06-24 武汉爱科唯自动化科技有限公司 Human-machine interface customizable configuration design method for open type numerical control system
CN106227613A (en) * 2016-08-02 2016-12-14 秦龙 The improved method of " producer consumer " model under Linux
CN108234624A (en) * 2017-12-29 2018-06-29 贵阳语玩科技有限公司 The processing method and system of request of data
CN109189387A (en) * 2018-08-01 2019-01-11 广州南方智能技术有限公司 A kind of method and system of the GNSS data processing based on QT component

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ripple:Home Automation for Research Data Management;Ryan Chard;《2017 IEEE 37th International Conference on Distributed Computing Systems Workshops(ICDCSW)》;20170717;全文 *
如何用flutter进行生命周期管理;Sunday1990;《51testing.com/html/78/n-4458878.html》;20190521;全文 *
把LiveData用于事件传递那些坑;逗比的狼;《juejin.cn/post/6844903846624362510》;20190518;全文 *

Also Published As

Publication number Publication date
CN111182019A (en) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111182019B (en) Cross-platform communication method and device and electronic equipment
US10409657B2 (en) Identifiers across application instances
CN112000473A (en) Distributed training method and device for deep learning model
CN107479867B (en) Application software plug-in operation method and device
CN112069265B (en) Synchronization method of configuration data, business data system, computer system and medium
CN109117252B (en) Method and system for task processing based on container and container cluster management system
US11093279B2 (en) Resources provisioning based on a set of discrete configurations
CN109245908B (en) Method and device for switching master cluster and slave cluster
CN109032587B (en) Data stream management framework, method, terminal equipment and storage medium
US9374417B1 (en) Dynamic specification auditing for a distributed system
CN112260853B (en) Disaster recovery switching method and device, storage medium and electronic equipment
CN112000353A (en) Application running method and device and storage medium
CN109873861B (en) Cross-block chain node interaction method and device, storage medium and electronic equipment
CN114510170B (en) Component display method and display device
CN113204425B (en) Method, device, electronic equipment and storage medium for process management internal thread
US20240118928A1 (en) Resource allocation method and apparatus, readable medium, and electronic device
CN115686346A (en) Data storage method and device and computer readable storage medium
CN106874010A (en) A kind of method of the quick paging loadings of ListView in android system
CN110599112A (en) Method and device for developing and maintaining network page
CN114528140A (en) Method and device for service degradation
CN112559001B (en) Method and device for updating application
CN112612628A (en) Information change notification method, device, equipment and storage medium
CN108810644B (en) Bullet screen message distribution method, device, equipment and storage medium
CN112463616A (en) Chaos testing method and device for Kubernetes container platform
CN112711602A (en) Running method and device of storage process, database system and storage medium

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