CN112783978A - Data transmission method, device, computer system and storage medium - Google Patents

Data transmission method, device, computer system and storage medium Download PDF

Info

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
Application number
CN202110116058.2A
Other languages
Chinese (zh)
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.)
Beijing Dongfang Youbo Network Technology Co ltd
Original Assignee
Beijing Dongfang Youbo Network Technology 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 Beijing Dongfang Youbo Network Technology Co ltd filed Critical Beijing Dongfang Youbo Network Technology Co ltd
Priority to CN202110116058.2A priority Critical patent/CN112783978A/en
Publication of CN112783978A publication Critical patent/CN112783978A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; 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

Data transmission method, device, computer system and storage medium
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.
CN202110116058.2A 2021-01-28 2021-01-28 Data transmission method, device, computer system and storage medium Pending CN112783978A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (17)

* Cited by examiner, † Cited by third party
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