CN104281488B - The method and system of server engine - Google Patents
The method and system of server engine Download PDFInfo
- Publication number
- CN104281488B CN104281488B CN201310284753.5A CN201310284753A CN104281488B CN 104281488 B CN104281488 B CN 104281488B CN 201310284753 A CN201310284753 A CN 201310284753A CN 104281488 B CN104281488 B CN 104281488B
- Authority
- CN
- China
- Prior art keywords
- event
- timer
- client
- node
- lua
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
The invention provides a kind of method and system of server engine.Methods described includes:Carry out the event that action listener is currently triggered;Carry out case distribution and obtain the event handling object that the event is located at cementing layer;The event is handled by the event handling object reference Lua scripts positioned at cementing layer.The system includes:Monitor module, the event currently triggered for carrying out action listener;Case distribution module, the event handling object for obtaining the event for carrying out case distribution and being located at cementing layer;Script calling module, for handling the event by the event handling object reference Lua scripts positioned at cementing layer.Learning cost can be reduced using the present invention, realize quick exploitation.
Description
Technical field
The present invention relates to the Internet, applications technology, more particularly to a kind of method and system of server engine.
Background technology
With the development of the Internet, applications, the application logic carried by server engine is also more and more, for example, trip
Play server engine has mostly accessed multiple game, and user passes through interacting i.e. between client engine and game server engine
The a certain game of access can be run.
Traditional server engine is all based on greatly ACE(Adaptive Communication Environmen, it is adaptive
With communication environment)Open Source Framework realize that but because ACE Open Source Framework is excessively thick and heavy, developer is based in application
There will be learning cost is too high when the server engine that ACE Open Source Framework is realized is developed, can not quickly be opened
The defects of hair.
The content of the invention
Based on this, it is necessary to which for the server engine that the Open Source Framework based on ACE is realized, there is learning cost mistake
Height, the technical problem that can not be quickly developed, there is provided one kind can reduce learning cost, realize the server engine quickly developed
Implementation method.
Learning cost can be reduced in addition, there is a need to and provide one kind, realizes the realization system for the server engine quickly developed
System.
A kind of implementation method of server engine, comprises the following steps:
Carry out the event that action listener is currently triggered;
Carry out case distribution and obtain the event handling object that the event is located at cementing layer;
The event is handled by the event handling object reference Lua scripts positioned at cementing layer.
In one of the embodiments, the progress case distribution obtains the event handling pair that the event is located at cementing layer
As the step of before, methods described also includes:
Whether the event for judging currently to trigger is server event, if it is not, then obtaining the thing into progress case distribution
Part is located at the step of event handling object of cementing layer, if so, then
At the client connection corresponding client event of data creation corresponding to the server event obtained according to monitoring
Manage object;
Store the client event process object of the establishment.
In one of the embodiments, the step of client event process object of the storage establishment includes:
Node is extracted from idle chained list, the client event process object of the establishment is stored in the node;
By the node of the deposit client event process object added to using in chained list.
In one of the embodiments, the progress case distribution obtains the event handling pair that the event is located at cementing layer
As the step of include:
Data corresponding to the event are obtained, and data corresponding to parsing the event obtain corresponding positional information and tested
Demonstrate,prove information;
Search in the cementing layer and obtain node corresponding to the positional information using chained list;
Verify whether the node that the lookup obtains matches with the event by the checking information, if so, then
Obtain the event handling object being stored in the node.
In one of the embodiments, it is described by the event handling object reference Lua scripts positioned at cementing layer at
The step of managing the event includes:
By corresponding interface function in the event handling object reference Lua interface layers positioned at cementing layer, pass through institute
State interface function and trigger the Lua scripts processing event.
In one of the embodiments, corresponding to the event and the event that the progress action listener is currently triggered
Before the step of data, methods described also includes:
Obtained from the timer event of setting i.e. by overdue minimum time.
In one of the embodiments, described the step of carrying out the event that action listener is currently triggered, includes:
Using the minimum time of the acquisition as the timeout value of action listener, action listener is opened, and pass through network event
Triggering or time-out stop network event or timer event that current action listener is currently triggered;
Judge whether network event is triggered, if so, whether being then server event into the event for judging currently to trigger
The step of, if it is not, then
The step of event is located at the event handling object of cementing layer is obtained into the progress case distribution.
In one of the embodiments, the progress case distribution obtains the event handling pair that the event is located at cementing layer
As the step of include:
Each timer chain meter is examined in, according to addition timer event process object in the timer chain meter
Sequencing judges whether timer event process object expires successively, if so, then
Obtain the overdue timer event process object.
In one of the embodiments, methods described also includes:
If determine network event to be triggered, and the network event is processed after finishing and will be examined in into described
The step of each timer chain meter.
A kind of server engine realizes system, including:
Monitor module, the event currently triggered for carrying out action listener;
Case distribution module, the event handling object for obtaining the event for carrying out case distribution and being located at cementing layer;
Script calling module, for by described in the event handling object reference Lua scripts processing positioned at cementing layer
Event.
In one of the embodiments, the system also includes:
Event judge module, whether the event for judging currently to trigger is server event, if it is not, then notifying the thing
Part distribution module, if so, then notifying client object creation module;
The client corresponding to server event that the client object creation module is used to be obtained according to monitoring connects
The corresponding client event process object of data creation;
Memory module, the client event for storing the establishment are dealt with objects.
In one of the embodiments, the memory module includes:
Node extraction unit, for extracting node from idle chained list, the client thing of the establishment is stored in the node
Part is dealt with objects;
Node adding device, chained list is used for the node of the deposit client event process object to be added to
In.
In one of the embodiments, the case distribution module includes:
Resolution unit, for obtaining data corresponding to the event, and data corresponding to parsing the event obtain accordingly
Positional information and checking information;
Searching unit, node corresponding to the positional information is obtained using chained list for searching in the cementing layer;
Matching unit, for by the checking information verify it is described search obtained node and the event whether
Match somebody with somebody, if so, then notification event process object acquiring unit;
The event handling object acquisition unit is used to obtain the event handling object being stored in the node.
In one of the embodiments, the script calling module is additionally operable to by the event handling positioned at cementing layer
Corresponding interface function in object reference Lua interface layers, the Lua scripts are triggered by the interface function and handle the thing
Part.
In one of the embodiments, the system also includes:
Time-obtaining module, for being obtained overdue minimum time from the timer event of the setting i.e..
In one of the embodiments, the monitoring module includes:
Action listener unit, for the timeout value using the minimum time of the acquisition as action listener, open event prison
Listen, and the network event or timer currently triggered by the current action listener of the triggering or time-out stopping of network event
Event;
Judging unit is triggered, for judging whether network event is triggered, if so, the event judge module is then notified,
If it is not, then notify the case distribution module.
In one of the embodiments, the case distribution module includes:
Inspection unit, for being examined in each timer chain meter, according to addition timer in the timer chain meter
The sequencing of event handling object judges whether timer event process object expires successively, if so, then notifying timer pair
As acquiring unit;
The timer object acquiring unit is used to obtain the overdue timer event process object.
In one of the embodiments, if the triggering judging unit determines the network event and is triggered, and it is described
Network event will notify the inspection unit after being disposed by the script calling module.
The method and system of above-mentioned server engine, the event that action listener is currently triggered is carried out, enter to act
Part is distributed to obtain the event handling object that the event is located at cementing layer, passes through the event handling object reference Lua positioned at cementing layer
Script handles the event, and because Lua scripts are deposited in server engine, server engine realizes event by Lua scripts
Processing so that developer is that the new exploitation using logic can be achieved by Lua scripts, because Lua scripts are lightweights
Script, therefore greatly reduce learning cost of the developer to server engine is new in server engine to realize
Using the quick exploitation of logic.
Brief description of the drawings
Fig. 1 is the flow chart of the implementation method of server engine in one embodiment;
Fig. 2 is the block schematic illustration of server engine in one embodiment;
Fig. 3 is the flow chart of the implementation method of server engine in another embodiment;
Fig. 4 is the method flow diagram of the client event process object of storage creation in Fig. 3;
Fig. 5 is to carry out case distribution in one embodiment to obtain the method that the event is located at the event handling object of cementing layer
Flow chart;
Fig. 6 is the method flow diagram that the event that action listener is currently triggered is carried out in one embodiment;
Fig. 7 is to carry out case distribution in another embodiment to obtain the side that the event is located at the event handling object of cementing layer
Method flow chart;
Fig. 8 is the schematic diagram of timer chain meter in one embodiment;
Fig. 9 is the schematic diagram of server engine in one embodiment;
Figure 10 is the communication schematic diagram of client and server in one embodiment;
Figure 11 is the structural representation for realizing system of server engine in one embodiment;
Figure 12 is the structural representation for realizing system of server engine in another embodiment;
Figure 13 is the structural representation of memory module in Figure 12;
Figure 14 is the structural representation of case distribution module in one embodiment;
Figure 15 is the structural representation that module is monitored in one embodiment;
Figure 16 is the structural representation of case distribution module in another embodiment.
Embodiment
As shown in figure 1, in one embodiment, a kind of implementation method of server engine, comprise the following steps:
Step S110, carry out the event that action listener is currently triggered.
In the present embodiment, action listener is carried out to obtain the event triggered in server, the event currently triggered includes net
Network event and timer event, wherein, network event refers to the event related to network communication, for example, transmitted by client
Communication packet reach the event that the event that is triggered of service end or service end send communication packet to client;It is fixed
When device event refer to the task that timing required for server performs, for example, every 30 somewhat check server and client it
Between connection it is whether still effective.
Further, as shown in Fig. 2 network communication layer is the basis of server engine, for realizing the monitoring of event.
Step S130, carry out case distribution and obtain the event handling object that the event is located at cementing layer.
In the present embodiment, cementing layer equivalent to server engine intermediate layer, for the various applications in glued application layer
The primitive layer of logical sum bottom, by the clear Compact representations of C Plus Plus by the greatly simplified complexity using interface exploitation, when
The event of preceding triggering will be dispensed to corresponding event handling object in cementing layer, to call corresponding event handling object to carry out
Respective handling.Specifically, the event of each triggering has unique corresponding event handling object.
In one embodiment, the cementing layer of server engine will be realized by C Plus Plus, to be provided more for server
It is abundant, or even complicated algorithm and interface, the modularized design being easy to implement in server, and then improve autgmentability.
Step S150, the event is handled by the event handling object reference Lua scripts positioned at cementing layer.
In the present embodiment, Lua scripts are parasitized in server engine, are realized as the application layer in server engine various
Using logic, the event handling object positioned at cementing layer is by for being responsible for receiving and handling the event currently triggered.Current triggering
Event belonging to event handling object will call Lua scripts in corresponding object carry out event processing, to realize the event
Response.
Fig. 2 is please referred to, Lua scripts are will be present in server engine in Lua application layers, for realizing various answer
With logic, therefore the interface provided by cementing layer is delivered to Lua application layers by the various events that server engine is triggered
In, and then the event is responded by Lua scripts, realize corresponding function.
It is more understandable because Lua scripts are the lightweight scripts for extending C++ programmings, therefore, for developer
Speech, reduces coding difficulty, it is not necessary to expends excessive learning cost, and then the various applications based on server engine are opened
Hair quickly greatly improves, and shortens the construction cycle of application.
As shown in figure 3, in one embodiment, before above-mentioned steps S130, this method also includes:
Step S210, whether the event for judging currently to trigger is server event, if it is not, then enter step S130, if so,
Then enter step S230.
In the present embodiment, the event that currently triggers may be network event or timer event, wherein, network event includes
Server event and client event, wherein, server event is readable event, the triggering of server event will represent newly
Client be connected with server;Client event is readable event or writeable event, is be different from server event other
Network event, client event are that readable event then represents new communication packet arrival, and writeable event has then represent letter
Breath will return to client.
The event currently triggered is judged, if it is server event to determine the event currently triggered, illustrates have
New client is connected with server, it is necessary to which relevant treatment is done in the addition to client, if determining the event currently triggered not
For server event, then the event that illustrates currently to be triggered for client event or timer event, it is necessary into step S130,
To be distributed to the event currently triggered.
Step S230, the client corresponding to server event obtained according to monitoring connect the corresponding client of data creation
Hold event handling object.
In the present embodiment, for the server event currently triggered, corresponding client connection data will be received, to pass through
The client connection data initialization client connection of reception, the registered client in server engine, creates the client institute
Corresponding client event process object.Specifically, client event process object will be used to handling corresponding to client exist
The client event triggered in server engine.
Step S250, the client event process object of storage creation, according to where being dealt with objects the client event
Storage location generation positional information, and return the positional information and checking information to the client.
In the present embodiment, the client event process object of establishment is stored, in order to which client event is triggered
When, handled by being distributed to corresponding client event.
As shown in figure 4, in one embodiment, above-mentioned steps S250 includes:
Step S251, node is extracted from idle chained list, in the client event process object that node deposit creates.
In the present embodiment, for ease of carry out client event process object storage and extraction, will set idle chained list and
Realized using chained list, idle chained list and cause chained list memory cell is used as using array.
Any node is taken from idle chained list, the node is idle node, can be by the client event processing pair of establishment
As being stored in this acquirement into node.Compared with traditional memory mechanism, it is not necessary to the lookup of idle node is carried out, for changing
It, it is not necessary to whether query node is idle in turn from the beginning to the end, and its time complexity inquired about is O(n), wherein, n grasps for inquiry
The scale of work, and increase with n increase, time complexity O(n)Smaller, then execution efficiency is higher.
And the storage of the client event process object carried out by said process directly can take out in idle chained list
First node can obtain idle node, its time complexity O(1), greatly reduce time complexity.
Step S253, the node of client event process object is stored into added to using in chained list.
In the present embodiment, by realizing the storage of multiple client event handling object using chained list, for being connected to
For the magnanimity client of server, the magnanimity client event process object corresponding to magnanimity client is stored in and used
Chained list will ensure that the order and high efficiency of storage.
Accordingly, the storage dealt with objects in the client event realized by idle chained list and using chained list it
Afterwards, once a certain client disconnects with server, then need to delete corresponding client event process object.
Specifically, will be to being searched using chained list, to search the client corresponding to the client disconnected
The node where event handling object and client event process object is held, is removed at the client event stored in node
Object is managed, and the node is deleted from using chained list, and added in idle chained list, used chained list by idle chained list and
The memory mechanism realized will ensure that time complexity is constant, it is not necessary to consider the increase of time complexity.
As shown in figure 5, in one embodiment, above-mentioned steps S130 includes:
Step S131a, data corresponding to the event are obtained, and data corresponding to parsing the event obtain corresponding position letter
Breath and checking information.
In the present embodiment, data corresponding to the event are the data that client is passed back, include the client and server
Engine establishes the checking information corresponding to positional information and the event resulting during connection.Listen to after the triggering of event,
The data corresponding to the event will be obtained, and parsed, to obtain the positional information and checking information in data.
Further, the data corresponding to the event include positional information and checking information, wherein, positional information is used for
The storage location of the event handling object of the processing event is indicated, checking information is then used to verify the section corresponding to the positional information
Whether the event handling object stored in point is corresponding with the event, to ensure the accuracy of program operation.
For example, the data corresponding to the event can use this data structure of epoll_event.data, 64 are contained
Field, wherein, first 32 bit field is used to preserve checking information, and latter 32 save position subscript.
Step S133a, search in cementing layer and obtain node corresponding to positional information using chained list.
In the present embodiment, the positional information obtained according to parsing searched in using chained list, to obtain phase
The node answered, the event handling object corresponding to the event currently triggered is stored in the node.
Step S135a, search whether obtained node matches with the event by checking information checking, if so, then entering
Step S137a, if it is not, then terminating.
In the present embodiment, node also saving unique sequence information when preserving event handling object, the number in node
Group subscript is the position of the node.Therefore, the positional information obtained according to parsing checks to obtain array index and position letter
The consistent node of manner of breathing, and then the sequence information preserved in node is read, the checking information that the sequence information is obtained with parsing
It is compared, judges whether unanimously, if so, being then verified, the event handling object that the node is stored can be applied to current
The event of triggering is responded.
Step S137a, obtain the event handling object being stored in node.
In the present embodiment, obtained in the node obtained from lookup and be stored in event handling object therein, to apply the thing
The event that the processing of part process object is currently triggered.
In the distribution of above-mentioned event and the acquisition of event handling object, by checking information enter event handling object
Row secondary-confirmation, in the case of high concurrent, especially in the case where magnanimity client connects, store event handling object
There is the overlapping situation of handle and happened occasionally in node, i.e., a certain client may be completed currently because abnormal conditions are also untreated
Another client for being just newly connected of event covered, the handle in turn resulted in event process object is overlapping, in fact,
The event handling object that now node is stored is not to look for obtained event handling object, is not right with current event
Answer, therefore, will can prevent the event handling object handles using covering from working as by the secondary-confirmation that checking information is carried out
Preceding event, it ensure that the accuracy of operation.
In one embodiment, above-mentioned steps S150 detailed process is:Pass through the event handling object positioned at cementing layer
Corresponding interface function in Lua interface layers is called, triggering Lua scripts by the interface function handles event.
In the present embodiment, the cementing layer in server engine will also register correlation function to Lua application layers, be called with passing through
Related Lua interface functions notify event that the processing of Lua scripts currently triggers.
Further, referring to Fig. 2, the cementing layer in server engine includes C++ cementing layers and Lua interface layers, its
In, C++ cementing layers then provide the distribution for the event that realizes and the acquisition of event handling object, Lua interface layers for Lua application layers
The interface of access cementing layer, i.e. C++ main programs.
Because the data structure in obtained event handling object is present in the form of C Plus Plus, for Lua application layers
For, it is that can not directly invoke, it is necessary to carry out the conversion of data structure to it, by by number existing in the form of C Plus Plus
According to structure be converted in the form of Lua language existing for data structure.
Therefore, advance equipment mapping table, wherein, mapping table have recorded the event handling realized in the form of C Plus Plus
Mapping relations between the event handling object that the form of object and corresponding Lua language is realized.Will by the mapping table of setting
Data structure in obtained event handling object is changed, to be converted to the event handling object of Lua language realization, and then
Search and obtain in Lua interface layers Lua interface functions corresponding to the event handling object after conversion, to call Lua interface letters
Number trigger event in Lua application layers, calls the function in Lua scripts to handle the event.
Wherein, because C++ cementing layers are realized by C Plus Plus, and Lua application layers are realized by Lua language,
The language realized is different, therefore can not directly invoke Lua scripts, it is necessary to by mapping the data to being write using C Plus Plus
Structure carries out changing the function in the addressable Lua scripts.
In one embodiment, before above-mentioned steps S130, this method also includes obtaining from the timer event of setting
I.e. by overdue minimum time the step of.
In the present embodiment, server engine usually sets several timer events during running, therefore from setting
Obtained in several fixed timer events i.e. by overdue minimum time.
As shown in fig. 6, in one embodiment, above-mentioned steps S110 includes:
Step S111, using the minimum time of acquisition as the timeout value of action listener, action listener is opened, and pass through network
The triggering of event or time-out stop network event or timer event that current action listener is currently triggered.
In the present embodiment, the action listener carried out in server engine is that circulation is carried out, and is getting timer event
In i.e. by after overdue minimum time, the timeout value using this minimum time as action listener is that is, current started new
One wheel monitors corresponding timeout value.
Further, after the timeout value there is provided action listener, reactor object starts new round monitoring, question response
Device object notice network event is triggered or time-out will carry out the processing of network event then followed by processing timer afterwards
Event, or processing timer event.The reactor object is Reactor objects, in network communication layer.
Step S113, judges whether network event is triggered, if so, then entering step S210, if it is not, then entering step
S130。
In the present embodiment, after the action listener stopping currently being carried out, the event prison so that currently being carried out will determine that
Whether the reason for listening stopping is the triggering of network event, if so, then enter the processing that step S210 carries out network event, if it is not,
Then illustrate that timer event is triggered, therefore, it is necessary to distribute timer event into step S130, to handle the timer thing
Part.
As shown in fig. 7, in one embodiment, above-mentioned steps S130 also includes:
Step S131b, each timer chain meter is examined in, according to addition timer event processing in timer chain meter
The sequencing of object judges whether timer event process object expires successively, if so, then entering step S133b, if it is not, then
Return to step S310.
In the present embodiment, it is not triggered if determining network event, timer event is triggered, then is examined in each
Timer chain meter, check whether and expire added to the sequencing of timer chain meter according to timer event process object, if institute
The first timer event process object checked is not yet due, then can directly stop checking, be directly entered step S310, if it is not,
Overdue timer event process object will be then acquired, and will be responded.
Because timer event process object is to be added to according to the sequencing of time in timer chain meter, first
Timer event process object will be overdue earliest, therefore, not arrived if checking and obtaining first timer event process object
Phase, then necessarily checked again, to save system resource.
If network event is determined to be triggered, and network event is processed finish after will enter it is above-mentioned be examined in it is each
The step of timer chain meter, and then make it that the processing of network event and timer event in server engine is unified, carry
The high accuracy of operation.
Step S133b, obtain overdue timer event process object.
In the present embodiment, overdue timer event process object is obtained from timer chain meter, with by positioned at gluing
The timer event process object of layer calls Lua scripts to be responded.
Step S310, obtained from the timer event of setting i.e. by overdue minimum time.
In one embodiment, timer chain meter is used to load all task of timer, for storing timer event
Process object, and then the task of timer for completing setting is dealt with objects by timer event.
Further, timer chain meter is made up of multiple doubly linked lists, the timer event in each doubly linked list
Process object all will be corresponding with same time type.For example, as shown in figure 8, include 5 Two-way Chains in timer chain meter
Table, wherein, first doubly linked list is corresponding with 1S time type, at the timer event in first doubly linked list
The timing managed set by object is 1S;Second doubly linked list is corresponding with 2S time type, and second double
The timing set to the timer event process object of chained list is 2S, and the rest may be inferred, two-way in timer chain meter
Chained list is according to its time type set.
Accordingly, the addition that timer event is dealt with objects in timer chain meter only needs to be traveled through according to time type
To find time type identical doubly linked list, timer event process object is added to chained list afterbody;Timer
The deletion of event handling object will directly delete corresponding node, and node before and after connecting, Two-way Chain in timer chain meter
The time for greatly reducing addition timer event process object and deletion timer event process object is answered in the setting of table
Miscellaneous degree, improves efficiency.
In one embodiment, server engine needs usually to need to be timed device event according to the exploitation of application logic
The establishment of process object, and the timer event process object of establishment is opened, and then trigger and perform timer event process object,
To complete to apply the timed task in logic.
Principle shown in reference picture 9, developer can be by calling the constructed fuction of timer class to call in Lua application layers
The Lua interface function create_timer that Lua functions defined in Lua interface layers, i.e. C++ cementing layers are registered, this Lua connect
The tolua_interface_timer_creater_timer00 functions that mouth function will have been corresponded in C++ cementing layers, now,
In tolua_interface_timer_creater_timer00 functions can it is newly-built go out timer event process object, and
Distribute unique mark index.Using unique mark index as key, stored using timer event process object as value, and
The unique mark index that the timer event is dealt with objects is returned into Lua application layers, and then completes timer event processing
The establishment of object.
When needing to open the timer event process object created, by incoming corresponding parameter, such as interval time
(inteval)Whether execution is circulated(isloop), now, the function defined in Lua interface layers will be called, such as
StartTimer functions, now, the function that C++ cementing layers will be called to be registered by the function defined in Lua interface layers, and will
Timer event process object unique mark index, interval time and whether circulate execution etc. be used as parameter transmission.
Corresponding timer event process object is searched in C++ cementing layers according to the unique mark of transmission, and will be incoming
Interval time and whether circulate perform the two parameters assign the timer event process object, at completion timing device event
Manage the unlatching of object.
After opening timer event process object, timer event process object will be added in timer chain meter
Detection, with treat the timer event process object expire after call the timer event deal with objects in
ProceessOnTimerOut methods, Lua interface layers institute is called according to unique mark by ProceessOnTimerOut methods
The interface function of definition, searching Lua according to unique mark index by interface function defined in the Lua interface layers of calling should
With the object in layer, the Lua scripts processing timer event in Lua application layers is triggered.
In one embodiment, as shown in Fig. 2 the self-defined communications protocol in server engine will be used to realize client
Communication between server, between server and server, by using unified self-defined communications protocol to the full extent
The durability of packet parsing between each server is ensure that, improves development efficiency and the extent for multiplexing of each server capability.
It is used to realize that communication bag form to be such as used in communication by taking game server engine as an example, in game server engine
Shown in following table:
Wherein, traffic ID identifies the server corresponding to each business, for example, GameServer is responsible for row board logic
Realize;Play ID corresponding game by unique mark, such as fighting landlord etc.;Platform ID is used to identify user sources platform, i.e.,
Client.
For the version of individual command word, when the content of individual command word needs to expand or changed, consider first to order
Word is expanded.If being not met by demand, consideration is realized using new command word.
As shown in Figure 10, after client is packaged according to the communication bag form described in upper table will carry out network transmission with
Communication bag is transmitted into the server for the server engine for having run above-mentioned server engine implementation method institute framework, server
The communication bag received will be parsed.
As shown in figure 11, in one embodiment, a kind of server engine realize system include monitor module 110, thing
Part distribution module 130 and script calling module 150.
Monitor module 110, the event currently triggered for carrying out action listener.
In the present embodiment, monitor module 110 and carry out action listener to obtain the event triggered in server, currently trigger
Event includes network event and timer event, wherein, network event refers to the event related to network communication, for example, objective
The event or service end that the service end that communication packet transmitted by the end of family reaches is triggered send communication packet to client
Event;Timer event refers to the task that timing required for server performs, for example, every 30 somewhat check server with
Whether the connection between client is still effective.
Further, as shown in Fig. 2 network communication layer is the basis of server engine, for realizing the monitoring of event.
Case distribution module 130, the event handling object for obtaining the event for carrying out case distribution and being located at cementing layer.
In the present embodiment, cementing layer equivalent to server engine intermediate layer, for the various applications in glued application layer
The primitive layer of logical sum bottom, by the clear Compact representations of C Plus Plus by the greatly simplified complexity using interface exploitation, thing
The event that part distribution module 130 currently to trigger will be dispensed to corresponding event handling object in cementing layer, to call phase
The event handling object answered carries out respective handling.Specifically, the event of each triggering has unique corresponding event handling object.
In one embodiment, the cementing layer of server engine will be realized by C Plus Plus, to be provided more for server
It is abundant, or even complicated algorithm and interface, the modularized design being easy to implement in server, and then improve autgmentability.
Script calling module 150, for handling the thing by the event handling object reference Lua scripts positioned at cementing layer
Part.
In the present embodiment, Lua scripts are parasitized in server engine, are realized as the application layer in server engine various
Using logic, the event handling object positioned at cementing layer is by for being responsible for receiving and handling the event currently triggered.Script calls
Corresponding object in the event handling object reference Lua scripts belonging to event that module 150 currently to trigger carries out event
Processing, to realize the response of the event.
Fig. 2 is please referred to, Lua scripts are will be present in server engine in Lua application layers, for realizing various answer
With logic, therefore the interface provided by cementing layer is delivered to Lua application layers by the various events that server engine is triggered
In, and then call Lua scripts to respond the event by script calling module 150, realize corresponding function.
It is more understandable because Lua scripts are the lightweight scripts for extending C++ programmings, therefore, for developer
Speech, reduces coding difficulty, it is not necessary to expends excessive learning cost, and then the various applications based on server engine are opened
Hair quickly greatly improves, and shortens the construction cycle of application.
As shown in figure 12, in one embodiment, the system also includes event judge module 210, client object creates
Module 230 and memory module 250.
Event judge module 210, whether the event for judging currently to trigger is server event, if it is not, then notifying thing
Part distribution module 130, if so, then notifying client object creation module 230.
In the present embodiment, the event that currently triggers may be network event or timer event, wherein, network event includes
Server event and client event, wherein, server event is readable event, the triggering of server event will represent newly
Client be connected with server;Client event is readable event or writeable event, is be different from server event other
Network event, client event are that readable event then represents new communication packet arrival, and writeable event has then represent letter
Breath will return to client.
Event judge module 210 is judged the event currently triggered, if it is service to determine the event currently triggered
Device event, then illustrate there is new client to be connected with server, it is necessary to addition of the client object creation module 230 to client
Relevant treatment is done, if it is not server event to determine the event currently triggered, the event for illustrating currently to be triggered is client
End event or timer event are, it is necessary to which case distribution module 130 is distributed to the event currently triggered.
Client object creation module 230, for the client connection according to corresponding to monitoring obtained server event
The corresponding client event process object of data creation.
In the present embodiment, for the server event currently triggered, client object creation module 230 will receive corresponding
Client connects data, is connected with connecting data initialization client by the client of reception, is registered in server engine
Client, create the client event process object corresponding to the client.Specifically, client event process object will by with
In the client event that client corresponding to processing triggers in server engine.
Memory module 250, the client event for storage creation are dealt with objects, according to client event processing pair
As the storage location generation positional information at place, and the positional information and checking information are returned to the client.
In the present embodiment, memory module 250 is stored the client event process object of establishment, in order to client
When event is triggered, handled by being distributed to corresponding client event.
As shown in figure 13, in one embodiment, above-mentioned memory module 250 includes Node extraction unit 251 and node adds
Add unit 253.
Node extraction unit 251, for extracting node from idle chained list, in the client event processing that node deposit creates
Object.
In the present embodiment, for ease of carry out client event process object storage and extraction, will set idle chained list and
Realized using chained list, idle chained list and cause chained list memory cell is used as using array.
Node extraction unit 251 takes any node from idle chained list, and the node is idle node, can be by the visitor of establishment
Event handling object in family end is stored in this acquirement into node.Compared with traditional memory mechanism, it is not necessary to carry out idle section
The lookup of point, in other words, it is not necessary to which whether query node is idle in turn from the beginning to the end, and its time complexity inquired about is O
(n), wherein, n is the scale of inquiry operation, and increases with n increase, time complexity O(n)It is smaller, then perform effect
Rate is higher.
And the storage of the client event process object carried out by said process directly can take out in idle chained list
First node can obtain idle node, its time complexity O(1), greatly reduce time complexity.
Node adding device 253, for being stored into the node of client event process object added to using in chained list.
In the present embodiment, by realizing the storage of multiple client event handling object using chained list, for being connected to
For the magnanimity client of server, the magnanimity client event process object corresponding to magnanimity client is stored in and used
Chained list will ensure that the order and high efficiency of storage.
Accordingly, the storage dealt with objects in the client event realized by idle chained list and using chained list it
Afterwards, once a certain client disconnects with server, then memory module 250 is needed to deal with objects corresponding client event
Deleted.
Specifically, memory module 250 will be to being searched, to search the client institute disconnected using chained list
Node where corresponding client event process object and client event process object, removes the visitor stored in node
Family end event handling object, and the node is deleted from using chained list, and added in idle chained list, by idle chained list and
It will ensure that time complexity is constant using the memory mechanism that chained list is realized, it is not necessary to consider the increasing of time complexity
Add.
As shown at 14, in one embodiment, above-mentioned case distribution module 130 includes resolution unit 131a, searching unit
133a, matching unit 135a and event handling object acquisition unit 137a.
Resolution unit 131a, for obtaining data corresponding to the event, and parse data corresponding to event and obtain accordingly
Positional information and checking information.
In the present embodiment, data corresponding to the event are the data that client is passed back, include the client and server
Engine establishes the checking information corresponding to positional information and the event resulting during connection.Listen to after the triggering of event,
Resolution unit 131a will obtain data corresponding to the event, and be parsed, to obtain the positional information in data and checking
Information.
Further, the data corresponding to the event include positional information and checking information, wherein, positional information is used for
The storage location of the event handling object of the processing event is indicated, checking information is then used to verify the section corresponding to the positional information
Whether the event handling object stored in point is corresponding with the event, to ensure the accuracy of program operation.
For example, the data corresponding to the event can use this data structure of epoll_event.data, 64 are contained
Field, wherein, first 32 bit field is used to preserve checking information, and latter 32 save position subscript.
Searching unit 133a, node corresponding to positional information is obtained using chained list for searching in cementing layer.
In the present embodiment, the positional information that searching unit 133a obtains according to parsing looked into using chained list
Look for, to obtain corresponding node, the event handling object corresponding to the event currently triggered is stored in the node.
Matching unit 135a, for searching whether obtained node matches with the event by checking information checking, if so,
Then notification event process object acquiring unit 137a, if it is not, then stopping performing.
In the present embodiment, node also saving unique sequence information when preserving event handling object, the number in node
Group subscript is the position of the node.Therefore, the positional information that matching unit 135a obtains according to parsing checks to obtain under array
The mark node consistent with the positional information, and then the sequence information preserved in node is read, by the sequence information and parse
To checking information be compared, judge whether it is consistent, can notification event process object acquiring unit if so, be then verified
The event handling object that 137a is stored using the node responds to the event currently triggered.
Event handling object acquisition unit 137a, for obtaining the event handling object being stored in node.
In the present embodiment, event handling object acquisition unit 137a from search obtained in obtained node be stored in it is therein
Event handling object, with the event currently triggered using the event handling object handles.
In the distribution of above-mentioned event and the acquisition of event handling object, by checking information enter event handling object
Row secondary-confirmation, in the case of high concurrent, especially in the case where magnanimity client connects, store event handling object
There is the overlapping situation of handle and happened occasionally in node, i.e., a certain client may be completed currently because abnormal conditions are also untreated
Another client for being just newly connected of event covered, the handle in turn resulted in event process object is overlapping, in fact,
The event handling object that now node is stored is not to look for obtained event handling object, is not right with current event
Answer, therefore, will can prevent the event handling object handles using covering from working as by the secondary-confirmation that checking information is carried out
Preceding event, it ensure that the accuracy of operation.
In one embodiment, above-mentioned script calling module 150 is additionally operable to by the event handling object positioned at cementing layer
Corresponding interface function in Lua interface layers is called, triggering Lua scripts by interface function handles the event.
In the present embodiment, registration correlation function is also called mould by the cementing layer in server engine to Lua application layers, script
Block 150 notifies Lua scripts to handle the event currently triggered by calling related Lua interface functions.
Further, referring to Fig. 2, the cementing layer in server engine includes C++ cementing layers and Lua interface layers, its
In, C++ cementing layers then provide the distribution for the event that realizes and the acquisition of event handling object, Lua interface layers for Lua application layers
The interface of access cementing layer, i.e. C++ main programs.
Because the data structure in obtained event handling object is present in the form of C Plus Plus, for Lua application layers
For, it is that can not directly invoke, it is necessary to carry out the conversion of data structure to it, by by number existing in the form of C Plus Plus
According to structure be converted in the form of Lua language existing for data structure.
Therefore, advance equipment mapping table, wherein, mapping table have recorded the event handling realized in the form of C Plus Plus
Mapping relations between the event handling object that the form of object and corresponding Lua language is realized.
Script calling module 150 is turned the data structure in obtained event handling object by the mapping table of setting
Change, be converted to Lua language realization event handling object, and then search obtain in Lua interface layers with the event after conversion
The Lua interface functions corresponding to object are managed, to call Lua interface functions trigger event in Lua application layers, call Lua scripts
In function handle the event.
Wherein, because C++ cementing layers are realized by C Plus Plus, and Lua application layers are realized by Lua language,
The language realized is different, therefore can not directly invoke Lua scripts, it is necessary to by mapping the data to being write using C Plus Plus
Structure carries out changing the function in the addressable Lua scripts.
In one embodiment, said system also includes time-obtaining module, and the time-obtaining module is used for from setting
Obtained in timer event i.e. by overdue minimum time.
In the present embodiment, server engine usually sets several timer events, therefore time during running
Acquisition module is obtained i.e. from several timer events of setting by overdue minimum time.
As shown in figure 15, in one embodiment, it is single including action listener unit 111 and triggering judgement to monitor module 110
Member 113.
Action listener unit 111, for the timeout value using the minimum time of acquisition as action listener, open event prison
Listen, and the network event or timer currently triggered by the current action listener of the triggering or time-out stopping of network event
Event.
In the present embodiment, the action listener carried out in server engine is that circulation is carried out, and is getting timer event
In i.e. by after overdue minimum time, timeout value of the action listener unit 111 using this minimum time as action listener, i.e.,
The new round currently started monitors corresponding timeout value.
Further, after the timeout value there is provided action listener, action listener unit 111 will cause reactor object
Start a new round to monitor, question response device object notice network event is triggered or time-out will carry out the processing of network event afterwards
Then followed by processing timer event, or processing timer event.The reactor object is Reactor objects, is in
In network communication layer
Judging unit 113 is triggered, for judging whether network event is triggered, if so, then notification event judge module
210, if it is not, then notification event distribution module 130.
In the present embodiment, after the action listener stopping currently being carried out, triggering judging unit 113 will determine that so that current
Whether the reason for action listener carried out stops is the triggering of network event, if so, then entering step S210 carries out network thing
The processing of part, if it is not, then illustrating that timer event is triggered, therefore, it is necessary to distribute timer event into step S130, with place
Manage the timer event.
As shown in figure 16, in one embodiment, above-mentioned case distribution module 130 includes inspection unit 131b and timer
Object acquisition unit 133b.
Inspection unit 131b, for being examined in each timer chain meter, according to addition timer in timer chain meter
The sequencing of event handling object judges whether timer event process object expires successively, if so, then notifying timer pair
As acquiring unit 133b, if it is not, then notifying time-obtaining module 310.
In the present embodiment, be not triggered if inspection unit 131b determines network event, timer event is triggered, then according to
Secondary each timer chain meter of inspection, the sequencing inspection according to timer event process object added to timer chain meter are
It is no to expire, if the first timer event process object checked is not yet due, it can directly stop checking, directly notify the time
Acquisition module 310, if it is not, then notice timer object acquiring unit 133b acquires overdue timer event processing pair
As, and respond.
Because timer event process object is to be added to according to the sequencing of time in timer chain meter, first
Timer event process object will be overdue earliest, therefore, if inspection unit 131b checks to obtain first timer event
Deal with objects not yet due, then necessarily checked again, to save system resource.
If triggering judging unit 113 determines network event and is triggered, and network event is handled by script calling module 150
Inspection unit 131b will be notified after finishing, and then the processing of network event and timer event in server engine is obtained
It is unified, improve the accuracy of operation.
Timer object acquiring unit 133b, for obtaining overdue timer event process object.
In the present embodiment, timer object acquiring unit 133b is obtained from timer chain meter at overdue timer event
Object is managed, to call Lua scripts to be responded by the timer event process object positioned at cementing layer.
In one embodiment, timer chain meter is used to load all task of timer, for storing timer event
Process object, and then the task of timer for completing setting is dealt with objects by timer event.
Further, timer chain meter is made up of multiple doubly linked lists, the timer event in each doubly linked list
Process object all will be corresponding with same time type.
Accordingly, the addition that timer event is dealt with objects in timer chain meter only needs to be traveled through according to time type
To find time type identical doubly linked list, timer event process object is added to chained list afterbody;Timer
The deletion of event handling object will directly delete corresponding node, and node before and after connecting, Two-way Chain in timer chain meter
The time for greatly reducing addition timer event process object and deletion timer event process object is answered in the setting of table
Miscellaneous degree, improves efficiency.
In one embodiment, server engine needs usually to need to be timed device event according to the exploitation of application logic
The establishment of process object, and the timer event process object of establishment is opened, and then trigger and perform timer event process object,
To complete to apply the timed task in logic.
Developer can be by calling the constructed fuction of timer class to call defined in Lua interface layers in Lua application layers
The Lua interface function create_timer that Lua functions, i.e. C++ cementing layers are registered, this Lua interface function will correspond to C++
Tolua_interface_timer_creater_timer00 functions in cementing layer, now, tolua_interface_
In timer_creater_timer00 functions can it is newly-built go out timer event process object, and distribute unique mark
index.Using unique mark index as key, stored using timer event process object as value, and by the timer thing
The unique mark index of part process object returns to Lua application layers, and then completes the establishment of timer event process object.
When needing to open the timer event process object created, by incoming corresponding parameter, such as interval time
(inteval)Whether execution is circulated(isloop), now, the function defined in Lua interface layers will be called, such as
StartTimer functions, now, the function that C++ cementing layers will be called to be registered by the function defined in Lua interface layers, and will
Timer event process object unique mark index, interval time and whether circulate execution etc. be used as parameter transmission.
Corresponding timer event process object is searched in C++ cementing layers according to the unique mark of transmission, and will be incoming
Interval time and whether circulate perform the two parameters assign the timer event process object, at completion timing device event
Manage the unlatching of object.
After opening timer event process object, timer event process object will be added in timer chain meter
Detection, with treat the timer event process object expire after call the timer event deal with objects in
ProceessOnTimerOut methods, Lua interface layers institute is called according to unique mark by ProceessOnTimerOut methods
The interface function of definition, searching Lua according to unique mark index by interface function defined in the Lua interface layers of calling should
With the object in layer, the Lua scripts processing timer event in Lua application layers is triggered.
In one embodiment, the self-defined communications protocol in server engine will be used to realizing client and server it
Between, the communication between server and server, each clothes ensure that by using unified self-defined communications protocol to the full extent
The durability of packet parsing, improves development efficiency and the extent for multiplexing of each server capability between business device.
The method and system of above-mentioned server engine, the event that action listener is currently triggered is carried out, enter to act
Part is distributed to obtain the event handling object that the event is located at cementing layer, passes through the event handling object reference Lua positioned at cementing layer
Script handles the event, and because Lua scripts are deposited in server engine, server engine realizes event by Lua scripts
Processing so that developer is that the new exploitation using logic can be achieved by Lua scripts, because Lua scripts are lightweights
Script, therefore greatly reduce learning cost of the developer to server engine is new in server engine to realize
Using the quick exploitation of logic.
One of ordinary skill in the art will appreciate that realize all or part of flow in above-described embodiment method, being can be with
The hardware of correlation is instructed to complete by computer program, described program can be stored in a computer read/write memory medium
In, the program is upon execution, it may include such as the flow of the embodiment of above-mentioned each method.Wherein, described storage medium can be magnetic
Dish, CD, read-only memory(Read-Only Memory, ROM)Or random access memory(Random Access
Memory, RAM)Deng.
Embodiment described above only expresses the several embodiments of the present invention, and its description is more specific and detailed, but simultaneously
Therefore the limitation to the scope of the claims of the present invention can not be interpreted as.It should be pointed out that for one of ordinary skill in the art
For, without departing from the inventive concept of the premise, various modifications and improvements can be made, these belong to the guarantor of the present invention
Protect scope.Therefore, the protection domain of patent of the present invention should be determined by the appended claims.
Claims (16)
1. a kind of implementation method of server engine, comprises the following steps:
Carry out the event that action listener is currently triggered;
Data corresponding to the event are obtained, and data corresponding to parsing the event obtain corresponding positional information and checking is believed
Breath;
Carry out case distribution and obtain the event handling object that the event is located at cementing layer;
The event is handled by the event handling object reference Lua scripts positioned at cementing layer;
The progress case distribution obtains the step of event is located at the event handling object of cementing layer, including:Search glued
Node corresponding to positional information is obtained using chained list in layer, search obtained node by checking information checking is with the event
No matching, if so, the event handling object being stored in the node is obtained, wherein, the cementing layer is in communications protocol middle position
Between Web communication layer and Lua application layers.
2. according to the method for claim 1, it is characterised in that the progress case distribution obtains the event positioned at gluing
Before the step of event handling object of layer, methods described also includes:
Whether the event for judging currently to trigger is server event, if it is not, then obtaining the event position into progress case distribution
In the event handling object of cementing layer the step of, if so, then
The corresponding client event processing pair of client connection data creation corresponding to the server event obtained according to monitoring
As;
Store the client event process object of the establishment.
3. according to the method for claim 2, it is characterised in that the client event process object of the storage establishment
The step of include:
Node is extracted from idle chained list, the client event process object of the establishment is stored in the node;
By the node of the deposit client event process object added to using in chained list.
4. according to the method for claim 1, it is characterised in that described to pass through the event handling object positioned at cementing layer
The step of calling Lua scripts to handle the event includes:
By corresponding interface function in the event handling object reference Lua interface layers positioned at cementing layer, connect by described
Mouth function triggers the Lua scripts and handles the event.
5. according to the method for claim 1, it is characterised in that the event for carrying out action listener and currently being triggered
Before step, methods described also includes:
Obtained from the timer event of setting i.e. by overdue minimum time.
6. according to the method for claim 5, it is characterised in that the event for carrying out action listener and currently being triggered
Step includes:
Using the minimum time as the timeout value of action listener, action listener, and the triggering or super for passing through network event are opened
When stop network event or timer event that current action listener is currently triggered;
Judge whether network event is triggered, if so, then into judge the event that currently triggers whether be server event step
Suddenly, if it is not, then
The step of event is located at the event handling object of cementing layer is obtained into the progress case distribution.
7. according to the method for claim 6, it is characterised in that the progress case distribution obtains the event positioned at gluing
The step of event handling object of layer, includes:
Each timer chain meter is examined in, according to the priority of addition timer event process object in the timer chain meter
Order judges whether timer event process object expires successively, if so, then
Obtain the overdue timer event process object.
8. according to the method for claim 7, it is characterised in that methods described also includes:
If network event is determined to be triggered, and the network event is processed finish after will enter it is described be examined in it is each
The step of timer chain meter.
9. a kind of server engine realizes system, it is characterised in that including:
Monitor module, the event currently triggered for carrying out action listener;
Case distribution module, the event handling object for obtaining the event for carrying out case distribution and being located at cementing layer, wherein, institute
Stating case distribution module includes:Resolution unit, for obtaining data corresponding to the event, and parse number corresponding to the event
According to obtaining corresponding positional information and checking information;Searching unit, institute is obtained using chained list for searching in the cementing layer
Node corresponding to positional information is stated, cementing layer is in communications protocol between Web communication layer and Lua application layers;Matching is single
Member, for verifying whether the node that the lookup obtains matches with the event by the checking information, if so, then notifying thing
Part deals with objects acquiring unit;The event handling object acquisition unit is used to obtain the event handling being stored in the node
Object;
Script calling module, for handling the event by the event handling object reference Lua scripts positioned at cementing layer.
10. system according to claim 9, it is characterised in that the system also includes:
Event judge module, whether the event for judging currently to trigger is server event, if it is not, then notifying the event point
Module is sent out, if so, then notifying client object creation module;
The client corresponding to server event that the client object creation module is used to be obtained according to monitoring connects data
Create corresponding client event process object;
Memory module, the client event for storing the establishment are dealt with objects.
11. system according to claim 10, it is characterised in that the memory module includes:
Node extraction unit, for extracting node from idle chained list, it is stored in the node at the client event of the establishment
Manage object;
Node adding device, used in chained list for the node of the deposit client event process object to be added to.
12. system according to claim 9, it is characterised in that the script calling module is additionally operable to be located at by described
Corresponding interface function in the event handling object reference Lua interface layers of cementing layer, the Lua is triggered by the interface function
The script processing event.
13. system according to claim 9, it is characterised in that the system also includes:
Time-obtaining module, for being obtained overdue minimum time from the timer event of setting i.e..
14. system according to claim 13, it is characterised in that the monitoring module includes:
Action listener unit, for the timeout value using the minimum time as action listener, action listener is opened, and pass through net
The triggering of network event or time-out stop network event or timer event that current action listener is currently triggered;
Judging unit is triggered, for judging whether network event is triggered, if so, the event judge module is then notified, if it is not,
Then notify the case distribution module.
15. system according to claim 14, it is characterised in that the case distribution module includes:
Inspection unit, for being examined in each timer chain meter, according to addition timer event in the timer chain meter
The sequencing of process object judges whether timer event process object expires successively, if so, then notice timer object obtains
Take unit;
The timer object acquiring unit is used to obtain the overdue timer event process object.
16. system according to claim 15, it is characterised in that if the triggering judging unit determines the network thing
Part is triggered, and the network event be disposed by the script calling module after will notify the inspection unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284753.5A CN104281488B (en) | 2013-07-08 | 2013-07-08 | The method and system of server engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310284753.5A CN104281488B (en) | 2013-07-08 | 2013-07-08 | The method and system of server engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104281488A CN104281488A (en) | 2015-01-14 |
CN104281488B true CN104281488B (en) | 2018-01-19 |
Family
ID=52256389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310284753.5A Active CN104281488B (en) | 2013-07-08 | 2013-07-08 | The method and system of server engine |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104281488B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740326B (en) * | 2016-01-21 | 2021-01-15 | 腾讯科技(深圳)有限公司 | Thread state monitoring method and device for browser |
CN106375324B (en) * | 2016-09-08 | 2020-02-14 | 深圳先进技术研究院 | Network communication system and method based on TCP/IP communication protocol |
CN108073389B (en) * | 2017-12-11 | 2021-05-04 | 长沙海米网络技术有限公司 | Engine system based on script language |
CN110096340B (en) * | 2018-01-29 | 2020-11-17 | 北京世纪好未来教育科技有限公司 | Timing task processing method and device |
CN114840219B (en) * | 2022-07-06 | 2023-05-05 | 湖南傲思软件股份有限公司 | Distributed event processing system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880464A (en) * | 2012-08-31 | 2013-01-16 | 中山市世宇动漫科技有限公司 | Three-dimensional game engine system |
CN103051692A (en) * | 2012-12-11 | 2013-04-17 | 中国能源建设集团广东省电力设计研究院 | Mobile operation system working platform supporting extreme network environment |
CN103186372A (en) * | 2011-12-29 | 2013-07-03 | 上海聚位网络科技发展有限公司 | Game engine |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009031093A1 (en) * | 2007-09-07 | 2009-03-12 | Ambx Uk Limited | A method for generating an effect script corresponding to a game play event |
-
2013
- 2013-07-08 CN CN201310284753.5A patent/CN104281488B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186372A (en) * | 2011-12-29 | 2013-07-03 | 上海聚位网络科技发展有限公司 | Game engine |
CN102880464A (en) * | 2012-08-31 | 2013-01-16 | 中山市世宇动漫科技有限公司 | Three-dimensional game engine system |
CN103051692A (en) * | 2012-12-11 | 2013-04-17 | 中国能源建设集团广东省电力设计研究院 | Mobile operation system working platform supporting extreme network environment |
Non-Patent Citations (1)
Title |
---|
LUA脚本语言在游戏引擎中的应用分析;魏江平;《微型电脑应用》;20080420;第24卷(第04期);1 * |
Also Published As
Publication number | Publication date |
---|---|
CN104281488A (en) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104281488B (en) | The method and system of server engine | |
CN108833197B (en) | Active detection method and detection platform based on cloud | |
CN103605764B (en) | A kind of network crawler system and web crawlers multitask execution and dispatching method | |
CN105550228B (en) | Intelligent storage device and based on the access recognition methods of Intelligent storage device, system | |
CN109120461B (en) | A kind of service feature end-to-end monitoring method, system and device | |
CN105512044B (en) | Update method and system for the library of object of keyword driving test | |
US20120173693A1 (en) | Method and Device for Association Management of Network Resources | |
US7818752B2 (en) | Interface for application components | |
CN107590072A (en) | A kind of application and development and the method and apparatus of test | |
CN107809383A (en) | A kind of map paths method and device based on MVC | |
US11294740B2 (en) | Event to serverless function workflow instance mapping mechanism | |
US20160321036A1 (en) | Dynamically monitoring code execution activity to identify and manage inactive code | |
CN103701653B (en) | The processing method of a kind of interface hot plug configuration data and network configuration server | |
CN116976457A (en) | Model loading method, reasoning system, device and computer equipment | |
CN106302459A (en) | Networking operational approach and device | |
CN111736983A (en) | Micro-service deployment method facing task and resource perception | |
CN106911730A (en) | A kind of cloud disk service device accesses moving method and device | |
CN107766707B (en) | Method and apparatus for responding to user request in application container engine | |
CN113360361A (en) | Method, device and equipment for constructing distributed operation and maintenance simulation system | |
JP2006025434A (en) | System and method for high capacity fault correlation | |
CN107862040A (en) | The update method of data, device and a kind of cluster in a kind of caching of application example | |
CN106020822B (en) | Weak reference implementation method and device towards Pool object | |
CN105447012B (en) | A kind of write-in mutual exclusion method and device for database | |
CN108667649B (en) | A kind of malfunction elimination method, apparatus and server | |
CN109947488A (en) | Object initialization method, apparatus, equipment and the storage medium of general utility functions module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |