CN113411231A - CORBA middleware communication delay performance optimization method - Google Patents

CORBA middleware communication delay performance optimization method Download PDF

Info

Publication number
CN113411231A
CN113411231A CN202110661523.0A CN202110661523A CN113411231A CN 113411231 A CN113411231 A CN 113411231A CN 202110661523 A CN202110661523 A CN 202110661523A CN 113411231 A CN113411231 A CN 113411231A
Authority
CN
China
Prior art keywords
communication
server
client
packet
file
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
CN202110661523.0A
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.)
CETC 20 Research Institute
Original Assignee
CETC 20 Research Institute
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 CETC 20 Research Institute filed Critical CETC 20 Research Institute
Priority to CN202110661523.0A priority Critical patent/CN113411231A/en
Publication of CN113411231A publication Critical patent/CN113411231A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a CORBA middleware communication time delay performance optimization method, which uses a keyword oneway to modify a communication interface between a client and a server, so that the interface becomes unidirectional operation, namely after the client sends a request, the CORBA middleware forwards a call request to the server for processing, the client does not need to wait for the response of the server, immediately returns to execute subsequent processing, and the reliability of the implementation method is verified by calculating packet loss rate and packet error rate. On the premise of ensuring reliable transmission, the method can simplify the communication flow, improve the communication efficiency and reduce the communication delay.

Description

