CN112256453A - Communication method between arbitrary software processes - Google Patents
Communication method between arbitrary software processes Download PDFInfo
- Publication number
- CN112256453A CN112256453A CN202011170462.XA CN202011170462A CN112256453A CN 112256453 A CN112256453 A CN 112256453A CN 202011170462 A CN202011170462 A CN 202011170462A CN 112256453 A CN112256453 A CN 112256453A
- Authority
- CN
- China
- Prior art keywords
- software
- communication
- software process
- function
- receiver
- 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
- 230000008569 process Effects 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 25
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/541—Interprogram communication via adapters, e.g. between incompatible applications
Abstract
The invention discloses a communication method between any software processes, which comprises the steps that a communication initiator software process determines the attribute which the software process at the other end should have; determining an address of a communication receiver software process; installing a network daemon process for communication and query among software processes on a computer where the software processes of a communication receiver are located; inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located; determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; inquiring the software process information of the communication receiver after starting; and establishing communication network connection according to the inquired communication information and the communication receiver software process. The invention can realize communication among strange software; communication can be realized by strange software in the network, namely the strange software can work cooperatively.
Description
Technical Field
The invention relates to the technical field of communication, in particular to a communication method between any software processes.
Background
The existing methods for communication between computer software processes are various: shared memory, networks, signals, message queues, pipes, etc. These methods of communication between software processes all have their own drawbacks. The memory sharing can be realized only on the same computer; signals can only be communicated on the same computer, and the communication data volume is very small; in the existing network communication, both software can be realized only through special customized programming; message queues and pipes also have their own disadvantages. In addition, the communication methods have a common defect that communication between two communication parties can be realized only through special programming, and communication between strange software processes cannot be realized.
Disclosure of Invention
In order to solve the technical problem, the invention aims to provide a communication method between arbitrary software processes.
The purpose of the invention is realized by the following technical scheme:
a method of communication between arbitrary software processes, comprising
A, determining the attribute which the software process at the other end should have through the communication initiator software process;
b, determining the address of the software process of the communication receiver;
c, a network daemon process for communication and query among software processes is installed in advance on a computer where the software processes of a communication receiver are located;
d, inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located;
e, determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; then inquiring the software process information of the started communication receiver;
and F, establishing communication network connection according to the inquired communication information and the communication receiver software process.
One or more embodiments of the present invention may have the following advantages over the prior art:
communication between strange software can be realized; communication can be realized by strange software in the network, which means that the strange software can work cooperatively; if a large amount of software which can be remotely used exists in the network, the function of purchasing the software according to the requirement can be realized; the cooperative work among the network software is realized, and the problem of low efficiency caused by the fact that various software fight respectively and data cannot be shared in the past can be solved.
Drawings
FIG. 1 is a flow chart of a method of communication between arbitrary software processes.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings.
As shown in fig. 1, a flow of a communication method between arbitrary software processes includes:
the attributes comprise a function list, a remote function use method, a software type, a software name and a version number. At least one of a kind of software, or a name of the software, or a function of the software is determined. The determination method has various methods and is realized by a software developer according to the actual situation. Such as set in a configuration file, programmatically determined, present in a database, determined in a command line, entered in a GUI interface.
The communication initiator software process is hereinafter referred to as: a source software process;
the communication receiver software process is hereinafter referred to as: a destination software process;
the communication initiator software is hereinafter referred to as: source software;
the communication receiver software is hereinafter referred to as: and (4) destination software.
the destination software process address is a domain name, host name, or IP address. The method of determination is various. Such as obtained from a service in the network (internet or local area network), set in a configuration file, determined with a code, present in a database, given in a command line, given in a GUI interface.
the network daemon process for software process communication and query is hereinafter referred to as: a communication information waiting process; the port number of a local network used for waiting all communication information waiting processes is specifically specified in the communication protocol between software processes.
The communication information waiting process is used for inquiring a list of communication information of the local software process. The inquired information at least comprises the following information: the machine can realize a software list of communication among any software processes, a function list of each software, a method for using each function from a far end, a condition required by using each function from the far end, a right required by using each function from the far end, a method for authenticating identities of both sides, data required in the using process of each function, output data in the using process of each function, a software type, a software name, a software version number, a version number of a software inter-process communication protocol followed by the software, whether the software is currently operated, a network waiting port number of the currently operated process of the software, whether the software can be started according to a far end requirement through communication information waiting processes and software processes, and a method for starting the software from the far end.
firstly, a network connection is initiated to a computer where a destination software process address is located (the port number is specified in the software interprocess communication protocol), and then the software process communication information is inquired by using the software type, the software name, the function and the like determined in the step (I).
The first established communication network connection is referred to below as: a primary communication network connection;
the primary communication network connection is where the destination software process receives requests from the source software process as a server side. Whenever a source software process sends a request to a destination software process, the main communication network connection is gone. The destination software process will constantly focus on requests sent from the main communication network connection and perform corresponding actions.
The communication method further includes: determining whether the identities of the source software process and the destination software process need to be verified and a method for verifying the identities according to the inquired communication information of the communication receiver software process; the version number of a software interprocess communication protocol followed by the communication initiator software process and the communication receiver software process; negotiating communication encryption items in the main communication network connection; if encryption is required, the data transmitted in the communication network connection is encrypted according to the negotiation result; the source software process establishes another network connection (or a communication information waiting process) according to the inquired communication information and the target software process; the network connection established this time is referred to hereinafter as: a secondary communication network connection. The secondary communication network connection is where the source software process receives a request from the destination software process at the server side and performs a corresponding action. The peer-to-peer communication mechanism is established between two software processes through the primary communication network connection and the secondary communication network connection, and has the advantages that: the strange software can also realize the random data transmission.
And negotiating the communication fields of both the source software process and the destination software process, such as the field of negotiating both the text editing software and the website browser software, wherein one party is text editing and the other party is webpage display. This step begins by determining whether the destination software process is the destination software that the source software process is seeking. The expression of a domain may be a complex, for example WPS may display its own domain as follows: and editing words | wps | word | office software | office words, negotiating communication field vocabularies of both a source software process and a destination software process, wherein the vocabulary of the field to be communicated is a vocabulary which can be used when the other party requests data in two directions next. The vocabularies calibrate target data to be processed more accurately and completely in software. Just as the components in HTML can be scaled with js (javascript). Each part or most parts of the target data to be processed can be referred by the vocabularies; and inquiring each other about the function list of the other party, wherein each piece of software has a function list which is an action that the remote software can make the software. The software is different and the function of each software is also different. Such as browser software, may open a URL; data can be searched in a URL webpage; the remote end may retrieve data from the browser software for a portion of the URL page. If the source software process has obtained sufficient information to perform a function in step 40, this step may also be omitted, and the two parties are directly executed to determine the function to be performed, and after the source software process obtains the function list of the destination software process, it may determine which function the destination software process performs; the conditions required by the functions to be performed are negotiated and if the conditions required to perform a function are met, the destination software process will give the source software process data describing these conditions. The source software process analyzes the data of each condition to obtain a method meeting the conditions; the conditions of the function to be executed are met, if the conditions which need to be met exist, the source software process analyzes and processes the data of each condition, and then prepares data according to the project required in the data, fills in the data to the URL specified in the specified data, and even pays. After the work is finished, signature results of a URL background digital signature are obtained, and the source software process submits the signature results to the target software process. Executing the function after the target software process successfully checks the signature; determining the data format of the communication between the two parties, if the destination software process needs the source software process to provide data or the destination software process executes function feedback to the source software process result data, the two parties need to determine the format of the data, and the data format can be a known standard, such as: data formats of WIPE, Jason, XML, HTML, Word, WPS, MP3, MP4, or other common software; or the software format defined by the target software; and inquiring the target object or the target range of the other party, wherein the target object to be processed by the target software process can be in the computer of the target software process, the computer of the source software process and the network. If the target object is in the network, the position of the target object of the target software process can be directly informed; if the target software process is processed by all targets of the target software process, the target software process can be directly informed; if it is a target in the processing section of the target software object, a list of target software process targets is requested and a target range is determined. Negotiating the encoding mode of the data to be transmitted, such as UTF-16, UTF8, etc.; both sides can request and send the target object data to be processed to the other side, if the target range determined by the source software process is owned by the source software process, the data are transmitted to the target software process; and the communication receiver software process executes the function determined by the source software process and sends the result of executing the function to the communication initiator software process until the two parties negotiate to execute and finish communication.
Although the embodiments of the present invention have been described above, the above descriptions are only for the convenience of understanding the present invention, and are not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (7)
1. A method of communication between arbitrary software processes, the method comprising:
a, determining the attribute which the software process at the other end should have through the communication initiator software process;
b, determining the address of the software process of the communication receiver;
c, a network daemon process for communication and query among software processes is installed in advance on a computer where the software processes of a communication receiver are located;
d, inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located;
e, determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; then inquiring the software process information of the started communication receiver;
and F, establishing communication network connection according to the inquired communication information and the communication receiver software process.
2. A method of communication between arbitrary software processes as recited in claim 1, wherein said in-a attributes include function list, function remote-use method, software category, software name and version number.
3. The method according to claim 1, wherein the address of the software process of the communication receiving party in the B is a host name, a domain name or an IP address, and the determining of the address comprises: from a certain service in the network, set in a configuration file, determined with code, present in a database, given in a command line, and given in a GUI interface.
4. The communication method between any software processes as claimed in claim 1, wherein the network daemon process for communication and query between software and software processes in C is called communication information daemon process; the communication information waiting process is used for inquiring a list of communication information of the software process which can be realized by the native machine, and the inquired information at least comprises the following information:
the machine can realize a software list of communication among any software processes, a function list of each software, a method for using each function from a far end, a condition required by using each function from the far end, a right required by using each function from the far end, a method for authenticating identities of two parties, data required in the using process of each function, output data in the using process of each function, a software type, a software name, a software version number, whether the software is currently running or not, a network waiting port number of the currently running process of the software, whether the communication between the software process and the communication information waiting process can be realized or not, and a method for starting the software and starting the software from the far end according to the far end requirement or not.
5. The method according to claim 1, wherein D specifically comprises initiating a network connection to the computer where the address of the software process of the communication receiver is located, and querying the communication information of the software process through the software type, the software name, and the function.
6. A method of communication between arbitrary software processes as claimed in claim 1, wherein the establishing of the communication network connection in E is a primary communication network connection in which the communication receiver software process receives the request from the communication initiator software process as a server side.
7. The method of communication between any software processes of claim 1, further comprising: determining whether the identities of the communication initiator software process and the communication receiver software process need to be verified and verifying the identities according to the inquired communication information of the communication receiver software process; the version number of a software interprocess communication protocol followed by the communication initiator software process and the communication receiver software process; negotiating communication encryption items in the main communication network connection; if encryption is required, the data transmitted in the communication network connection is encrypted according to the negotiation result; the communication initiator software process establishes secondary communication network connection with the communication receiver software according to the inquired communication information; negotiating communication fields and communication field vocabularies of both a communication initiator software process and a communication receiver software process, mutually inquiring a function list of the other party, determining a function to be executed, negotiating conditions required by the function to be executed and meeting the conditions of the function to be executed, determining a data format of communication between the two parties, inquiring a target object or a target range of the other party, negotiating a data coding mode to be transmitted, and requesting and sending target object data to be processed to the other party by both the two parties; and the communication receiver software process executes the function determined by the source software process and sends the result of executing the function to the communication initiator software process until the two parties negotiate to execute and finish communication.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011170462.XA CN112256453A (en) | 2020-10-28 | 2020-10-28 | Communication method between arbitrary software processes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011170462.XA CN112256453A (en) | 2020-10-28 | 2020-10-28 | Communication method between arbitrary software processes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256453A true CN112256453A (en) | 2021-01-22 |
Family
ID=74262634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011170462.XA Pending CN112256453A (en) | 2020-10-28 | 2020-10-28 | Communication method between arbitrary software processes |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256453A (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107699A (en) * | 1985-11-12 | 1987-07-15 | 美国电话电报公司 | In computer network, carry out a kind of method of distributed treatment |
CN102255928A (en) * | 2010-05-17 | 2011-11-23 | 卢涵 | Wireless mobile communication terminal with hybrid location function |
CN107133109A (en) * | 2017-04-24 | 2017-09-05 | 京信通信系统(广州)有限公司 | A kind of method of intermodule communication, device and computing device |
US20170255775A1 (en) * | 2016-03-02 | 2017-09-07 | Apple Inc | Software verification systems with multiple verification paths |
CN110188028A (en) * | 2018-09-03 | 2019-08-30 | 西安奥卡云数据科技有限公司 | A kind of test method of computer system |
-
2020
- 2020-10-28 CN CN202011170462.XA patent/CN112256453A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86107699A (en) * | 1985-11-12 | 1987-07-15 | 美国电话电报公司 | In computer network, carry out a kind of method of distributed treatment |
CN102255928A (en) * | 2010-05-17 | 2011-11-23 | 卢涵 | Wireless mobile communication terminal with hybrid location function |
US20170255775A1 (en) * | 2016-03-02 | 2017-09-07 | Apple Inc | Software verification systems with multiple verification paths |
CN107133109A (en) * | 2017-04-24 | 2017-09-05 | 京信通信系统(广州)有限公司 | A kind of method of intermodule communication, device and computing device |
CN110188028A (en) * | 2018-09-03 | 2019-08-30 | 西安奥卡云数据科技有限公司 | A kind of test method of computer system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1830192B (en) | Method and system for asynchronously processing requests | |
CN107360261B (en) | HTTP request processing method and device and electronic equipment | |
CN113364853B (en) | Business service system, business request method and gateway equipment | |
WO2006056534A1 (en) | A method for ensuring the quality of a service in a distributed computing environment | |
EA007778B1 (en) | Application generator | |
EP3614643B1 (en) | Oauth2 saml token service | |
US9742835B2 (en) | System and method for backend control of frontend user interfaces | |
US7606873B2 (en) | Initiating distribution of server based content via web-enabled device | |
AU2017237089B2 (en) | Technologies for auto discover and connect to a rest interface | |
CN111045833A (en) | Interface calling method and device | |
WO2019019393A1 (en) | Business interface calling method, business interface calling device, user terminal and readable storage medium | |
CN108153803A (en) | A kind of data capture method, device and electronic equipment | |
CN109471713B (en) | Method and device for inquiring information | |
CN112988311A (en) | On-line experimental method based on WEB server | |
CN112256453A (en) | Communication method between arbitrary software processes | |
WO2018081963A1 (en) | Method and device for dns resolution and network system | |
CN109005250B (en) | Method and device for accessing server | |
KR102023999B1 (en) | Method and apparatus for generating web pages | |
US20200184014A1 (en) | Internet of everything | |
CN102780680A (en) | Method and system for backcasting data of SNS (Social Network Site) platform | |
CN109600452B (en) | Server cluster, message pushing method and related server | |
CN107332891B (en) | HTTP request processing method, server and client | |
US20160036766A1 (en) | Method and system for synchronizing program masks | |
WO2017173967A1 (en) | Redirection method, service provider, unstructured supplementary service data center, and system | |
CN112650601B (en) | Method, apparatus, device, storage medium, and program for opening applet across hosts |
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 |