CN112783978A - Data transmission method, device, computer system and storage medium - Google Patents
Data transmission method, device, computer system and storage medium Download PDFInfo
- Publication number
- CN112783978A CN112783978A CN202110116058.2A CN202110116058A CN112783978A CN 112783978 A CN112783978 A CN 112783978A CN 202110116058 A CN202110116058 A CN 202110116058A CN 112783978 A CN112783978 A CN 112783978A
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- caller
- driver
- data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 226
- 230000005540 biological transmission Effects 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 160
- 238000012546 transfer Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 33
- 238000011161 development Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/544—Buffers; Shared memory; Pipes
Abstract
The present disclosure provides a data transmission method, apparatus, computer system, and storage medium. The data transmission method is applied to an application program manager and comprises the following steps: receiving a target application program query request from an application program caller; determining an application process where a target application program is located; and routing an interface call request for the target application program from the application program caller to the application process for data transfer based on the determined application process.
Description
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a data transmission method, an apparatus, a computer system, and a storage medium.
Background
In developing an Application (APP) based on, for example, the Android operating system (Android), a development model of the platform is gradually becoming a trend. The application platform can bear a plurality of program components according to factors such as functions, each component can independently complete the processes of running, installation, debugging, testing and the like, and realize corresponding functions. By combining the developed components, a new APP can be output. From this, the development mode of platformization can effectively improve APP development efficiency, avoids the repetitive work.
However, each component in the platform is an APP of an independent process, and data cannot be synchronized and shared in time among APPs in different processes.
Disclosure of Invention
The present disclosure provides a data transmission method, apparatus, computer system and storage medium, for implementing cross-process data transmission between application programs.
According to one aspect of the disclosure, a data transmission method is provided and applied to an application program manager. The method comprises the following steps: receiving a target application program query request from an application program caller; determining an application process where a target application program is located; and routing an interface call request for the target application program from the application program caller to the application process for data transfer based on the determined application process.
According to another aspect of the present disclosure, a data transmission apparatus is provided, which is applied to an application manager. The device comprises: a receiving unit configured to receive a target application query request from an application caller; the determining unit is configured to determine an application process where the target application program is located; and a processing unit configured to route an interface call request for the target application from the application caller to the application process for data transfer based on the determined application process.
According to yet another aspect of the present disclosure, there is provided a computer system including: a processor; and a memory, wherein computer instructions are stored in the memory, the processor executing the computer instructions to implement the steps of the data transmission method as described above.
According to yet another aspect of the present disclosure, there is also provided a computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the data transmission method as described above.
The data transmission method provided by the disclosure is suitable for data transmission among cross processes of the application program in a platform development mode, and data synchronization and sharing are realized.
Drawings
In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative efforts.
Fig. 1 shows a schematic flow diagram of a data transmission method according to an embodiment of the present disclosure;
FIG. 2 illustrates another flow diagram of a method according to an embodiment of the present disclosure;
FIG. 3 shows yet another flow diagram of a method according to an embodiment of the present disclosure;
FIG. 4A illustrates an interaction diagram according to an embodiment of the disclosure;
FIG. 4B shows another interaction diagram according to an embodiment of the present disclosure;
FIG. 5 shows a schematic block diagram of a data transmission apparatus according to an embodiment of the present disclosure;
FIG. 6 shows a schematic block diagram of a computer system according to an embodiment of the present disclosure;
FIG. 7 shows an architectural diagram of an exemplary computing device, according to an embodiment of the present disclosure;
FIG. 8 shows a schematic diagram of a computer-readable storage medium according to an embodiment of the disclosure.
Detailed Description
The technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. It is to be understood that the described embodiments are merely exemplary of some, and not all, of the present disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without any inventive step, are intended to be within the scope of the present disclosure.
The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. Likewise, the word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
Flow charts are used in this disclosure to illustrate steps of methods according to embodiments of the disclosure. It should be understood that the preceding and following steps are not necessarily performed in the exact order in which they are performed. Rather, various steps may be processed in reverse order or simultaneously. Also, other operations may be added to the processes.
In the traditional APP development process, each APP is developed independently, and there are problems of low compatibility, poor performance, and the like, and in the development process, the compiling time of such an APP developed independently is usually long. This makes APP development inefficient and there is an inevitable problem of repetitive work by programmers. Therefore, more and more enterprises are turning to a platform-based development mode, and components (which may also be referred to as program codes, functional modules, and the like) for implementing various functions are provided on a platform. For example, the components can be divided into a login component, a communication component, a log component, and the like. Through the flexible combination between the components, APP development can be completed quickly. In addition, the platform development mode can greatly improve the compatibility of APP.
As described above, each component in the platform is an APP of an independent process, and data cannot be synchronized and shared in time among APPs in different processes. In the existing solution, a fixed data simulation mode is usually adopted, however, when data changes in different processes, the data cannot be transmitted to other processes in time, that is, the data cannot be shared in real time among different processes. Therefore, it is necessary to provide a cross-process data communication mechanism to realize synchronous data transmission between different processes.
The present disclosure provides a data transmission method, which implements modularized cross-process data communication and sharing, ensures real-time synchronous sharing of data, does not need to simulate data for testing any more, and implements data transmission through interface calling.
For a platform development mode, there are an application provider (may be simply referred to as a provider), an application manager (may be simply referred to as a manager), and an application caller (may be simply referred to as a caller). The application provider, administrator, and caller may be located on different computing devices, or may be located on the same device, e.g., may be different program products within the same computer, to perform their respective functions. Correspondingly, there are an application provider process, an application manager process, and an application caller process, which may be the same process or separate processes. It is noted that the solution of the present application is used to address data transfer across processes, i.e. to apply to a situation where there are at least two processes. Further, hereinafter, the application provider, the application manager, and the application caller may also be simply referred to as the provider, the manager, and the caller, respectively.
Specifically, fig. 1 shows a schematic flow chart of a data transmission method according to an embodiment of the present disclosure. Hereinafter, a data transmission method according to an embodiment of the present disclosure will be described in detail with reference to the accompanying drawings.
The execution subject of the data transmission method shown in fig. 1 corresponds to an application program manager, and the manager may correspond to an application program development platform, and is configured to implement management, maintenance, and the like of each component.
First, in step S101, a target application query request from an application caller is received. For example, the caller may correspond to an APP developer, developing an APP combination by looking up the required components from the manager. By way of example, the target application may be a login component for performing functions such as account login and obtaining login information. Further, if the administrator finds the corresponding target application, the caller may be notified, for example, by a response message. The caller may create a proxy object for this target application in its own process for interface calls.
Next, in step S102, the application process in which the target application program is located is determined. The application manager may determine the process in which the target application is currently located. For example, as described above, there are two cases where the target application may be located in a process in which the administrator is located, or may also be located in a process in which the provider of the target application is located.
In step S103, based on the determined application process, an interface call request for the target application from the application caller is routed to the application process for data transfer. When a call needs to be made to a target application program, for example, to access its code and implement operations such as corresponding functions and data processing, the caller may send an interface call request to the manager. After receiving the interface call request, the administrator may route the request to the process in which the target application program is currently located based on the determined application process, so that the caller realizes the platform call to the target application program.
Fig. 2 shows another flowchart of a method according to an embodiment of the present disclosure, and according to some embodiments of the present disclosure, determining an application process in which the target application program is located (i.e., step S102) may specifically include step S1021: and determining that the application process of the target application program is a management process of an application program manager or a service process of an application program provider.
Next, as shown in fig. 2, in the case where the management side determines that the application process is the management process where the application program management side is located, the process proceeds to step S1031, in which an interface call request for the target application program from the application program caller is routed to the management process for data transmission. According to an embodiment of the present disclosure, the method may further include: and carrying out interface calling in the management process, and transmitting the processing data of the target application program to the application program calling party.
In this case, the target application program that the caller desires to call and the process located in the manager, so that after the manager receives the interface call request, the manager can directly interface and call the target application program in its own process, so that the target application program implements a corresponding process, for example, a login process, and acquires data related to the login. The data output by the target application may then be transferred to the application caller. Through the steps, cross-process data transmission between the calling party and the management party can be realized.
As shown in fig. 2, in the case where the administrator determines that the application process is the service process in which the application provider is located, the process proceeds to step S1032, i.e., the driver of the service process is searched, and the interface call request for the target application from the application caller is routed to the driver. According to an embodiment of the present disclosure, the method may further include: and carrying out interface calling in the service process through a driver, and transmitting the processing data of the target application program to the application program caller. When a provider issues a new application to an administrator, the provider needs to register a driver with the administrator for interface call. The registration and release process for the drive will be described in detail below.
In this case, after the administrator determines that the target application is located in the service process in which the provider is located, the caller may query the administrator for the driver of the service process in which the provider is located. The administrator can search the driver, send the driver to the caller, and then route all the interface calling requests initiated by the caller to the driver, i.e. the service process where the service provider is located, and search and call the interface in the service process by the driver, and then return the interface to the caller. Through the steps, cross-process data transmission between the application program caller and the application program provider can be realized.
According to some embodiments of the disclosure, with respect to the driver, the method further comprises: receiving a registration request from a driver of an application provider; and assigning a drive identification to the drive based on the random number and the timestamp. For example, the administrator may route the interface call request to the driver via the driver identification.
When a new application program is started, a provider needs to perform a driver registration process with a manager, and a driver is used for realizing data communication between processes. That is, the provider needs to issue a unique drive to the administrator, for example, assign a drive identification based on a random number and a time stamp, to ensure the uniqueness of the drive.
As an example of generating the driver identifier, a unique name may be set for the driver as the driver identifier during the driver registration process. For example, at the time of registration, a format of (random number + time stamp) is adopted as the drive identification, wherein the random number may be a number within 10 randomly allocated for the current registration process, for example, and the time stamp may be a time point of requesting registration. In addition, the generated driver needs to be assigned an application name as a function description for lookup. The application name may be a name assigned by the provider for the current application, for example, a name may be determined based on application functionality, such as a login application, and the like. The uniqueness of the driver identification can be ensured by the combined naming mode of the random number, the timestamp and the application program name. The generated driver identification may be used in a driver query process to provide external invocation services.
The principle of generating the drive identifier by combining the system time stamp and the random number as described above is as follows: the computer programming language may provide a method of acquiring a current timestamp of the system and a random function generating a random number, acquire the current timestamp of the system using the method of acquiring the current timestamp of the system provided by the computer programming language, and generate a random number of several bits, such as 4-8 bits (bits), using the random function generating the random number provided by the computer programming language. Then, the acquired time stamp is set at the high order and the generated random number is set at the low order, which are combined to form an identifier. Here, the system current timestamp acquired by the method for acquiring a system current timestamp provided in the computer programming language is generally the number of seconds elapsed from a certain time starting point to a certain present time, and generally includes 4 bytes, that is, 32 bits, and the byte used to represent the timestamp can be referred to as a timestamp byte. If a random number, such as 8 bits, is added thereafter, this results in an excessively long number of bits for generating the ID. In addition, repetition may occur due to the random numbers generated using the random function. In the case where multiple identifiers need to be generated every second (i.e., the timestamps are the same), duplication of the generated identifiers may occur. Thus, it is necessary to confirm whether the random numbers generated by the random number algorithm at the same time stamp are the same to ensure the uniqueness of the identifier.
Thus, in some embodiments according to the present disclosure, the number of bits of the random number may be determined based on the number of timestamp bytes, and the generated random number may be inserted into the timestamp bytes according to a predetermined rule, for example, in the case that the timestamp bytes are 4, a 4-bit random number may be generated using a random number algorithm and then sequentially inserted into the generated 4 timestamp bytes, for example, random number 1+ timestamp byte 1+ random number 2+ timestamp byte 2+ random number 3+ timestamp byte 3+ random number 4+ timestamp byte 4, that is, the generated identifier includes 32+4 ═ 36 bits in total. In this way, identifier duplication can be effectively avoided, and uniqueness of the drive identifier is guaranteed.
Furthermore, in order to avoid the overlong number of bits of the generated identifier, the number of bits of the indicator can be set between 8-16 bits, and the identifier with the length can not only ensure the uniqueness of the identifier, but also avoid data redundancy caused by the overlong number of bits. Such as may be determined to be 10 bits, in which case a random number algorithm may again be applied to the identifier generated based on the insertion of the random number into the timestamp byte as described above to randomly determine 10 bits thereof as the drive identifier.
As another example of generating a drive identification, in addition to generating a drive identifier based on a random number + timestamp, the identifier may be generated based on an application name. For example, an application name may be converted to a Word vector by a Word embedding vector (Word embedding) algorithm (such as "Word 2 Vec" and "Glove," etc.), and then a set of numbers is generated as part of the drive identifier based on the generated Word vector.
Further, after registering the driver, the provider may implement the application publishing process. The publishing process includes the provider publishing the application instance to a process in which the provider is located and the application description to a process in which the administrator is located. For example, the application description may be used to find the target application.
In the case that the application process is determined to be the service process of the provider, the manager can route the interface calling request of the caller to the driver through the driver identification, and realize the data transmission between the processes through the driver.
Fig. 3 shows a further flowchart of a method according to an embodiment of the present disclosure, and as shown in fig. 3, the data transmission method according to the present disclosure may further include step S104: and receiving the updating data from the application program caller, and updating the data of the application process based on the updating data.
For example, after the process of the caller receives the data returned by other processes, the data can be sent to the manager as update data to update the data of the called target application program. Through step S104, synchronous update of data between different processes can be realized, so that data for the same application program is kept consistent, that is, real-time update of data is realized.
Fig. 4A and 4B illustrate interaction diagrams according to an embodiment of the disclosure, which are used to describe a processing flow of a caller, a manager, and a provider in a cross-process data transmission process according to an embodiment of the disclosure.
As shown in fig. 4A, first, the provider needs to register a driver with the administrator after developing a new platform application, and the administrator assigns a unique driver identifier to the component, e.g., based on a timestamp and a random number. In addition, upon receiving the identifier, the provider may also publish the application in its own service process and a description of the application to the administrator.
Then, after receiving the target application query request of the caller, the administrator may perform a lookup based on the description in the query request, for example. As an example, the description may be a name of the application program requiring lookup, for example, the name of the application program requiring lookup is a login application program, and based on the name, the management party may perform lookup in a stored application program management list.
If the manager finds the corresponding target application program, the manager indicates that the component corresponding to the target application program already exists in the current platform and can be used by the caller. Then, after receiving the query response of the manager, the caller may create a proxy object of the target application and cache the proxy object in the process where the caller is located, so as to implement interface call.
In the case where the target application needs to be invoked, the caller may first ask the administrator for the location of the application process and determine by the administrator whether the target application is located in a management process or a service process. Fig. 4A shows a scenario in which an application is in a management process. Therefore, after receiving the interface calling request of the calling party, the management party routes the interface calling request to the management process so as to realize the calling of the application program, and returns the processing data or the interface to the calling party for the calling party to use. In addition, as shown in fig. 4A, after receiving data of other processes, the caller may also send update data to the manager for implementing data synchronization.
As another example, FIG. 4B illustrates a scenario in which an application is in a service process. It is to be noted that steps S201 to S209 shown in fig. 4B are similar to those in fig. 4A, and the description will not be repeated here. For the scenario shown in fig. 4B, after receiving the interface call request, the administrator directly routes the request to the service process where the provider is located, so as to implement the application program interface call. After the corresponding processing is performed, the service process can send the processing data to the caller through the manager. In addition, similarly, after receiving the data of other processes, the caller can also send the update data to the provider through the manager for realizing data synchronization.
Specifically, in the case where it is determined that the application process is a service process in which the application provider is located, the call may be made based on the driver identifier at the time of application registration. First, a driver identifier (such as the format of random number + timestamp + application name described above) uniquely corresponding to the application may be found based on the name of the application, interface call requests for the application from application callers may each be routed to the driver based on the driver identifier, and the interface call in the service process is completed by the driver and the processing data of the target application is transmitted to the application caller.
According to some embodiments of the present disclosure, the data transmission method may further include: in the system framework, one or more components associated with a service are arranged into separate component units and are integrated to form a service component platform. During compilation, the components in the business component platform remain relatively independent from the framework, such as the Android system. Having independent business functions for each component included in the business component platform, for example: a service application layer, a service API interface layer, a service adaptation layer, a service support layer, etc. In some examples, a well-built business component platform may be continuously expanded according to a change in product requirements, and components in the business component platform may be correspondingly combined according to the product design requirements to form an application program that meets the product design requirements. Furthermore, the components in the service component platform and the Android compiling system can be integrated and compiled in a linking mode, development independence of the components is kept, flexible integration of the components and different system platforms can be achieved, and the requirements of multi-platform development are met. The step is beneficial to realizing the platform development of core service components (such as components related to services), and the convenience of carrying out customized development of the application program in multiple platforms and different systems is improved.
Therefore, by using the data transmission method provided by the disclosure, cross-process data communication in the development process of the platform program can be realized, synchronous data transmission and updating are realized through interface calling, and the problem of data asynchronism caused by adopting a fixed analog data mechanism is avoided. By using the data transmission method provided by the embodiment of the disclosure, a cross-process communication mechanism with higher compatibility can be provided based on an Android (Android) system bottom framework, so that data calling between cross processes is simplified, Android Interface Description Language (AIDL), an Android SERVICE component and an Android MESSAGE component are not required, and Interface calling can be realized only by defining any Interface by an application program provider. The method can greatly simplify cross-process interface calling and is beneficial to the platform development trend of the application program.
According to another aspect of the present disclosure, a data transmission apparatus is further provided, which is used for implementing cross-process data transmission processing between applications. In particular, fig. 5 shows a schematic block diagram of a data transmission device according to an embodiment of the present disclosure.
As shown in fig. 5, the apparatus 1000 may include a receiving unit 1010, a determining unit 1020, and a processing unit 1030. According to some embodiments of the present disclosure, the receiving unit 1010 may be configured to receive a target application query request from an application caller. The determining unit 1020 may be configured to determine an application process in which the target application program is located. The processing unit 1030 may be configured to route an interface call request for a target application from an application caller to an application process for data transfer based on the determined application process.
According to some embodiments of the present disclosure, the determining unit 1020 may be further configured to: and determining that the application process of the target application program is a management process of an application program manager or a service process of an application program provider. For example, there may be three cases where the process of the target application is located, that is, a calling process located at a caller, a management process located at a manager, or a service process located at a provider. As described above, for the case where the target application is located in the calling process where the caller is located, that is, the called application and the caller belong to the same process, since there is no inter-process data transmission processing in this case, it is not within the scope of application of the method provided by the present disclosure. Therefore, according to the embodiment of the present disclosure, the determining unit 1020 may be configured to determine whether the application process is located in the management process or the service process, and implement subsequent data transmission based on a result of the determination.
According to some embodiments of the disclosure, the processing unit 1030 may be further configured to: under the condition that the application process is determined to be the management process of the application program manager, routing an interface calling request for the target application program from the application program calling party to the management process; and carrying out interface calling in the management process, and transmitting the processing data of the target application program to the application program calling party.
According to some embodiments of the disclosure, the processing unit 1030 may be further configured to: under the condition that the application process is determined to be the service process where the application provider is located, searching a driver of the service process, and routing an interface calling request for the target application program from the application calling party to the driver; and carrying out interface calling in the service process through the driver, and transmitting the processing data of the target application program to the application program caller.
As shown in fig. 5, the apparatus 1000 according to the embodiment of the present disclosure may further include a registration unit 1040. The registration unit 1040 is used to implement a registration operation of a process driver. Specifically, the registration unit 1040 may be configured to: receiving a registration request from a driver of an application provider; and assigning a drive identification to the drive based on the random number and the timestamp. According to some embodiments of the disclosure, the processing unit 1030 may be further configured to: the interface call request is routed to the driver via the driver identification.
For a new process, at the time of starting, a driver registration step needs to be carried out with a manager, and the driver is used for realizing data communication between the processes. In addition, since the drive identification is assigned based on a random number and a time stamp, the uniqueness of the drive can be ensured. When the application process is determined to be the service process of the application provider, the application manager can route the interface calling request of the caller to the driver through the driver identification, and realize the data transmission between the processes through the driver.
As shown in fig. 5, the apparatus 1000 according to the embodiment of the present disclosure may further include an updating unit 1050, configured to implement data synchronization and update between processes. The update unit 1050 may be configured to: and receiving the updating data from the application program caller, and updating the data of the application process based on the updating data. By using the updating unit 1050, synchronous updating of data between different processes can be realized, so that data for the same application program is kept consistent, i.e., real-time updating of data is realized.
By way of example, the various units shown in fig. 5 may be embodied as a computing device having a processor, memory, or the like, such as a Central Processing Unit (CPU), Graphics Processing Unit (GPU), or the like. Additionally, apparatus 1000 may be implemented as other devices capable of performing functions such as application development.
With regard to the specific steps performed by the apparatus 1000, reference may be made to the data transmission method provided by the present disclosure described above in conjunction with the drawings, and similar technical effects to those of the above-described method may be achieved, and a description thereof will not be repeated.
According to yet another aspect of the present disclosure, a computer system is also provided. FIG. 6 shows a schematic block diagram of a computer system according to an embodiment of the present disclosure.
As shown in fig. 6, the computer system 2000 may include a processor 2010 and a memory 2020. Computer instructions (such as programs, code, etc.) are stored in the memory 2020, according to an embodiment of the present disclosure. Processor 2010 executes computer instructions to execute the steps of the data transmission method described above, thereby implementing data transmission and synchronization across application programs.
In particular, processor 2010 may perform various actions and processes in accordance with program instructions stored in memory 2020. For example, processor 2010 may be an integrated circuit chip having signal processing capabilities. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. Various methods, steps and logic blocks disclosed in embodiments of the invention may be implemented or performed. The general purpose processor may be a microprocessor or the processor may be any conventional processor or the like, which may be the X86 architecture or the ARM architecture or the like.
The memory 2020 stores computer-executable instruction code that, when executed by the processor 2010, may implement a data transmission method according to an embodiment of the disclosure. The memory 2020 may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example and not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synchronous Link Dynamic Random Access Memory (SLDRAM), and direct memory bus random access memory (DR RAM). It should be noted that the memories of the methods described herein are intended to comprise, without being limited to, these and any other suitable types of memory.
According to other embodiments of the present disclosure, the computer system may further comprise a display (not shown) to enable visualization, for example, for a computer operator. For example, running information, data processing, and the like in implementing the above method may be displayed on a display, or computer instruction codes may also be displayed, without limitation. In addition, the computer system may further include necessary components such as an interactive interface, an input device and the like for realizing information interaction between the computer and an operator and other devices, for example, the operator may modify computer instructions and the like through the input device.
As an example implementation, the data transmission apparatus 1000 or the computer system 2000 according to the present disclosure may be implemented as a computing device as shown in fig. 7.
FIG. 7 shows an architectural diagram of an exemplary computing device, according to an embodiment of the present disclosure. Computing device 3000 may include a bus 3010, one or more CPUs 3020, Read Only Memory (ROM)3030, Random Access Memory (RAM)3040, a communication port 3050 to connect to a network, input/output components 3060, a hard disk 3070, and the like. A storage device in the computing device 3000, such as the ROM 3030 or the hard disk 3070, may store various data or files involved in the processing and/or communication of the data transmission method provided by the present disclosure, as well as program instructions executed by the CPU. Computing device 3000 can also include user interface 3080. Of course, the architecture shown in fig. 7 is only illustrative, and when different devices are implemented, one or more components in the computing device shown in fig. 7 may be omitted or required components may be added to the computing device shown in fig. 7 according to actual needs, and the present invention is not limited thereto.
According to yet another aspect of the present disclosure, there is also provided a computer-readable storage medium. FIG. 8 shows a schematic diagram of a computer-readable storage medium according to an embodiment of the disclosure.
As shown in fig. 8, computer-readable storage medium 4000 has stored thereon computer instructions 4010. The computer instructions 4010, when executed by a processor, can perform the data transfer method described with reference to the above figures. The computer-readable storage medium 4000 includes, but is not limited to, volatile memory and/or nonvolatile memory. Volatile memory can include, for example, Random Access Memory (RAM), cache memory (or the like). The non-volatile memory may include, for example, Read Only Memory (ROM), a hard disk, flash memory, and the like. For example, the computer-readable storage medium 4000 may be connected to a computing device such as a computer (e.g., as shown in fig. 7). Next, the data transmission method provided by the present disclosure may be performed with the computing device executing the computer instructions 4010 stored on the computer-readable storage medium 4000.
Those skilled in the art will appreciate that the disclosure of the present disclosure is susceptible to numerous variations and modifications. For example, the various devices or components described above may be implemented in hardware, or may be implemented in software, firmware, or a combination of some or all of the three.
Further, while the present disclosure makes various references to certain elements of a system according to embodiments of the present disclosure, any number of different elements may be used and run on a client and/or server. The units are merely illustrative and different aspects of the systems and methods may use different units.
It will be understood by those skilled in the art that all or part of the steps of the above methods may be implemented by a program instructing relevant hardware, and the program may be stored in a computer readable storage medium, such as a read only memory, a magnetic or optical disk, and the like. Alternatively, all or part of the steps of the above embodiments may be implemented using one or more integrated circuits. Accordingly, each module/unit in the above embodiments may be implemented in the form of hardware, and may also be implemented in the form of a software functional module. The present disclosure is not limited to any specific form of combination of hardware and software.
Unless otherwise defined, all terms (including go terms, technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The foregoing is illustrative of the present disclosure and is not to be construed as limiting thereof. Although a few exemplary embodiments of this disclosure have been described, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this disclosure. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the claims. It is to be understood that the foregoing is illustrative of the present disclosure and is not to be construed as limited to the specific embodiments disclosed, and that modifications to the disclosed embodiments, as well as other embodiments, are intended to be included within the scope of the appended claims. The present disclosure is defined by the claims and their equivalents.
Claims (18)
1. A data transmission method is applied to an application program manager and comprises the following steps:
receiving a target application program query request from an application program caller;
determining an application process where the target application program is located; and
based on the determined application process, an interface call request for the target application from the application caller is routed to the application process for data transfer.
2. The method of claim 1, wherein the determining the application process in which the target application is located comprises:
and determining that the application process of the target application program is a management process of the application program manager or a service process of the application program provider.
3. The method of claim 2, wherein said routing an interface call request for the target application from the application caller to the application process comprises:
and under the condition that the application process is determined to be the management process of the application program manager, routing an interface calling request for the target application program from the application program caller to the management process.
4. The method of claim 3, further comprising:
and carrying out interface calling in the management process, and transmitting the processing data of the target application program to the application program caller.
5. The method of claim 2, wherein said routing an interface call request for the target application from the application caller to the application process comprises:
and in the case that the application process is determined to be the service process of the application provider, searching a driver of the service process, and routing an interface calling request for the target application from the application caller to the driver.
6. The method of claim 5, further comprising:
and carrying out interface calling in the service process through the driver, and transmitting the processing data of the target application program to the application program caller.
7. The method of claim 6, further comprising:
receiving a registration request from a driver of the application provider; and
assigning a drive identification to the drive based on a random number and a timestamp, wherein,
said routing an interface call request for the target application from the application caller to the driver comprises:
routing the interface call request to the driver via the driver identification.
8. The method of claim 1, further comprising:
and receiving the updating data from the application program caller, and updating the data of the application process based on the updating data.
9. A data transmission device applied to an application program manager comprises:
a receiving unit configured to receive a target application query request from an application caller;
the determining unit is configured to determine an application process where the target application program is located; and
a processing unit configured to route an interface call request for the target application from the application caller to the application process for data transfer based on the determined application process.
10. The apparatus of claim 9, wherein the determining unit is further configured to:
and determining that the application process of the target application program is a management process of the application program manager or a service process of the application program provider.
11. The apparatus of claim 10, wherein the processing unit is further configured to:
and under the condition that the application process is determined to be the management process of the application program manager, routing an interface calling request for the target application program from the application program caller to the management process.
12. The apparatus of claim 11, wherein the processing unit is further configured to:
and carrying out interface calling in the management process, and transmitting the processing data of the target application program to the application program caller.
13. The apparatus of claim 10, wherein the processing unit is further configured to: and in the case that the application process is determined to be the service process of the application provider, searching a driver of the service process, and routing an interface calling request for the target application from the application caller to the driver.
14. The apparatus of claim 13, wherein the processing unit is further configured to:
and carrying out interface calling in the service process through the driver, and transmitting the processing data of the target application program to the application program caller.
15. The apparatus of claim 14, further comprising a registration unit configured to:
receiving a registration request from a driver of the application provider; and
assigning a drive identification to the drive based on the random number and the timestamp,
wherein the processing unit is further configured to:
routing the interface call request to the driver via the driver identification.
16. The apparatus of claim 9, further comprising an update unit configured to:
and receiving the updating data from the application program caller, and updating the data of the application process based on the updating data.
17. A computer system, comprising:
a processor; and
memory, wherein computer instructions are stored in the memory, which computer instructions are executed by the processor to implement the steps of the method according to any of claims 1-8.
18. A computer readable storage medium having stored thereon computer instructions which, when executed by a processor, carry out the steps of the method according to any one of claims 1-8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110116058.2A CN112783978A (en) | 2021-01-28 | 2021-01-28 | Data transmission method, device, computer system and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110116058.2A CN112783978A (en) | 2021-01-28 | 2021-01-28 | Data transmission method, device, computer system and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783978A true CN112783978A (en) | 2021-05-11 |
Family
ID=75759229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110116058.2A Pending CN112783978A (en) | 2021-01-28 | 2021-01-28 | Data transmission method, device, computer system and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783978A (en) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349342B1 (en) * | 1995-03-22 | 2002-02-19 | Sun Microsystems, Inc. | Methods and apparatus for managing computer processes |
CN104360863A (en) * | 2014-11-26 | 2015-02-18 | 陈亮 | Graphical software development platform |
US20170060650A1 (en) * | 2015-08-28 | 2017-03-02 | Ncr Corporation | Dynamic service extensibility |
CN108156268A (en) * | 2016-12-05 | 2018-06-12 | 腾讯科技(深圳)有限公司 | Acquisition methods and server, the terminal device of device identification |
CN108958949A (en) * | 2018-05-23 | 2018-12-07 | 平安科技(深圳)有限公司 | The call method and system of application program |
CN109189584A (en) * | 2018-07-05 | 2019-01-11 | 北京三快在线科技有限公司 | Communication means, device, electronic equipment and storage medium between application program |
KR101927721B1 (en) * | 2017-07-14 | 2019-02-27 | 한국과학기술원 | Method for cross-device functionality sharing |
CN109491725A (en) * | 2018-11-12 | 2019-03-19 | 火烈鸟网络(广州)股份有限公司 | Application program can interact more extractions of root and system, storage medium, electronic equipment |
CN110377438A (en) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | The method for routing of striding course communication interface, device and system |
CN110659131A (en) * | 2019-08-15 | 2020-01-07 | 中国平安人寿保险股份有限公司 | Task processing method, electronic device, computer device, and storage medium |
CN110688232A (en) * | 2018-07-05 | 2020-01-14 | 珠海市魅族科技有限公司 | Application program calling method, terminal device and computer readable storage medium |
CN110995801A (en) * | 2019-11-22 | 2020-04-10 | 广州荔支网络技术有限公司 | Service calling method and device |
CN111045833A (en) * | 2018-10-15 | 2020-04-21 | 北京京东尚科信息技术有限公司 | Interface calling method and device |
US20200159591A1 (en) * | 2018-11-16 | 2020-05-21 | International Business Machines Corporation | Application program interface based service lookup in a service architecture |
CN111443961A (en) * | 2020-03-24 | 2020-07-24 | 广州华多网络科技有限公司 | Terminal equipment and cross-process communication method thereof |
WO2020181599A1 (en) * | 2019-03-08 | 2020-09-17 | 网宿科技股份有限公司 | Model application method and system, and model management method and server |
CN112084247A (en) * | 2020-09-10 | 2020-12-15 | 工银科技有限公司 | Method and device for extending application program service |
-
2021
- 2021-01-28 CN CN202110116058.2A patent/CN112783978A/en active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349342B1 (en) * | 1995-03-22 | 2002-02-19 | Sun Microsystems, Inc. | Methods and apparatus for managing computer processes |
CN104360863A (en) * | 2014-11-26 | 2015-02-18 | 陈亮 | Graphical software development platform |
US20170060650A1 (en) * | 2015-08-28 | 2017-03-02 | Ncr Corporation | Dynamic service extensibility |
CN108156268A (en) * | 2016-12-05 | 2018-06-12 | 腾讯科技(深圳)有限公司 | Acquisition methods and server, the terminal device of device identification |
KR101927721B1 (en) * | 2017-07-14 | 2019-02-27 | 한국과학기술원 | Method for cross-device functionality sharing |
CN108958949A (en) * | 2018-05-23 | 2018-12-07 | 平安科技(深圳)有限公司 | The call method and system of application program |
CN110688232A (en) * | 2018-07-05 | 2020-01-14 | 珠海市魅族科技有限公司 | Application program calling method, terminal device and computer readable storage medium |
CN109189584A (en) * | 2018-07-05 | 2019-01-11 | 北京三快在线科技有限公司 | Communication means, device, electronic equipment and storage medium between application program |
CN111045833A (en) * | 2018-10-15 | 2020-04-21 | 北京京东尚科信息技术有限公司 | Interface calling method and device |
CN109491725A (en) * | 2018-11-12 | 2019-03-19 | 火烈鸟网络(广州)股份有限公司 | Application program can interact more extractions of root and system, storage medium, electronic equipment |
US20200159591A1 (en) * | 2018-11-16 | 2020-05-21 | International Business Machines Corporation | Application program interface based service lookup in a service architecture |
WO2020181599A1 (en) * | 2019-03-08 | 2020-09-17 | 网宿科技股份有限公司 | Model application method and system, and model management method and server |
CN110377438A (en) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | The method for routing of striding course communication interface, device and system |
CN110659131A (en) * | 2019-08-15 | 2020-01-07 | 中国平安人寿保险股份有限公司 | Task processing method, electronic device, computer device, and storage medium |
CN110995801A (en) * | 2019-11-22 | 2020-04-10 | 广州荔支网络技术有限公司 | Service calling method and device |
CN111443961A (en) * | 2020-03-24 | 2020-07-24 | 广州华多网络科技有限公司 | Terminal equipment and cross-process communication method thereof |
CN112084247A (en) * | 2020-09-10 | 2020-12-15 | 工银科技有限公司 | Method and device for extending application program service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112513816B (en) | Function As A Service (FAAS) execution dispatcher | |
US10929149B2 (en) | Method and system for updating firmware | |
US10783015B2 (en) | Apparatus and method for providing long-term function execution in serverless environment | |
US10728169B1 (en) | Instance upgrade migration | |
CN108073423B (en) | Accelerator loading method and system and accelerator loading device | |
US10810025B2 (en) | Operation control method, and apparatus for operation control, and non-transitory computer-readable storage medium for storing program | |
WO2019056187A1 (en) | Application deployment method, apparatus and system | |
CN115858103B (en) | Method, device and medium for virtual machine hot migration of open stack architecture | |
US20180203726A1 (en) | Virtual machine migration method and apparatus | |
JP2021535461A (en) | Client application for running web applications | |
CN108062239B (en) | Accelerator loading method and system and accelerator loading device | |
CN113448650A (en) | Live broadcast function plug-in loading method, device, equipment and storage medium | |
US11494184B1 (en) | Creation of transportability container files for serverless applications | |
CN109656674B (en) | Computer equipment, virtualization chip and data transmission method | |
CN112783978A (en) | Data transmission method, device, computer system and storage medium | |
CN111581578B (en) | Interface request processing method and device | |
CN116685946A (en) | Reloading of updated shared libraries without stopping execution of an application | |
CN110704295B (en) | Data calling method, device, equipment and system | |
CN113868218A (en) | Data processing method and device, electronic equipment and computer readable storage medium | |
CN107220101B (en) | Container creation method and device | |
CN112929195A (en) | Service system, method executed by service system, processing apparatus, and storage medium | |
JP7106778B1 (en) | BLOCKCHAIN SYSTEM EXECUTION METHOD, APPARATUS, DEVICE, AND STORAGE MEDIUM | |
CN111475226B (en) | Electronic device, micro-service calling method, and computer-readable storage medium | |
US20230401273A1 (en) | Method, server, and system for image deployment | |
CN117435201A (en) | Distributed service generation method, system, computing device 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 |