CORBA middleware communication delay performance optimization method
Technical Field
The invention relates to the field of radio middleware, in particular to a plurality of technologies such as middleware, an object-oriented development mode, an Interface Definition Language (IDL), a soft bus and the like. The invention utilizes the keyword oneway to modify the communication interface between the client and the server, can simplify the information interaction process of the CORBA middleware, and reduces the communication delay of the middleware on the basis of ensuring reliable transmission.
Background
CORBA middleware is an object-oriented middleware standard promulgated by the Object Management Group (OMG), a common service between operating systems and application software. The core of CORBA is an Object Request Broker (ORB), which encodes/decodes the message communicated between the client and the server to generate a format independent of the programming language, and completes the sending and receiving of the message through the default communication mechanism of ethernet, so that the client does not need to consider the physical location, implementation details and other contents of the server object, and can play a role of a soft bus shielding the differences of the processor, the operating system and the programming language. These characteristics allow CORBA to be adopted by the SCA specification and applied to software radio systems.
Due to the introduction of the middleware, the communication delay among the components in the software radio system is invisibly increased, and the communication efficiency of the software radio system is directly determined by the performance of the CORBA communication delay, so that how to reduce the CORBA middleware communication delay is the research focus of the invention.
At present, in the aspect of middleware time delay optimization, part of researchers adopt a thread pool, a priority mechanism and a global scheduling service to strengthen the management and control of system resources, and the method focuses on optimizing an operating system instead of optimizing a middleware communication process and is not suitable for an operating system with poor real-time performance, such as Linux; part of researchers adopt other communication mechanisms (such as RapidIO and the like) to realize CORBA middleware communication, the method is complex to realize, and the CORBA middleware based on non-Ethernet is not widely applied; some researchers have adopted simple types as much as possible for transmitted data from the perspective of encoding and decoding to improve the encoding and decoding rate, but the method is not suitable for application scenarios with more complex data transmission.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides a CORBA middleware communication delay performance optimization method. In order to reduce the communication delay of the middleware, improve the operating efficiency of a software radio system and meet the requirement of high real-time performance, the invention analyzes the working principle of CORBA and provides a middleware communication delay performance optimization method based on keyword oneway.
The invention uses the keyword oneway to modify the communication interface between the client and the server, so that the interface becomes unidirectional operation, namely after the client sends a request, the CORBA middleware forwards the call request to the server for processing, and the client does not need to wait for the response of the server and immediately returns to execute the subsequent processing, thereby simplifying the communication flow and having more efficient information exchange. However, the reliability of the unidirectional operation cannot be guaranteed, and the reliability of the implementation method is verified by calculating the packet loss rate and the packet error rate.
The technical scheme adopted by the invention for solving the technical problem comprises the following steps:
[ step 1] define oneway operation;
modifying an interface for completing data communication between the client and the server by using the keyword oneway, and deleting the custom exception to obtain an IDL file;
step 2, verifying the feasibility of the implementation method;
mapping the IDL file into a required language by using an IDL interface generator to generate a corresponding root code file and a corresponding frame file; adding test codes in the root code file and the frame file, and compiling to generate an executable file;
running an executable file, starting a test thread, calling a communication interface to start testing, and recording GIOP (group operation protocol) messages of communication between a client and a server;
if the server does not send the Response message in the GIOP message to the client and the Response _ flags field of the Request message in the GIOP message is 00, the operation is an oneway operation, the realization method is feasible, and step 3 is executed; otherwise, executing step 1;
step 3, verifying the reliability of the implementation method;
the reliability is verified by calculating the packet loss rate and the packet error rate, and the specific steps are as follows:
starting a testing thread, calling a communication interface between a client and a server for N times, and counting the number N of received data packets at the server1And calculating packet loss rate LNCalculated as follows:
LN=(N-N1)/N*100% (1)
comparing whether the length of the data packet received by the server is equal to the length of the data packet sent by the client, comparing whether the content of the data packet received by the server is equal to the content of the data packet sent by the client, if the length is equal and the content is equal, the packet is a correct packet, otherwise, the packet is an error packet, and counting the number N of the error packets2Calculating the packet error rate WNCalculated as follows:
WN=N2/N*100% (2)
if there is no packet loss (i.e. L)N0%) and no error packets (i.e., W)N0%), indicating a reliable transmission, step 4 is performed; otherwise, skipping to execute the step 1;
step 4, calculating the communication time delay;
starting a test thread, calling a communication interface between a client and a server M times, and recording the time t for starting to call the communication interface1Recording the interface end time t after M times of calling2Calculating the communication time delay according to the formula (3):
DM=(t2-t1)/M (3)
obtaining a communication delay DM
In step 2, the languages include C, C + + and Java, and the IDL file is mapped to a corresponding language, and the C + + language is adopted in the present invention.
In order to improve the accuracy, the calling is required for multiple times, and the value range of N in the step 3 is N not less than 10000.
In order to improve the accuracy, the calling is required for multiple times, and the value range of M in the step 4 is M not less than 10000.
The method has the advantages that the communication interfaces of the client side and the server side of the middleware are modified by using the oneway keyword, so that the communication flow can be simplified, the communication efficiency is improved, and the communication time delay is reduced on the premise of ensuring reliable transmission.
The invention adopts the keyword oneway to modify the interfaces of the data communication between the client and the server, and deletes the custom exception, because CORBA adopts the default Ethernet TCP/IP protocol as the bottom layer transmission mechanism, the data received by the server has no packet loss and no error packet, and the communication reliability is ensured.
Drawings
FIG. 1 is a diagram of a one-way call.
Fig. 2 is a schematic diagram of a two-way call.
Fig. 3 is a schematic diagram illustrating message interaction between oneway operation client and server GIOP.
Fig. 4 is a schematic diagram of message interaction between the twoway operation client and the GIOP service end.
Fig. 5 shows the oneway operation Request message contents.
Fig. 6 shows the contents of the twoway action Request message.
Fig. 7 is a diagram illustrating middleware communication delay.
Fig. 8 is a diagram comparing 10000 oneway and twoway communication delays for calling the communication interface.
Detailed Description
The invention is further illustrated with reference to the following figures and examples.
The invention provides a middleware communication time delay optimization method based on keyword oneway, and takes omniORB as an example for testing and verification, wherein omniORB is a CORBA middleware product with wide application.
oneway is a key defined in the IDL specification that indicates that the operation is unidirectional. Fig. 1 and 2 are schematic diagrams of a one-way call and a two-way call. Compared with bidirectional calling, after the client side with unidirectional calling sends a request, the CORBA middleware forwards the calling request to the server side application for processing, and the client side does not need to wait for the response of the server side and immediately returns to execute subsequent processing, so that the transmission efficiency of information can be improved by using oneway keyword modification operation. However, if the unidirectional operation is executed, the client does not know whether the operation is normally called, and the reliability cannot be ensured.
[ step 1] define oneway operation
The invention defines a simple interface with the function name of pushPacket. The interface only realizes data transmission from the client to the server and has no other functions, the input parameter of the function is transmission test data, and the self-defined exception is ERROR _ BAD _ SIZE.
According to the IDL specification, the interface defaults to non-oneway operation (namely towway), adds oneway keywords in front of the pushPacket, and deletes self-defined exception to obtain an IDL file of the oneway operation.
[ step 2] verification of the feasibility of the method
The IDL file is mapped into a C + + language to generate a corresponding root code file and a corresponding frame file; adding test codes in the root code file and the frame file, and compiling to generate an executable file; and running the executable file, starting a test thread, calling a communication interface, and recording GIOP (group operation protocol) messages of communication between the client and the server.
Fig. 3 and 4 are schematic diagrams of message interaction between the oneway operation and the twoway operation client and the server GIOP. For the twoway operation, the client and server communicate as follows.
1) The client sends a LocateRequest message to the server;
2) after receiving the LocateRequest message, the server sends a LocateRely message to the client, and confirms that the appointed object request is accepted;
3) the client sends a Request message to the server, calls a communication interface and starts communication;
4) and the Response message sent by the server to the client represents whether the calling is successful or not.
For the oneway operation, the LocateRequest and LocateReply messages communicated between the client and the server are identical to towway, the Response _ flags field of the Request message is different from towway, and the biggest difference is that the oneway operation server does not send a Response message to the client.
Request messages of oneway operation and towway operation as shown in fig. 5 and 6, it is known from the frame format that the response _ flags field of the message indicates whether the operation is one oneway operation. oneway operation is 00 and twoway operation is 03, conforming to the frame format definition. The result shows that the implementation method for modifying the communication interface by using oneway is feasible.
[ step 3] verification of the reliability of the implementation method
Since the user-defined exception ERROR _ BAD _ SIZE is deleted, the reliability of the implementation method is verified by calculating the packet loss rate and the packet ERROR rate. The packet loss rate and the packet error rate can be calculated according to the equations (1) and (2), respectively.
The test results are shown in table 1, where table 1 is statistics of packet loss rate and packet error rate 10000 times by calling oneway operation interface.
Byte number/KB Packet loss rate Packet error rate
1 0% 0%
3 0% 0%
5 0% 0%
7 0% 0%
When N is 10000, data with different lengths (1KB, 3KB, 5KB, and 7KB) is transmitted, and there is no packet loss or no packet error. The N value is changed, and data with different lengths (1KB, 3KB, 5KB and 7KB) is sent, and the conclusion is the same. The result shows that the implementation method for modifying the communication interface by using oneway has no packet loss and no error packet, because the bottom layer adopts the communication protocol of TCP/IP, the calling of the operation is ensured to be reliable transmission.
Step 4, calculating the communication time delay. The middleware communication delay refers to the time required for the client and the server to complete a communication process (i.e., call a pushPacket interface), as shown in fig. 7. The communication delay can be calculated according to equation (3).
As shown in fig. 8, when M is 10000, data (for example, 1KB) with the same length is transmitted, and the communication interface is decorated with the keyword oneway, so that the communication delay can be effectively reduced. The same conclusion is reached by changing the data length (3KB, 5KB, 7KB) of the transmitted data. The result shows that the implementation method for modifying the communication interface by using oneway can reduce the communication delay by nearly 60 percent.

Claims (4)

1. A CORBA middleware communication delay performance optimization method is characterized by comprising the following steps:
[ step 1] define oneway operation;
modifying an interface for completing data communication between the client and the server by using the keyword oneway, and deleting the custom exception to obtain an IDL file;
step 2, verifying the feasibility of the implementation method;
mapping the IDL file into a required language by using an IDL interface generator to generate a corresponding root code file and a corresponding frame file; adding test codes in the root code file and the frame file, and compiling to generate an executable file;
running an executable file, starting a test thread, calling a communication interface to start testing, and recording GIOP (group operation protocol) messages of communication between a client and a server;
if the server does not send the Response message in the GIOP message to the client and the Response _ flags field of the Request message in the GIOP message is 00, the operation is an oneway operation, the realization method is feasible, and step 3 is executed; otherwise, executing step 1;
step 3, verifying the reliability of the implementation method;
the reliability is verified by calculating the packet loss rate and the packet error rate, and the specific steps are as follows:
starting a testing thread, calling a communication interface between a client and a server for N times, and counting the number N of received data packets at the server1And calculating packet loss rate LNCalculated as follows:
LN=(N-N1)/N*100% (1)
comparing whether the length of the data packet received by the server is equal to the length of the data packet sent by the client, comparing whether the content of the data packet received by the server is equal to the content of the data packet sent by the client, if the length is equal and the content is equal, the packet is a correct packet, otherwise, the packet is an error packet, and counting the number N of the error packets2Calculating the packet error rate WNCalculated as follows:
WN=N2/N*100% (2)
if no packet is lost and no packet is wrong, the reliable transmission is indicated, and the step 4 is executed; otherwise, skipping to execute the step 1;
step 4, calculating the communication time delay;
starting a test thread, calling a communication interface between a client and a server M times, and recording the time t for starting to call the communication interface1Recording the interface end time t after M times of calling2Calculating the communication time delay according to the formula (3):
DM=(t2-t1)/M (3)
obtaining a communication delay DM
2. The CORBA middleware communication delay performance optimization method according to claim 1, wherein: in step 2, the languages include C, C + + and Java, and the IDL file is mapped to a corresponding language.
3. The CORBA middleware communication delay performance optimization method according to claim 1, wherein: the value range of N in the step 3 is N not less than 10000.
4. The CORBA middleware communication delay performance optimization method according to claim 1, wherein: the value range of M in the step 4 is M is more than or equal to 10000.
CN202110661523.0A 2021-06-15 2021-06-15 CORBA middleware communication delay performance optimization method Pending CN113411231A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110661523.0A CN113411231A (en) 2021-06-15 2021-06-15 CORBA middleware communication delay performance optimization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110661523.0A CN113411231A (en) 2021-06-15 2021-06-15 CORBA middleware communication delay performance optimization method

Publications (1)

Publication Number Publication Date
CN113411231A true CN113411231A (en) 2021-09-17

Family

ID=77684134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110661523.0A Pending CN113411231A (en) 2021-06-15 2021-06-15 CORBA middleware communication delay performance optimization method

Country Status (1)

Country Link
CN (1) CN113411231A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1122644A1 (en) * 2000-01-14 2001-08-08 Sun Microsystems, Inc. A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
CN1879082A (en) * 2003-11-12 2006-12-13 株式会社Ntt都科摩 Method and apparatus for composing software
CN101094392A (en) * 2007-06-26 2007-12-26 南京联创网络科技有限公司 Method for video monitoring system to implement Topo map of network devices on web
US20110320521A1 (en) * 2010-06-24 2011-12-29 Sap Ag User Interface Communication
CN111541662A (en) * 2020-04-15 2020-08-14 赞同科技股份有限公司 Communication method, device, system and equipment based on binary communication protocol

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1122644A1 (en) * 2000-01-14 2001-08-08 Sun Microsystems, Inc. A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
CN1879082A (en) * 2003-11-12 2006-12-13 株式会社Ntt都科摩 Method and apparatus for composing software
CN101094392A (en) * 2007-06-26 2007-12-26 南京联创网络科技有限公司 Method for video monitoring system to implement Topo map of network devices on web
US20110320521A1 (en) * 2010-06-24 2011-12-29 Sap Ag User Interface Communication
CN111541662A (en) * 2020-04-15 2020-08-14 赞同科技股份有限公司 Communication method, device, system and equipment based on binary communication protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吕浩,刘文科: "一种CORBA中间件通信时延性能优化方法", 《现代导航》 *
张志伟等: "分布对象中间件异步通讯机制的研究与实现", 《计算机科学》 *

Similar Documents

Publication Publication Date Title
US9703595B2 (en) Multi-core system with central transaction control
CN110134534B (en) System and method for optimizing message processing for big data distributed system based on NIO
CN109451032B (en) Message transmission system
CN109309599B (en) Method for realizing high-concurrency communication of Internet of things equipment based on street lamp hardware platform
CN111835837B (en) Message pushing method and system with multi-terminal adaptation
US6327624B1 (en) Communication of objects including Java bytecodes between 3270 logical units including Java virtual machines
EP1348169A1 (en) Exchanging electronic messages between a host computer system and a distributed computer system
US10303529B2 (en) Protocol for communication of data structures
US20230080588A1 (en) Mqtt protocol simulation method and simulation device
CN112738216B (en) Equipment adaptation method, device, equipment and computer readable storage medium
CN113596017B (en) Protocol analysis method and device, soft gateway and storage medium
CN112261142B (en) RDMA network data retransmission method, device and FPGA
CN105141603A (en) Communication data transmission method and system
CN107977260B (en) Task submitting method and device
CN109067754B (en) Communication method and system for request terminal and server terminal
CN110557321B (en) Information transmission method, network equipment and terminal
CN112911024A (en) Method and system for collecting data of Internet of things, electronic device and storage medium
CN113411231A (en) CORBA middleware communication delay performance optimization method
CN113992644A (en) Internet of things gateway system based on non-service technology and data processing method thereof
CN111586040B (en) High-performance network data receiving method and system
CN113835904A (en) Remote procedure call control method, device, equipment and storage medium
CN112732404A (en) Program concurrent IO optimization method and system based on Lua coroutine
CN117201577B (en) Communication method and system of cross-platform API and SPI based on PISA
CN115396368B (en) Efficient composite network data transmission method based on node addressing and data encapsulation
CN117135156B (en) Edge cluster nano-tube method, system, computer readable storage medium and electronic equipment based on publish/subscribe message protocol

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210917

WD01 Invention patent application deemed withdrawn after publication