CN101277212B - Resource management platform and resource management method - Google Patents

Resource management platform and resource management method Download PDF

Info

Publication number
CN101277212B
CN101277212B CN2007100388356A CN200710038835A CN101277212B CN 101277212 B CN101277212 B CN 101277212B CN 2007100388356 A CN2007100388356 A CN 2007100388356A CN 200710038835 A CN200710038835 A CN 200710038835A CN 101277212 B CN101277212 B CN 101277212B
Authority
CN
China
Prior art keywords
unit
plug
kernel
extension point
platform
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.)
Expired - Fee Related
Application number
CN2007100388356A
Other languages
Chinese (zh)
Other versions
CN101277212A (en
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.)
Shanghai Triman Information & Technology Co Ltd
Original Assignee
Shanghai Triman Information & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Triman Information & Technology Co Ltd filed Critical Shanghai Triman Information & Technology Co Ltd
Priority to CN2007100388356A priority Critical patent/CN101277212B/en
Publication of CN101277212A publication Critical patent/CN101277212A/en
Application granted granted Critical
Publication of CN101277212B publication Critical patent/CN101277212B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a resource management platform which includes a platform core. The platform core includes a core insert and an insert system. The core insert is an original root of non-core insert for providing base extension point and base extender; the insert system processes the insert registration, and also saves incidence relation between the core insert and the non-core insert, the non-core insert and non-core insert; the resource management platform also includes extension point, extender and extending, and realizes resource management according with platform core, extension point, extender and extending, wherein, exterior application of platform can transfer resource of resource management platform according with extension point, extender and extending. The invention also discloses a resource management method. The resource management platform provided by the invention processes conformity and maintenance to various type resource, and maintains data consistency; resource user accesses resource with a transparent method. The resource management platform solves various problems of resource sharing efficiently.

Description

Resource management platform and method for managing resource
Technical field
The present invention relates to resource management techniques, more particularly, relate to a kind of resource management platform and method for managing resource.
Background technology
Along with the continuous development of network technology, resource-sharing becomes the urgent demand of many enterprise-level applications gradually.Though some application systems have realized the function of partly sharing at present, under a lot of situations, this sharing is only limited to the interior resource of access finite element network or for finite element network provides resource, can not satisfies more general, more extensive shared demand.
Common application system can't accomplish that this reason general, that extensively share mainly contains 2 points: the one, and application system user (asu) is reluctant all resource openings for the consideration of level security; The 2nd, even application system user (asu) is ready even need be with the opening of a part of resource, but there is not a kind of unified approach to make its resource security, open reliably.
Summary of the invention
The purpose of this invention is to provide a kind of unified resource management platform (Universal ResourceManagement Platform),, resource is carried out unified management at the problems referred to above.The unified resource management platform is one " resource service supplier " (Resource Service Provider), and its target is to be various " resource service clients " (Resource Service Client)---resource provider (Resource Provider) and resource user (Resource Consumer)---provides collection of resources (Provide), resource consolidation (Integrate), resource to transmit (Transport), resource subscription/receive/obtain various resource service such as (Subscribe/Receive/Consume).
The resource that resource provider will be opened to the platform registration is opened by platform agent, thereby can effectively guarantee the fail safe of provider's local resource; Platform is responsible for various different types of resources are integrated and safeguarded, is kept the consistency of data; Resource user is then with a kind of complete transparent way access resources.
According to an aspect of the present invention, provide a kind of resource management platform, comprising:
Platform kernel, platform kernel comprise,
Kernel plug-in unit, kernel plug-in unit are original of non-kernel plug-in unit, comprising:
Basis extension point, basic extension point are the interfaces that uses for non-kernel plug-in unit;
Basis expansion person, the interface of basic extension point realizes that basic expansion person is by in non-
The expansion person that nuclear plug-in unit or platform applications are called;
The plug-in unit system, kernel plug-in unit and non-kernel plug-in unit need be registered to the plug-in unit system, insert
The part system also preserve kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit it
Between incidence relation;
Extension point, extension point are interfaces that quilt is named, and are provided by non-kernel plug-in unit;
Expansion person, the interface of extension point is realized, is provided by non-kernel plug-in unit;
Expansion, extension point is connected with the expansion person's who realizes this extension point interface name;
Described resource management platform is by the management of platform kernel, extension point, expansion person and expansion realization resource, and wherein, the resource of resource management platform is called in the application of platform outside by extension point, expansion person and expansion.
According to an embodiment, the basic extension point that the kernel plug-in unit provides is the service extension point, and basic expansion person is service.Basic extension point and basic expansion person that the kernel plug-in unit provides comprise: the log services point, log services is provided, and the log services that the non-kernel plug-in unit of all in resource management platform usage log service point provides is carried out log record; The log services point is connected to register, and the log services service recorder device of kernel plug-in unit is finished log record.
Among the present invention, each in kernel plug-in unit and the non-kernel plug-in unit has an initialization order, and kernel plug-in unit and non-kernel plug-in unit determine registration order according to its initialization order when the plug-in unit system registry; Wherein, initialization order is determined by the dependence between the plug-in unit.
Resource management platform of the present invention also provides the program level interface, uses for platform kernel and non-kernel plug-in unit; And the application layer interface, the application of funding source control platform outside is used.
According to a second aspect of the invention, provide a kind of method for managing resource, comprising:
One kernel plug-in unit is provided, and as non-kernel plug-in unit original provides basic extension point in the kernel plug-in unit, as the interface that uses for non-kernel plug-in unit, and basic expansion person, realize as the interface of basic extension point, and called by non-kernel plug-in unit or platform applications;
One plug-in unit system is provided;
Kernel plug-in unit and non-kernel plug-in unit are registered to the plug-in unit system;
The plug-in unit system preserves the incidence relation between kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and the non-kernel plug-in unit;
Non-kernel plug-in unit provides extension point, and extension point is an interface that quilt is named;
Non-kernel plug-in unit provides expansion person, and expansion person is that the interface of extension point is realized;
Extension point and the expansion person that realizes this extension point interface named be connected, expansion is provided.
According to one embodiment of the invention, the basic extension point that provides in the kernel plug-in unit is the service extension point, and basic expansion person is service.The basic extension point and the basic expansion person that provide in the kernel plug-in unit comprise: the log services point, log services is provided, and the log services that the non-kernel plug-in unit of all in resource management platform usage log service point provides is carried out log record; The log services point is connected to register, and the log services service recorder device of kernel plug-in unit is finished log record.
In the present invention, each in kernel plug-in unit and the non-kernel plug-in unit has an initialization order, and kernel plug-in unit and non-kernel plug-in unit determine registration order according to its initialization order when the plug-in unit system registry; Wherein, initialization order is determined by the dependence between the plug-in unit.
This method also comprises: provide the program level interface to use for platform kernel and non-kernel plug-in unit; Provide the application of application layer interface funding source control platform outside to use.
Adopt technical scheme of the present invention, by setting up the uniform resource management platform, the resource that resource provider will be opened to the platform registration is opened by platform agent, thereby can effectively guarantee the fail safe of provider's local resource; Platform is responsible for various different types of resources are integrated and safeguarded, is kept the consistency of data; Resource user is then with a kind of complete transparent way access resources.Efficiently solve the variety of issue of resource-sharing.
Description of drawings
Fig. 1 shows the structure chart according to the resource management platform of one embodiment of the invention;
Fig. 2 shows the flow chart according to the method for managing resource of one embodiment of the invention.
Embodiment
The present invention at first provides a kind of resource management platform, and the structure chart with reference to figure 1 shows an one example 100 comprises:
Platform kernel 102, platform kernel 102 comprise,
Kernel plug-in unit 120, kernel plug-in unit are original of non-kernel plug-in unit 140, comprising:
Basis extension point 122, basic extension point are the interfaces that uses for non-kernel plug-in unit 140;
Basis expansion person 124, the interface of basic extension point realizes, basic expansion person is the expansion person that can be called by non-kernel plug-in unit 140 or platform applications;
Plug-in unit system 126, kernel plug-in unit 120 and non-kernel plug-in unit 140 need be registered to plug-in unit system 126, and plug-in unit system 126 also preserves the incidence relation between kernel plug-in unit 120 and non-kernel plug-in unit 140 and non-kernel plug-in unit 140 and the non-kernel plug-in unit 140;
Extension point 104, extension point 104 are the interfaces that quilt is named, and are provided by non-kernel plug-in unit 140;
Expansion person 106, and the interface of extension point 104 is realized, provided by non-kernel plug-in unit 140;
Expansion 108, extension point 104 is connected with the expansion person's 106 who realizes this extension point interface name;
Resource management platform 100 is by platform kernel 102, extension point 104, expansion person 106 and expand 108 management that realize resources, and wherein, the application of platform outside can and be expanded 108 resources of calling resource management platform by extension point 104, expansion person 106.
Based on above-mentioned resource management platform, the present invention also provides a kind of method for managing resource 200, and with reference to shown in Figure 2, this method comprises:
202. a kernel plug-in unit is provided, and as non-kernel plug-in unit original provides basic extension point in the kernel plug-in unit, as the interface that uses for non-kernel plug-in unit, and basic expansion person, realize as the interface of basic extension point, and can be called by non-kernel plug-in unit or platform applications;
204. a plug-in unit system is provided;
206. kernel plug-in unit and non-kernel plug-in unit are registered to the plug-in unit system;
208. the plug-in unit system preserves the incidence relation between kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and the non-kernel plug-in unit;
210. non-kernel plug-in unit provides extension point, extension point is an interface that quilt is named;
212. non-kernel plug-in unit provides expansion person, the interface of extension point is realized;
214. extension point and the expansion person that realizes this extension point interface named be connected, expansion be provided.
The resource management platform basic framework
In the present invention, platform kernel (Core) is the core component and the basis of whole resource management platform.Resource management platform of the present invention adopts plug-in unit (Plugin) mode to realize that all plug-in units are independently of one another, and the platform kernel is responsible for safeguarding the association between all plug-in units.Kernel provides the root of kernel plug-in unit (CorePlugin) as all plug-in units.The platform kernel is " lightweight " parts, and the unreal incumbent functional requirement what is used of itself only is responsible for finishing most basic plug-in services and most basic one group of extension point is provided.On the platform kernel, insert each functional module, insert their specific plug-in units on each functional module again, finally finish and use specific function.
Resource management platform of the present invention adopts Plugin Mechanism, expansion platform function easily, and need not change existing code.The plug-in unit system relies on extension point (Extension Point), expansion person (Extender) and expansion (Extension) to realize.Need to prove that in the resource management platform of the present invention, except the kernel plug-in unit in the platform kernel is basic plug-in unit, remaining plug-in unit all is the plug-in unit that expanded application is used, and can be considered as non-kernel plug-in unit.In the narration below, " plug-in unit " will be used in reference to non-kernel plug-in unit of generation, and the kernel plug-in unit will be named specially.And,, represent same notion for term " plug-in unit " and " non-kernel plug-in unit ".
Extension point (Extension Point) is exactly the interface of a name.The name unique identification this extension point, and interface specification the functional specification of this extension point expectation.Two different extension points can have same interface, but same name can not be arranged.Can be expanded by other plug-in units if plug-in unit is expected its function, then, be defined as an extension point, and plug-in unit itself not need to realize this interface this functional interface name.For example, data engine (Data Engine) plug-in unit need read the data of certain data source, but different data sources (for example JDBC data source and XML document data source) has different access modes.Data engine is not expected to rely on certain specific realization and is read specific data source, has therefore defined adapter (Adapter) extension point.Data engine itself is only operated adaptor interface, and the realization of not responsible adapter.Data engine registers this extension point to after the kernel, and kernel is responsible for itself and the adapter of other plug-in registrations are realized related, realizes thereby make data engine visit adapter fully pellucidly.
Expansion person (Extender) is exactly the realization of an extension point interface.Expansion person only is concerned about realization, and need not be concerned about that who can use this realization.If two extension points have defined same interface, expansion person itself can not determine which extension point it can be used by so.An expansion person can realize a plurality of extension point interfaces.Expansion person's example is created by expansion person factory (Extender Home).
Expansion (Extension) is exactly that an extension point and a name of expanding the expansion person of its interface are connected.An expansion comprises following information: a unique name, the name of the extension point that is expanded, and the expansion person factory that realizes this extension point interface.If the extension point of other plug-in units of plug-in unit expectation expansion then must be realized corresponding expansion person, corresponding expansion person is provided factory, and to the corresponding expansion of kernel registration.Kernel is responsible for expansion person is connected with extension point, and when the plug-in unit of definition extension point needs, utilizes expansion person factory to create expansion person's example, offers this plug-in unit and uses.Usually the expansion person's who the name of expansion also is called expansion and is connected name.
The platform kernel
In platform kernel of the present invention, provide the plug-in unit on a basis, the kernel plug-in unit.Kernel plug-in unit (Core Plugin) is the basic plug-in unit of the platform bottom, is original that all plug-in units insert.The kernel plug-in unit has defined the bottom basis extension point of platform: service (Service).The kernel plug-in unit is different from common independent plug-in unit, and it is the part of platform kernel.
Service is exactly the external functional interface of platform, is to use relevant function set.A platform kernel itself is " lightweight " parts, and it only safeguards the plug-in unit association, and does not realize any specific functional requirement.Some specific function if certain plug-in unit need be opened to the outside world, then its this need to be organized functional definition be a service, and rely on the kernel plug-in unit and derive.For example, rule management (RuleManager) need externally provide the operation-interface of one group of maintenance regulation, then it need be defined as an expansion person who realizes the service extension point interface---rule service (Rule Service) with this group operation, and it is connected with the service extension point of kernel plug-in unit by an expansion, when the user needs the service regeulations service, just can use the name of this expansion to use (borrow) service later on to kernel.
Each service all is an expansion person, and it has expanded the service extension point of kernel plug-in unit; The name of service and the expansion that links up of kernel services extension point also is defined as the name of serving.Service is that as the difference that expansion person is different from other common expansion persons service is directly externally derived by kernel, as the unified inlet of platform feature, uses use by other; Common expansion person is not then by known to the applications, and only the plug-in unit that provides by its corresponding extension point uses.Service can also can internally be used by other plug-in units externally by the application call of platform outside.
Log services (Log Service) is the infrastructure service that the kernel plug-in unit provides.All plug-in units in the system can use this service to finish log record.Register (Logger) is the extension point that is used to realize log services of kernel plug-in unit definition.The log services of kernel plug-in unit can use the register that is connected on this extension point to finish the record of daily record.When the daily record service was called, the kernel plug-in unit can call the record that all registers that connected are finished daily record in turn.If accept this record without any a register, then the kernel plug-in unit can be with log record on standard output (stdout) or standard error (stderr) equipment.Different daily record promoter (Log Originator) may have different log information forms, has only the specific register at this promoter can discern and write down its message.
In the platform kernel another important parts are plug-in unit systems, the plug-in unit system is responsible for all plug-in units, comprises the registration of kernel plug-in unit and non-kernel plug-in unit; And safeguard all plug-in units, comprise the incidence relation between kernel plug-in unit and the non-kernel plug-in unit.
All plug-in units comprise that kernel plug-in unit and non-kernel plug-in unit all must register to kernel.Static plug-in unit is registered by kernel when kernel starts, and kinematic insert starts the back at kernel and registered by application program.Plug-in unit is by the name unique identification.The plug-in unit of the same name of different editions has only highest version effective.If the lowest version of a certain plug-in unit is registered, attempt to register higher version again, so all extension points and the expansion of the necessary complete compatible lowest version definition of highest version.
Each plug-in unit has an initialization order (Initialization Order), has determined its registration order.The kernel plug-in unit is that first is initialized forever, and its initialization order is 0.Other plug-in units then must define initialization order according to dependence.For example the data engine plug-in unit only relies on the kernel plug-in unit, and its initialization order is 1; And the data engine tool insert relies on the data engine plug-in unit, and its initialization order is 2.The static plug-in unit that initialization order loads when only platform being started is effective.For the kinematic insert of platform startup post-registration, initialization order is the order of its registration.
Provide the plug-in unit of extension point to be called host's plug-in unit (Host Plugin), provide the plug-in unit of expansion to be called subordinate plug-in unit (Dependent Plugin).A plug-in unit can be host's plug-in unit and subordinate plug-in unit simultaneously.Because the subordinate plug-in unit depends on relevant host's plug-in unit, so the subordinate plug-in unit must be registered after host's plug-in registration.
Plug-in unit system in the platform kernel is responsible for also safeguarding that the expansion of (comprising between kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit) between plug-in unit and plug-in unit is related.When the plug-in unit that extension point is provided need use expanded function, at first use (borrow) and be connected to expansion person on this extension point, utilize the function that expansion person finishes to be needed then, at last expansion person is given back (revert) to kernel.Only according to the interface operation of extension point definition, and needn't be concerned about expansion person's realization or who provides expansion person when the plug-in unit operation expansion person of extension point is provided, thereby realize the transparent expansion of pin function.
The platform kernel relies on the kernel plug-in unit service externally is provided.Kernel itself is indifferent to the realization of service.When applications or other plug-in units need use service, at first use service to kernel, after being used to complete service is given back according to the name of service extension.
Plug-in unit for example
Introduce the example of the plug-in unit that uses in the resource management platform of the present invention below.
Rule management (Rule Manager)
Rule management is responsible for safeguarding that being used for the resource transfer process needs " evaluator (Evaluator) " that use.Evaluator is divided into two classes: regular device (Ruler) and mapper (Mapper).
Rule management is made of rule management plug-in unit and rule management tool insert.
Rule device (Ruler) is an extension point interface of rule management plug-in unit definition.Its function is one group of parameter of input, behind the evaluation, the result is returned.The rule device is similar to the function of " function (Function) ".
The realization of each regular device itself is an expansion person, does not have name.But the expansion that regular device expansion person is connected to regular device extension point has name, and the name of this expansion just is defined as the name of regular device.The name of rule device is similar to " function name (Function Name) ".
Rule device metadata (Ruler Metadata) has been described the function of input parameter type, return value type and the regular device of regular device acceptance.For example, a regular device of finishing the concatenation character string operation, requiring the input parameter number is 2, and parameter type is String, and return value also is String.Metadata information is used for using to exterior visual application Dynamic Definition conversion binding (Binding).Metadata category is similar to " function declaration and document (Function Declaration and Documents) ".
Each regular device all has a concrete realization.Realization will be called by other plug-in units, finish function.Call when realizing, the value (real ginseng) of parameter is provided providing by caller.Realization is similar to " function is realized (Function Implementation) ".
Mapper (Mapper) is an entity (being not extension point), and it comprises the value mapping of a group " source---target ".All mappers can be realized with regular device.But realize because regular device itself is a code, and mapper is a class value, therefore realizes that with regular device mapping function is flexible not as mapper.
Be similar to regular device, each mapper all must have a uniquely identified name.
Mapper metadata (Mapper Metadata) has been described source, the target type of mapper, and the function of mapper.For example, one is mapped as integer-valued mapper with Boolean, and its Source Type is BOOL, and target type is INTEGER, and function is that True is mapped as 1, and False is mapped as 0.Be similar to regular device metadata, the mapper metadata information also is used for using to exterior visual application Dynamic Definition conversion binding (Binding).
Each mapper comprises one group of map entry (Entry).Each clauses and subclauses is formed (Target) by a source (Source) and a target.For example above-mentioned Boolean is to the integer value mapper, and it will comprise two clauses and subclauses: the source of first clauses and subclauses is True, and target is 1; The source of second clauses and subclauses is False, and target is 0.(but target can repeat) can not be repeated in the source of all clauses and subclauses, and the source and target of each clauses and subclauses all must meet source, the target type (or NULL) that defines in the metadata.
Rule management plug-in unit (Rule Manager) is the core inserter of rule management.It externally provides rule service, and responsible maintenance regulation device and mapper.
Rule service (Rule Service) is the service interface of rule management opening, and it has expanded the service extension point of kernel.Rule service mainly comprises:
The inquiry of active rule device, regular device itself are realized that by external plug-in this function is used to inquire about all the active rule devices (Active Ruler) that have been registered to rule management rule device extension point.The active rule device is different from regular device, and it has only comprised the descriptor of rule of correspondence device, does not comprise the realization of regular device.
The inquiry of active map device, this function is used to inquire about the active map device (Active Mapper) that has been registered to rule management.The active map device is different from mapper, and it has only comprised the descriptor of correspondence mappings device, does not comprise the map entry of mapper.
Mapper registration/cancellation, because mapper is an entity, it does not comprise code realizes, therefore can be directly to rule management registration or cancellation (Add/Remove).For being different from mapper, regular device is owing to be that code is realized, therefore regular device must be provided by certain external plug-in, and the function register that utilizes the kernel plug-in registration is to rule management.
Rule management has defined regular device extension point, can be realized by other plug-in units.If desired for rule management adds new operational regular device, only the plug-in registration that regular device is realized need be got final product to kernel.Rule management can dynamically inwardly be verified and be ask available regular device expansion person.Utilize " the mapper registration/cancellation " of rule service and " the regular device extension point " of rule management plug-in unit, rule management has been realized complete dynamic, extendible regulation management mechanism.
Rule management tool insert (Rule Manager Utility) is the auxiliary plug-in of rule management, and it depends on the rule management plug-in unit.The rule management tool insert is responsible for rule management is linked to each other with data engine on the one hand, so that the function that data engine can the service regeulations manager; Be responsible on the other hand providing part default " predefine rule device " with convenient exploitation of using to the regular device extension point of rule management plug-in unit.
Evaluator constructor (Evaluator Maker) is an extension point of data engine definition, is used to finish expression formula (Expression) evaluation of appointment.The evaluator constructor is responsible for creating two class evaluators: regular evaluator (Rule Evaluator) and mapping evaluator (Mapping Evaluator) are respectively applied for and find the solution regular expression (Rule Expression) and mapping expression formula (MappingExpression).
The rule management tool insert has been registered the expansion of an evaluator constructor to kernel, thereby rule management and data engine are organically combined.
The rule management tool insert has been registered the expansion of one group of predefine rule device to kernel, and this group predefine rule device has comprised some more common regular devices, for example: character string connect, get string length, numeric ratio, condition selection etc.
Application can select to use predefine rule device or oneself to realize new regular device plug-in unit according to actual conditions.
Data engine (Data Engine)
Data engine (Data Engine) is the most important plug-in unit of resource management platform, and it is responsible for finishing the operation of resource conversion.The operation of each resource conversion is called a transformation task (Task), and the function of data engine is explained exactly and executed the task.
Each task has all defined the source (Source) and the target (Target) of transmission, and they all use locator (Locator) to describe.Data engine is the direct control locator not, and is to use corresponding adapter (Adapter) to come the resource of certain locator appointment of access.
The evaluator that data engine utilizes evaluator constructor (Evaluator Maker) to create is finished expression formula necessary in the transfer process (Expression) evaluation.Data engine after transformation task is finished, the notice that can use notifying device (Notifier) release tasks to finish.The log services (Log Service) that data engine uses the kernel plug-in unit to provide writes down the implementation of transformation task.Data engine is made up of data engine plug-in unit, data engine tool insert and task processor.
Task (Task) is the operation of first resource conversion.Data engine is explained and is executed the task.Each task all has a unique name, and has optional title (Title) and describe (Description).Term of reference the conversion output mode (Output Mode), the conversion reliability rank (Reliability Level), the conversion bunch size (Cluster Size), the conversion the source and target locator and the binding (Binding) of the corresponding source field expression formula of one group of aiming field (Field) (Expression).
Adapter (Adapter) is the expansion person that data engine is used to operate locator (Locator).Each locator has been described the position of a resource, and adapter then is used to operate the resource of these locator appointments.Because the diversity of resource, data engine itself does not realize operating the method for these resources, but finishes operation to resource by the adapter that external plug-in provides.
Every kind of resource all has access method separately, and the resource with same access method is called has identical access protocol (Protocol).Agreement is provided by the realization of adapter.For example, all utilize the data source of JDBC DriverManager mode access to be operated by certain adapter, and this adapter just can be agreement of this kind mode of operation definition so.All are followed the data source of this kind operation rules and can use the locator with this agreement to describe.
When data engine is handled certain data source, will search corresponding adapter, and utilize this adapter to finish access then this resource according to the agreement of locator regulation.
Each adapter can select to support three types operation: inquiry (Query), interpolation (Append) and replacement (Replace).For example, a JDBC adapter may all be supported in all operations, and an XML adapter may will not supported replacement operation.
Support the adapter of query manipulation just can be used as the source, support the adapter of interpolation or replacement operation just can be used as target.The adapter of support interpolation simultaneously or replacement operation will be supported the task of all output modes (Output Mode).
Each adapter can select whether to support affairs (Transaction).The adapter of support affairs can be used to finish the task than high-reliability rank (Reliability Level), and does not support the adapter of affairs can only be used to finish low other task of reliability level.
Evaluator constructor (Evaluator Maker) is used for the evaluator (Evaluator) that structure is found the solution expression formula (Expression).In the process of resource conversion, aiming field often is not that the homology field is corresponding one by one simply, but source field is through the result of certain calculation.Such operation rule is called an expression formula (Expression), and the corresponding relation of aiming field and certain expression formula is called binding (Binding).
In the process that data engine is executed the task, need to obtain the value of the expression formula of aiming field correspondence, send into aiming field then dynamically according to the value of source field.The evaluation of expression formula calls evaluator by data engine and finishes, and the task of evaluator constructor is created evaluator exactly.The evaluator constructor is responsible for creating two class evaluators: regular evaluator and mapping evaluator.
Rule evaluator (Rule Evaluator) is responsible for finding the solution the value of regular expression (Rule Expression).Regular expression has been described a rule (Rule).A rule is to join (Parameters) by the title of regular device (Ruler) with the reality that offers regular device to constitute.As 0 described, if liken regular device to function, a rule has just been described calling of linear function so.The rule evaluator is responsible for finishing to the calling of regular device, and return results.
Mapping evaluator (Mapping Evaluator) is responsible for finding the solution the value of mapping expression formula (MappingExpression).The mapping expression formula has been described a mapping (Mapping).Mapping is to be made of the title of mapper (Mapper) and the source to be mapped (Source) that offers mapper.The function all fours rule evaluator of mapping evaluator.
Data engine plug-in unit (Data Engine) is the core inserter of data engine.It externally provides data, services (Data Service), and is responsible for safeguarding adapter, evaluator constructor, notifying device and active task.
Data, services (Data Service) is the service interface of data engine opening, and it has expanded the service extension point of kernel.Data, services mainly comprises:
Movable adapter (Active Adapter) is meant the adapter that is connected to data engine adapter extension point.Movable adapter is different from adapter, and it only provides adapter descriptor (title, agreement, explanation etc.), and the function of access locator is not provided.By inquiring about movable adapter, applications just can be known locator agreement, task reliability rank and the output mode that present engine can be supported, thereby defines suitable resource conversion.
All submit to the task that engine is carried out, and engine all can be set up corresponding activation record for it, and this is called active task (Active Task).Active task has comprised information such as task name, execution status of task, task implementation progress, task beginning and ending time.Engine is managed corresponding task by active task.
Active task management comprises the active task inquiry, active task is cancelled and function such as active task deletion.Active task is different from task, cancels an active task and just the status indication of corresponding task is cancelled for waiting, what the cancelling of actual task needed wait task processor (Task Processor) cancels inspection (Cancelling Check).Similarly, the deletion of active task is also just with this activation record deletion, and and do not mean that cancelling of actual task.If the active task of a task association is deleted, so just can't inquires about the state of this task again or cancel this task.
A metaphor that helps understanding task and active task is exactly: liken task the thread of an operation to, and active task is exactly the control data of this thread.Thread upgrades control data according to own state, and detects and cancel the position to determine whether cancel in the control data.Withdrawing from of cancelling the position, position and can't directly cause withdrawing from of thread control data---thread finally is to rely on thread oneself to detect and cancel a position and an end voluntarily; The control data deletion also can't be influenced the execution of thread itself.
As previously mentioned, itself does not realize any adapter the data engine plug-in unit, and has just defined the adapter extension point, and adapter is realized by other plug-in units.Be that if desired the data engine plug-in unit adds new adapter, only the adapter card of this extension point of expansion need be registered to kernel and got final product.
The evaluation of the not responsible realization expression formula of data engine itself, and just defined evaluator constructor extension point.Only allowing an expansion on this extension point connects.If there are a plurality of expansions to connect this extension point, then have only first to be used by engine.The default evaluator constructor of platform is provided by the rule management tool insert.Be that if desired data engine specifies new evaluator constructor, then need at first to forbid the evaluator constructor expansion of rule management tool insert, the plug-in registration that new expansion will be provided then is to kernel.
The notice that data engine uses notifying device issue transformation task to finish.Notifying device only is not called when a task successful execution and volume of transmitted data are not 0.Notifying device not necessarily.If there are a plurality of notifying device expansions to be connected to this extension point, then they can be called successively.
Data engine tool insert (Data Engine Utility) is the auxiliary plug-in of data engine, and it depends on the data engine plug-in unit.The data engine tool insert is finished following three functions: one, data engine is linked to each other with explorer (Resource Manager), for it provides default transmitter (Transferrer); Two, to the default task record device (Task Logger) of kernel registration, with the log recording function of finishing the work; Three, provide one group of default adapter for the data engine plug-in unit.
Transmitter (Transferrer) is the extension point interface that is used to carry out transformation task of explorer definition.Transmitter is responsible for finishing a convert task of explorer definition.The data engine tool insert has been registered the expansion of a transmitter to kernel, thereby data engine and explorer are organically combined.
The transmitter that the data engine tool insert provides is supported immediate task and background task.Immediate task directly cooperates Instant Adapter to finish by the data engine tool insert, and the backstage task is then transferred to task processor (Task Processor) and finished.Because immediate task can not paid task processor and be handled, so immediate task will not have task daily record and active task.
Task record device (Task Logger) is a realization of kernel register (Logger) extension point interface.The daily record of its record data engine, and do not handle daily record from other promoters (Originator).Default task record device is recorded in the file of assigned catalogue with the task daily record, the corresponding journal file of each task.Can make its reservation contain the journal file of warning or error message by the configuration task register, and not keep the task daily record that completes successfully.
Active task (Active Task) can only be described the state of current task, and the task daily record then can be write down complete task implementation.
Can forbid the default task register.Also can register the record of new register expansion to kernel with the daily record of finishing the work.
The data engine tool insert provides and has registered one group of adapter expansion commonly used, with convenient exploitation of using.This comprises: one, Instant adapter, be used for the inter-process immediate task, and externally do not use; Two, Driver adapter is used for the mode access data source with JDBC DriverManager; Three, DataSource adapter is used for the mode access data source with JDBC DataSource; Four, MQ adapter, being used for access is transport vehicle and the message-type data source that meets certain standard with the message queue; Five, XML adapter is used for there is and meets certain standard in access with the XML document form document-type data source.
Task processor (Task Processor) is the member that data engine is used to execute the task.Task processor itself is not a plug-in unit.
Task queue (Task Queue) is the formation that engine is used for task queue.After the transmitter of data engine tool insert received the task of explorer, if immediate task (InstantTask), then transmitter was executed the task immediately and the result is returned; If background task (Background Task), then transmitter can created corresponding active task (Active Task) afterwards, and this task is put into the task queue queuing.A task of lining up can be cancelled.
Task processor is responsible for taking out next task and is carried out on the backstage from task queue.Task processor is finished the log services that task executions relies on adapter, evaluator constructor and kernel.In the process that task processor is executed the task, can upgrade corresponding active task according to Task Progress, and every when carrying out bunch size (Cluster Size) of appointment the detected activity task cancel mark with aborting task.If corresponding active task is deleted, then task processor can not upgrade active task, and can not cancel inspection.Task processor can start the concurrent execution of a plurality of examples.
Task processor is responsible for the notifying device that notice has been registered after task is finished.Notifying device has only when task and completes successfully and volume of transmitted data is not to be called under 0 the situation.The notice of finishing of immediate task is also finished on the backstage by task processor.
Topic distribution device (Topic Dispatcher)
Topic distribution device (Topic Dispatcher) is a particular message distributor at publish/subscribe (Publish andSubscribe) model.The theme (Topic) of topic distribution management all (Publish) to be released, and rely on and to call device (Invoker) it is distributed to corresponding monitor (Listener) reliably.The topic distribution device is made of topic distribution device plug-in unit, topic distribution device tool insert and theme processor.
Theme (Topic) is the message of an open issue.The topic distribution device is responsible for distributing theme to corresponding monitor (Listener).Each theme all has a unique name.Theme also must have an exercise question (Subject), and exercise question is a subscription authority of determining theme subscriber (monitor).The content of theme (Content) topic distribution device also is indifferent to, and the topic distribution device only is responsible for the content of theme is distributed to corresponding monitor, and the implication of content is explained by monitor.
Monitor (Listener) be one to the interested subscriber of certain class theme.Monitor is one of entity of topic distribution device maintenance.The topic distribution device is responsible for giving this monitor by calling device (Invoker) with this topic distribution when receiving certain monitor topics of interest.Each monitor all must have one can unique identification title.
Each monitor is its interested exercise question (Subject) of mandatory declaration all.Each theme (Topic) all has an exercise question (Subject), has only the theme with the monitor same title just can be distributed to this monitor.Different themes can have identical exercise question, and different monitors also can be monitored identical exercise question.For example, monitor L1 and monitor L2 monitor exercise question S1 simultaneously, and when two exercise questions also were all the theme T1 of S1 and T2 issue, L1 and L2 can receive T1 and T2 respectively so.
Each monitor all must provide a readjustment (Callback), and the topic distribution device is given this monitor by calling readjustment with topic distribution." readjustment " is a generalized concept, and it not merely refers to " call back function ".The concrete implication of readjustment is explained by calling device (Invoker).For example, a readjustment may be a HTTP URL, and the function of calling device of carrying out this readjustment is that theme is submitted to this URL with the form of HTTP list.Different monitors can use identical readjustment.
Calling device (Invoker) as the extension point interface that is used for explaining and calling monitor readjustment (Listener Callback) of topic distribution device definition.Though the topic distribution device is responsible for safeguarding monitor, do not realize calling that monitor is adjusted back, handle but will call the device that calls of giving other plug-in units realizations.
Each calls the readjustment that device all only supports to meet certain ad hoc rules, and this rule is called invocation protocol (Protocol).For example, list calls a HTTP URL type submitted to parameter by device with the form of HTTP list readjustment; The readjustment that device then is responsible for calling a Web service form is called in Web service; MQ call device then be with topic distribution in the specified message queue of the readjustment of MQ type.
Each calls device and can only discern and call the readjustment identical with its agreement; Otherwise each readjustment also must be followed the call rule of calling device regulation identical with its agreement.
The topic distribution device will be searched according to the agreement that the readjustment that this monitor provides is stipulated and call device accordingly when certain monitor distribution theme, utilize this to call device then and finish the distribution of this theme to this monitor.
When the topic distribution device need call one when calling device and distributing certain theme, can pass to this and call the following parameter of device: one, call the readjustment (the monitor readjustment that theme to be distributed is associated) that device will call; Two, the associated monitor title of theme to be distributed; Three, the exercise question of theme to be distributed; Four, the content of theme to be distributed (Content).
Calling device can select whole parameters or partial parameters are passed to readjustment.Situation for a plurality of monitors that use identical readjustment may necessarily require to call device monitor title and theme exercise question are passed to readjustment, can't distinguish exercise question and the monitor that triggers readjustment otherwise may cause adjusting back.
The topic distribution device is indifferent to the details of calling device and readjustment communication, but must be concerned about the return value of calling device.If one is called device and returns True, mean that then this theme is called the readjustment that device calls by this and accepts (Accept), the main body distributor will think that this theme successfully distributes, thereby stop the distribution of this theme; Otherwise, return False if call device, then mean this theme by this readjustment refusal (Reject), the main body distributor will continue to attempt giving other monitors with this topic distribution.
If one is called device because a variety of causes can not call readjustment (for example adjust back protocol error, perhaps can't get in touch readjustment) smoothly, this calls device and should dish out and call device unusually (InvokerException) so; If one is called device and successfully called readjustment, but readjustment occur to be handled wrong (for example readjustment has been found invalid subject content), and then this calls the device readjustment unusual (CallbackException) of should dishing out.Unusual for calling device, the topic distribution device can stop the distribution to this monitor, until monitor once more by explicit startup (Start); And unusual for readjustment, the main body distributor still can continue other themes to be distributed to this monitor.
Topic distribution device plug-in unit (Topic Dispatcher) is the core inserter of topic distribution device.It externally provides theme service (Topic Service), and is responsible for safeguarding and calls device.
Theme service (Topic Service) is the service interface of topic distribution device opening, and it has expanded the service extension point of kernel.The theme service mainly comprises:
Movable Subject Manager, movable theme (Active Topic) is meant the theme (Topic) that is published to the topic distribution device but does not distribute (promptly not accepted by any monitor as yet) as yet.Movable Subject Manager comprises movable theme inquiry and deletion.Delete a movable theme and will cause this theme, stop distribution by permanent delet.
Device inquiry is called in activity, and activity is called device (Active Invoker) and is meant and is connected to the device that calls that the topic distribution device calls the device extension point.Activity is called device and is different from and calls device, and it only provides the descriptor of calling device (title, agreement, explanation etc.), and the function of calling readjustment is not provided.Call device by inquiring about activity, applications just can be known the readjustment agreement that present topic distribution device can be supported, thereby defines suitable monitor.
Monitor registration/cancellation, because monitor is an entity, it does not comprise code realizes, therefore can be directly to registration of topic distribution device or cancellation (Add/Remove).
Monitor starts/stops, and the topic distribution device can't be to all monitor dispatch messages, but has only after a monitor starts just to its dispatch messages.Whether the readjustment of monitor is all realized by applications usually, and applications is not always to be in active state, therefore need notify it movable to the topic distribution device by starting/stop (Start/Stop) operation.For example, an applications has been registered a monitor that uses the Web service readjustment to the topic distribution device, and so when this application start (but the Web service time spent that is used to adjust back), this application should notify the topic distribution device to start corresponding monitor; And when this application was withdrawed from, notice topic distribution device stopped corresponding monitor.
The topic distribution device is in calling the process of readjustment, if it is unusual to call device, can thinks that also this readjustment is unavailable, and stop its corresponding monitor.The topic distribution device is responsible for monitor is stopped the theme storage related with it of back issue, and gives this monitor with these topic distribution when monitor starts once more.Monitor can not lost the theme of its monitoring because of stopping.
Movable monitor (Active Listener) is meant the monitor of registering to the topic distribution device.Movable monitor is except the sign that also provides monitor whether to start is provided outside its pairing monitor information (title, exercise question, readjustment).Application can obtain the state of monitor by inquiring about movable monitor.
As previously mentioned, topic distribution device plug-in unit itself is not realized any device that calls, and calls the device extension point and just defined, and calls device and is realized by other plug-in units.The distributor plug-in unit that is the theme if desired adds the new device that calls, and only the device plug-in registration that calls of this extension point of expansion need be got final product to kernel.
Topic distribution device tool insert (Topic Dispatcher Utility) is the auxiliary plug-in of topic distribution device, and it depends on topic distribution device plug-in unit.Topic distribution device tool insert is finished following three functions: one, the topic distribution device is linked to each other with explorer (Resource Manager), so that explorer can use the function distribution subscription notice of topic distribution device; Two, to the default theme register (Topic Logger) of kernel registration, to finish the writing function of topic distribution daily record; Three, the be the theme device extension point that calls of distributor plug-in unit provides one group of default device that calls.
Distributor (Publisher) is the extension point interface that is used for issuing subject of explorer definition.Distributor is responsible for a theme is openly issued, and for interested subscriber's inquiry.Main body distributor tool insert has been registered the expansion of a distributor to kernel, thereby topic distribution device and explorer are organically combined.
Theme register (Topic Logger) is a realization of kernel register (Logger) extension point interface.It only writes down the daily record of topic distribution device, and does not handle the daily record from other promoters (Originator).
Default theme register is recorded in the file of assigned catalogue with the Distribution Log of theme, the corresponding journal file of each theme.Can dispose the theme register and make the still undealt theme daily record of its reservation, and not keep the theme daily record that success is distributed.
The topic distribution process that theme daily record meeting record is complete.If a theme is distributed repeatedly, distribution procedure afterwards can add to after the original distribution procedure.Can forbid the default theme register.Also can register new register expansion to finish the record of topic distribution daily record to kernel.
Topic distribution device tool insert provides and has registered one group of device that calls commonly used and expanded, with convenient exploitation of using.This comprises: one, device is called in Web service, is used for the readjustment that exists with the Web service form; Two, list calls device, is used to accept the readjustment that the HTTP list is submitted to; Three, MQ calls device, is used for theme is published to the message queue of certain readjustment appointment.
Theme processor (Topic Processor) is the member that the topic distribution device is used to distribute theme.Theme processor itself is not a plug-in unit.
Theme formation (Topic Queue) is the formation that the topic distribution device is used for the theme queuing.After the distributor of topic distribution device tool insert receives the theme of explorer, at first can create corresponding movable theme, then this theme is put into the theme formation and waited in line to handle.
In addition, when monitor started, the topic distribution device can search also whether the relevant movable theme of monitor is therewith arranged, and it is pending that theme formation etc. also put in these themes.This has guaranteed that a monitor can not lose the theme of monitoring after stopping.A theme of lining up can be deleted.
The theme processor is responsible for taking out next pending theme from the theme formation, and the associated monitor of startup of poll is distributed to monitor with theme by calling device then.
In the distribution procedure,, then stop corresponding monitor if it is unusual to call device; If in a single day theme is accepted (Accept) by certain monitor, then stop to distribute this theme, and the movable theme of this theme correspondence is deleted.
The support of theme processor starts the concurrent execution of a plurality of examples.When theme is handled in the concurrent execution of theme processor, might cause the monitor readjustment also by asynchronous concurrent invocation.If the concurrent execution mechanism of therefore having enabled the theme processor, the monitor readjustment also must correspondingly be supported asynchronous concurrent invocation so.
Explorer (Resource Manager)
Explorer (Resource Manager) is the master control part of unified resource management platform.Explorer is safeguarded two class entities: table (Table) and transducer (Transformer)." table " is the container that explorer is deposited resource, and " transducer " then defined resource and become another kind of form, move to the change procedure of another location from a position from a kind of form.
Explorer uses transmitter (Transferrer) to finish convert task (Task), uses distributor (Publisher) to finish theme (Topic) issue.Explorer is made of explorer plug-in unit and resource manager tool plug-in unit.
Table (Table) is the container that explorer is deposited resource.Table only is used to deposit the resource of resource management management, and does not deposit the source material of application.The set of table has constituted the armory of explorer.
Explorer can not directly use the tables of data of external definition, and the table that all funding source managers use must be safeguarded by explorer by registration/cancellation (Add/Remove).
Transducer (Transformer) is static conversion (Transformation) entity that explorer is safeguarded.Transducer is divided into integrator (Integrator), supplier (Provider), consumer (Consumer), recipient (Receiver), subscriber (Subscriber) and conveyer types such as (Transporter).
Conversion (Transformation) has been described resource and has been become another kind of form, moves to the change procedure of another location from a position from a kind of form.Each transducer all is the conversion of a name.Different transducers may have identical conversion.A conversion described following information:
Each conversion all has an output mode (Output Mode).Output mode has been specified the mode of this conversion to target (Target) dateout.The output mode of definition has three kinds at present: one, only add (Append Only), this pattern specifies dateout only can add to target; Two, only replace (Replace Only), this pattern specifies dateout only can replace original data in the target; Three, add failure and then replace (Replace If Append Failed), this pattern is specified and is at first attempted adding dateout to target, if add failure, then replaces.
Not all target is all supported whole output modes.For example, the target of XML document type may only support to add operation; The target of DBMS type then may all be supported by all output modes.
Each conversion all has a reliability rank (Reliability Level).The reliability level definition conversion carry out fault processing strategy in the process.High more reliability rank just means more little fault tolerant degree, also means high more data integrity simultaneously.
The reliability rank of definition has Three Estate at present, is followed successively by from low to high: one, ignore mistake (Ignore Error), this means that misdatas all in the transfer process all is left in the basket, have only the data of success to be sent to target; Two, misregistration (Log Error) this means and have only the data of success to be sent to target in the transfer process, but all mistakes all can be recorded; Three, affairs (Transactional) this means that whole transfer process will be counted as affairs, and any mistake all will cause all data rewinds.The reliability rank relies on concrete transmitter adapter and realizes.The adapter of for example, access XML document type may not supported affairs.
Conversion is that unit carries out with bunch (Cluster), and one bunch comprises some records.Bunch size (Cluster Size) has just been specified the record number of each bunch in this conversion.Transmitter is carried out in the process of convert task, will be according to bunch upgrading active task and cancel inspection for unit.If specify too little bunch size may cause serious performance issue.If one is changed and is indifferent to active task and cancel inspection, a bunch size can be appointed as 0 so.Bunch size is 0 to mean that all records are looked at as one bunch, and this will obtain the highest execution efficient.
Source (Source) and target (Target) have been specified the source and target of conversion.Source and target is described with position (Location).Position (Location) is a locator (Locator) that has descriptor.Locator can only be had the transmitter adapter (Adapter) of same protocol (Protocol) with it to be explained and access.The definition of position must meet the standard of associated adapter agreement.
Each conversion all comprises a group binding (Binding).An expression formula (Expression) that is arranged in the field (Field) of switch target has been specified in each binding.A binding is that the assignment of an aiming field is described.In the conversion implementation, transmitter is responsible for dynamically finding the solution the value of expression formula, and the result is composed to aiming field.
Expression formula is divided into four types: constant expression (Constant Expression), field expression formula (Field Expression), regular expression (Rule Expression) and mapping expression formula (Mapping Expression).
Constant expression has been represented a constant (Constant), for example a character string constant or an integer constant.The result of constant expression evaluation is exactly this constant.
The field expression formula has represented to be arranged in a field (Field) of conversion source (Source).At different data lines, the result of field evaluation of expression is also different---and be the value of this field in the current line.The field expression formula is equivalent to variable.
Regular expression has been described a rule (Rule).A rule is once calling certain regular device (Ruler).The real ginseng (Parameters) that rule has been specified the title of the regular device that will call and passed to this rule device.Each real ginseng itself also is an expression formula.Evaluation to rule requires recursively to find the solution all expression formulas.Regular expression is equivalent to a function call.
The mapping expression formula has been described a mapping (Mapping).A mapping is to use the once mapping of certain mapper (Mapper).The mapper title that will use and source (Source) to be mapped have been specified in mapping.Source to be mapped itself also is an expression formula.The evaluation that mapping table is reached formula requires recursively to find the solution the expression formula in source to be mapped.
The expression formula of binding with an aiming field can be the expression formula of above-mentioned any kind.
Each transducer also has a type specification except the information that comprises the conversion definition.According to the difference in functionality of transducer, transducer is divided into following type:
Integrator (Integrator) is used for the resource consolidation of platform inside.Integrator is responsible for finishing the conversion of platform internal resource.The source and target of integrator all is the platform resource warehouse forever, and the source and target that defines in transitional information will be left in the basket.
Supplier (Provider) is the primary source of resource in the armory.The supplier is responsible for providing source material to armory.Supplier's switch target all is the platform resource warehouse forever, and the target that defines in transitional information will be left in the basket.
Consumer (Consumer) is the user of platform resource.The consumer will be from the platform request resource.Consumer's conversion source all is the platform resource warehouse forever, and the source that defines in transitional information will be left in the basket.
Recipient (Receiver) is a kind of special consumer.Common consumer is necessary initiatively to the platform request resource, and recipient's difference, platform can send the data that change to recipient according to the rule of changing appointment automatically when the data that are associated with the recipient change.Similar with the consumer, recipient's conversion source all is the platform resource warehouse forever, and the source that defines in transitional information will be left in the basket.
Subscriber (Subscriber) is another special consumer.When the data that are associated with certain subscriber change, platform will utilize distributor (Publisher) to issue theme (Topic) first, and the content of this theme is one and reads notice (Subscription) surely.The subscriber after receiving subscribing notification, the data that changed to platform request of subscribing notification whereby.
Because platform can directly send data to the recipient, so require the recipient must be in active state at any time.An inactive recipient will lose the delta data that takes place during this period.The subscriber is then different, because distributor can guarantee theme is sent to the subscriber reliably, so the subscriber can't be because of inactive and lose subscribing notification.The subscriber can obtain corresponding delta data with subscribing notification arbitrarily the time.Similar with the consumer, subscriber's conversion source all is the platform resource warehouse forever, and the source that defines in transitional information will be left in the basket.
Conveyer (Transporter) is used for directly transmitting data between two source materials.Conveyer does not use any platform resource.The source and target of conveyer all must clearly be specified.
Explorer guarantees the cascaded triggering (Cascade Trigger) of transducer.For example, supplier P is responsible for providing data in table T1, and integrator I is responsible for the data among the table T1 are incorporated into table T2, and recipient R receives the data among the table T1, and subscriber S has subscribed to the data among the table T2.So, when P provided new data in T1 after, R can receive these new data at once, and I will be activated.After I was incorporated into T2 with data, the subscribing notification at S will be issued.
If mistake appears in a certain transducer of certain one-level in the cascaded triggering process, can not influence the triggering with other transducers of its peer, but related with it next stage transducer will can not be triggered.
Explorer plug-in unit (Resource Manager) is the core inserter of explorer.It externally provides resource service (Resource Service), and responsible Maintenance Table (Table) and transducer (Transformer).
Resource service (Resource Service) is the service interface of explorer opening, and it has expanded the service extension point of kernel.Resource service mainly comprises:
Table registration/cancellation (Add/Remove) is used for to the explorer registration or nullifies resource table.Only the table of having registered at explorer just can be converted device and uses.Can not nullify one and still be converted the table that device uses.The transducer that has only all and certain epiphase to close could be nullified this table after all nullifying.
The table information that table inquiry has been used for having registered on the query resource manager.
Transducer registration/cancellation (Add/Remove) is used for to the explorer registration or nullifies a transducer.The table of a transducer association must be registered to explorer before the transducer registration.Can not register a transducer related with non-existent epiphase.
The transducer information that transducer inquiry has been used for having registered on the query resource manager.
The transducer operation comprises: change (Transform), conversion subscription (TransformSubscription), (Provide) is provided, consumes (Consume) and consumption subscription (ConsumeSubscription).
Conversion (Transform) is meant uses the transducer of appointment to finish conversion operations one time.For example, certain consumer can use translation function to finish a secondary data request.Conversion operations can be operated the transducer of any type.Conversion operations can provide an optional inquiry clause (Query Clause), and inquiry clause will be directly passed to transmitter (Transferrer) and explain.Not all transmitter adapter (Adapter) is all supported inquiry clause, and the concrete implication of inquiry clause is explained by adapter.For example, if the source of certain transducer is a database of supporting the SQL grammer, inquiry clause may be the inquiry clause of SELECT statement so; And for the transducer source of a MQ type, then inquiry clause may be used as message selector (Message Selector); For the transducer source of an XML document type, may not support inquiry clause.Conversion operations is asynchronous, will start transmitter and finish convert task on the backstage.Conversion operations returns the background task name of transmitter, and application can be according to task name to transmitter inquiry active task state.
Conversion is subscribed to (Transform Subscription) and is meant that the subscriber for appointment finishes the transmission of subscription data.Usually, the subscriber uses this function to obtain delta data after receiving subscribing notification (Subscription).The conversion subscription operation can only be operated the subscriber.Similar conversion operations, the conversion subscription operation also is asynchronous, and returns corresponding transmitter background task name.
Provide (Provide) to be meant that the supplier by appointment provides data.It is synchronous that operation is provided, and does not start background task.The data that provide directly pass to this operation with specific XML form as parameter, and return after data processing finishes.Provide operation can only be used to operate the supplier.Provide operation be a kind of easily, real-time, low volume data method is provided.For big data quantity, should not use operation is provided, provide and should use conversion (Transform) operation to finish data.Because when operation was provided, data directly provided with parametric form, therefore the source that defines in corresponding supplier's the transitional information can be left in the basket.
Consumption (Consume) is meant consumer (recipient, the subscriber) request msg into appointment.Consume operations is synchronous, does not start background task.The data of request will directly return to caller with specific XML form as return value.Consume operations can only be used for consumer, recipient or subscriber.Similarly provide operation, consume operations can not be used for the request of mass data, and the target that defines in corresponding consumer's (recipient, subscriber) the transitional information can be left in the basket.Similar conversion operations, consume operations also can provide an optional inquiry clause.
Consumption is subscribed to (Consume Subscription) and is meant subscriber for the appointment data that pull subscription.The consumption subscription operation is synchronous, does not start background task.The data of request will directly return to caller with specific XML form as return value, and the target that defines in subscriber's the transitional information can be left in the basket.The consumption subscription operation can only be operated the subscriber.The consumption subscription operation only is used for the request of a small amount of subscription data, for the request of a large amount of subscription data, must use conversion to subscribe to (TransformSubscription) operation.
When explorer need use certain transducer to finish data transaction, explorer can combine conversion (Transformation) information and the additional inquiry clause (Query Clauses) of transducer, be configured to a transformation task (Task), give transmitter (Transferrer) and carry out.Explorer itself is not realized transmitter, but has defined the transmitter extension point, and transmitter is realized by other plug-in units.
Transmitter (Transferrer) explain and execute the task (Task).A task is the once execution of conversion (Transformation).Twice execution of same conversion will be two independently tasks.If conversion is likened to program, transducer is exactly an executable file so, and task then is a process.
Task has comprised all information of conversion.In addition, task has also defined following information: one, title (Task Name), and title is the unique identification of task; Two, optionally task title (Title) and description (Description); From the condition of conversion source extraction data, the implication of inquiry clause saw also mistake when three, inquiry clause (Query Clauses), inquiry clause had stipulated that task is carried out! Do not find Reference source.In about the description of conversion operations.
Transmitter must be supported to carry out synchronously and two kinds of executive modes of asynchronous execution.
Task when carrying out synchronously is called immediate task (Instant Task).Immediate task uses special locator immediately (Instant Locator) to specify source and target.Immediate task requires to carry out immediately, and the result is returned.Immediate task does not have corresponding active task or daily record.Immediate task is used on a small quantity, the transmission of real time data.
The task of asynchronous execution is called background task (Background Task).Background task is used for the transmission of mass data, at running background.Background task requires to set up corresponding active task and daily record.
For background task, transmitter must be responsible for activity of constructing task (Active Task) and daily record.Transmitter must provide the method according to task name inquiry active task, and can cancel and the deletion task.
Explorer does not define the concrete grammar of transmitter management activity task and daily record.This is realized being responsible for by concrete transmitter.
Transmitter must have a kind of effective task notice (Notification) mechanism, with notice explorer after finishing in task.Explorer dependence task notice realizes the cascaded triggering (Cascade Trigger) of transducer (Transformer).
Explorer does not define the concrete grammar of transmitter informing mechanism.This is realized being responsible for by concrete transmitter.
Explorer uses distributor (Publisher) issuing subject (Topic).Explorer itself is not realized distributor, but has defined the distributor extension point, and distributor is realized by other plug-in units.
Theme (Topic) is the open first message of issuing.Distributor (Publisher) is responsible for issuing subject.A theme is made of title (Name), exercise question (Subject) and content (Content) three parts.Title (Name) is the unique identification of a theme.Exercise question (Subject) is the subscription authority of a theme.Certain subscriber is with the exercise question topic of subscription.Different themes can have identical exercise question.All themes that have same title all should be distributed to the subscriber who subscribes to this exercise question.Content (Content) is the main body of theme.A distributor needn't be concerned about the content of theme, and it only is responsible for content is distributed to corresponding subscriber.The implication of content is explained by the subscriber.
Explorer is by theme distributor distribution subscription notice (Subscription).Subscribing notification is a kind of special theme, and the exercise question of this theme is subscriber's a name, and content is the subscribing notification that meets certain format.The data that some subscribers are correlated with to platform request according to the content of subscribing notification.
A distributor must provide the function of Subject Manager, for example the inquiry of theme or deletion.Explorer does not define the concrete grammar of Subject Manager, and this realizes decision by concrete distributor.
Distributor must be guaranteed theme is distributed to the subscriber reliably.Explorer is not stipulated the specific implementation mechanism of distributor distribution theme.For example, distributor can adopt the mode issuing subject of readjustment, also can adopt the message-oriented middleware of supporting publish/subscribe (Publish and Subscribe) model to realize the distribution of theme.
Resource manager tool plug-in unit (Resource Manager Utility) is the auxiliary plug-in of explorer, and it depends on the explorer plug-in unit.The resource manager tool plug-in unit is responsible for realizing notifying device (Notifier) the extension point interface of data engine (Data Engine), to realize the cascaded triggering (Cascade Trigger) of transducer (Transformer).
In order to expand the application of resource management platform of the present invention better, the present invention also externally provides two kinds of interfaces at resource management platform:
Program level interface (Program Level Interface) and application layer interface (ApplicationLevel Interface).
Program level interface (Program Level Interface) is meant that the platform opening gives other interfaces in the program of code one-level calling platform.The program level interface is made of kernel interface and various plug-in services interface, and the program level interface uses for platform kernel and plug-in unit.By caller level interface, all functions that the program in other these resource management platforms can usage platform.Because the program level interface is to call in the code one-level, the program and the platform that therefore require to call are operated in the same virtual machine, and this program is called " limited applications (Limited Application) ".Though the repertoire of limited applications energy usage platform, but, therefore do not advise the too much limited applications or the limited applications of consumption of natural resource too because it shares resources of virtual machine with platform---this just limited applications why be called the reason of " limited " application.Limited applications is finished the function of platform management person (Platform Administrator).Such as, the supervisor console of platform (Console) is exactly a limited applications.
Application layer interface (Application Level Interface) is the Web service set of group platform opening.The application layer interface only provides limited partial function, and for example: active task management, transducer are operated, monitor starts/stops etc.The application layer interface is for the use of calling of platform outside.
The program of calling the application layer interface is called " general use (Normal Application) ".The general application is the resource service client (Resource Service Client) of platform, i.e. resource provider or resource user (consumer, recipient, subscriber).
A kind of interface also is provided among the present invention, is called proxy interface.If certain general function of expecting that caller level interface provides of using can use the limited applications agency of a lightweight to finish so: Web service of this limited applications opening, caller level interface is finished the function of this Web service then.This interface is called " proxy interface (Proxy Interface) ".Proxy interface also can be used to realize the interface of other types, for example, meets the remote interface (Remote Interface) of RMI (Remote MethodInvocation) standard.Proxy interface realizes that by concrete application platform itself will not provide.
Comprehensive, adopt technical scheme of the present invention, by setting up the uniform resource management platform, the resource that resource provider will be opened to the platform registration is opened by platform agent, thereby can effectively guarantee the fail safe of provider's local resource; Platform is responsible for various different types of resources are integrated and safeguarded, is kept the consistency of data; Resource user efficiently solves the variety of issue of resource-sharing then with a kind of complete transparent way access resources.

Claims (8)

1. a resource management platform is characterized in that, comprising:
Platform kernel, described platform kernel comprise,
The kernel plug-in unit, described kernel plug-in unit is original of non-kernel plug-in unit, comprising:
Basis extension point, basic extension point are the interfaces that uses for non-kernel plug-in unit;
Basis expansion person, the interface of described basic extension point realizes, the expansion person that basic expansion person is called by non-kernel plug-in unit or platform applications;
The plug-in unit system, kernel plug-in unit and non-kernel plug-in unit need be registered to the plug-in unit system, and described plug-in unit system also preserves the incidence relation between kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and the non-kernel plug-in unit;
Extension point, extension point are interfaces that quilt is named, and are provided by non-kernel plug-in unit;
Expansion person, the interface of described extension point is realized, is provided by non-kernel plug-in unit;
Expansion, described extension point is connected with the expansion person's who realizes this extension point interface name;
Described resource management platform is by the management of platform kernel, extension point, expansion person and expansion realization resource, and wherein, the resource of resource management platform is called in the application of platform outside by extension point, expansion person and expansion.
2. resource management platform as claimed in claim 1 is characterized in that,
The basic extension point that described kernel plug-in unit provides is the service extension point, and basic expansion person is service;
Basic extension point and basic expansion person that described kernel plug-in unit provides comprise:
The log services point provides log services, and the log services that the non-kernel plug-in unit of all in described resource management platform usage log service point provides is carried out log record;
Described log services point is connected to register, and the log services service recorder device of kernel plug-in unit is finished log record.
3. resource management platform as claimed in claim 1 is characterized in that, each in kernel plug-in unit and the non-kernel plug-in unit has an initialization order, and kernel plug-in unit and non-kernel plug-in unit determine registration order according to its initialization order when the plug-in unit system registry;
Wherein, initialization order is determined by the dependence between the plug-in unit.
4. resource management platform as claimed in claim 1 is characterized in that, described resource management platform provides:
The program level interface uses for platform kernel and non-kernel plug-in unit;
The application layer interface, the application of funding source control platform outside is used.
5. a method for managing resource is characterized in that, comprising:
One kernel plug-in unit is provided, and as non-kernel plug-in unit original provides basic extension point in described kernel plug-in unit, as the interface that uses for non-kernel plug-in unit, and basic expansion person, realize as the interface of basic extension point, and called by non-kernel plug-in unit or platform applications;
One plug-in unit system is provided;
Kernel plug-in unit and non-kernel plug-in unit are registered to the plug-in unit system;
The plug-in unit system preserves the incidence relation between kernel plug-in unit and non-kernel plug-in unit and non-kernel plug-in unit and the non-kernel plug-in unit;
Non-kernel plug-in unit provides extension point, and extension point is an interface that quilt is named;
Non-kernel plug-in unit provides expansion person, and expansion person is that the interface of extension point is realized;
Extension point and the expansion person that realizes this extension point interface named be connected, expansion is provided.
6. method for managing resource as claimed in claim 5 is characterized in that,
The basic extension point that provides in the kernel plug-in unit is the service extension point, and basic expansion person is service;
The basic extension point and the basic expansion person that provide in the kernel plug-in unit comprise:
The log services point provides log services, and the log services that the non-kernel plug-in unit of all in resource management platform usage log service point provides is carried out log record;
Described log services point is connected to register, and the log services service recorder device of kernel plug-in unit is finished log record.
7. method for managing resource as claimed in claim 5 is characterized in that, each in kernel plug-in unit and the non-kernel plug-in unit has an initialization order, and kernel plug-in unit and non-kernel plug-in unit determine registration order according to its initialization order when the plug-in unit system registry;
Wherein, initialization order is determined by the dependence between the plug-in unit.
8. method for managing resource as claimed in claim 5 is characterized in that, also comprises:
Provide the program level interface to use for platform kernel and non-kernel plug-in unit;
Provide the application of application layer interface funding source control platform outside to use.
CN2007100388356A 2007-03-30 2007-03-30 Resource management platform and resource management method Expired - Fee Related CN101277212B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100388356A CN101277212B (en) 2007-03-30 2007-03-30 Resource management platform and resource management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100388356A CN101277212B (en) 2007-03-30 2007-03-30 Resource management platform and resource management method

Publications (2)

Publication Number Publication Date
CN101277212A CN101277212A (en) 2008-10-01
CN101277212B true CN101277212B (en) 2010-11-17

Family

ID=39996249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100388356A Expired - Fee Related CN101277212B (en) 2007-03-30 2007-03-30 Resource management platform and resource management method

Country Status (1)

Country Link
CN (1) CN101277212B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204830B (en) * 2014-06-24 2018-08-07 深圳市茁壮网络股份有限公司 Plug-in unit document resources control method and client based on middleware card cage
CN105320503B (en) * 2014-06-24 2018-09-14 深圳市茁壮网络股份有限公司 Middleware card cage design system and method
CN105204829B (en) * 2014-06-24 2018-08-07 深圳市茁壮网络股份有限公司 Plug-in unit socket resource control method and client based on middleware card cage
CN105242910B (en) * 2014-06-24 2018-09-18 深圳市茁壮网络股份有限公司 Board state control method and client based on middleware card cage
CN105224297B (en) * 2014-06-24 2018-08-07 深圳市茁壮网络股份有限公司 Plug-in unit memory source control method and client based on middleware card cage
CN105743673B (en) * 2014-12-10 2020-04-03 中兴通讯股份有限公司 Northbound interface and method for processing notification message
CN107835203B (en) * 2017-08-09 2020-07-10 平安壹钱包电子商务有限公司 Message packet delivery method, device, storage medium and terminal
CN109298851B (en) * 2018-07-25 2021-10-22 中国电子科技集团公司第二十九研究所 Expansion mechanism adaptation method of OSGi heterogeneous software framework
US11143516B2 (en) * 2019-12-30 2021-10-12 GM Cruise Holdings, LLC Task management system for high-definition maps
CN111666090B (en) * 2020-06-10 2022-09-20 贵州电子商务云运营有限责任公司 Online updating support system for application system extension assembly

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558605A (en) * 2004-01-19 2004-12-29 上海交通大学 Method for realizing loophole scanning
CN1595951A (en) * 2003-09-12 2005-03-16 广东融合通信有限责任公司 An information directory service system having realtime online communication function and construction method thereof
CN1691661A (en) * 2004-04-19 2005-11-02 惠定国 A method for accessing Internet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595951A (en) * 2003-09-12 2005-03-16 广东融合通信有限责任公司 An information directory service system having realtime online communication function and construction method thereof
CN1558605A (en) * 2004-01-19 2004-12-29 上海交通大学 Method for realizing loophole scanning
CN1691661A (en) * 2004-04-19 2005-11-02 惠定国 A method for accessing Internet

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
张云涛 龚玲.Eclipse精要与高级开发技术 第1版.电子工业出版社
张云涛,龚玲.Eclipse精要与高级开发技术 第1版.电子工业出版社,2005,155-158. *
魏楚元等.Eclipse:基于插件的下一代通用集成开发环境.计算机应用与软件第22卷 第6期.2005,第22卷(第6期),38-40.
魏楚元等.Eclipse:基于插件的下一代通用集成开发环境.计算机应用与软件第22卷 第6期.2005,第22卷(第6期),38-40. *

Also Published As

Publication number Publication date
CN101277212A (en) 2008-10-01

Similar Documents

Publication Publication Date Title
CN101277212B (en) Resource management platform and resource management method
US7565443B2 (en) Common persistence layer
US8065657B2 (en) Exchange infrastructure system and method
US7788319B2 (en) Business process management for a message-based exchange infrastructure
US7428597B2 (en) Content-based routing system and method
CN101276269B (en) Expandable resource management platform
US5881315A (en) Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive
US8027922B2 (en) Integration infrastructure
US20060224702A1 (en) Local workflows in a business process management system
EP1117033A1 (en) Dynamic dispatch function
KR101545626B1 (en) System for interoperation between dds and dbms
CN102291464A (en) System and method for dynamically generating Web Service by business flow in BPM (Business Process Management)
KR100880536B1 (en) Open framework system for heterogeneous computing and service integration
CN101110700B (en) Explorer in resource management platform
CN101064619B (en) Resource management platform having topics distribution function and its method
US8626716B1 (en) Service broker enhancements
EP1506478B1 (en) Exchange infrastructure system and method
JP2002541545A (en) Enhanced object model with roles
CN100486345C (en) Business system based on PC server
KR101888131B1 (en) Method for Performing Real-Time Changed Data Publish Service of DDS-DBMS Integration Tool
EP1122644A1 (en) A method and system for dynamically dispatching function calls from a first execution environment to a second execution environment
CN105117972A (en) Power grid multi-link interactive terminal integrating method
Qixiang et al. The study of the workflow process model in OA system
Chen et al. The study of the workflow process model in OA system
Lins Event-based information sharing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101117

Termination date: 20200330

CF01 Termination of patent right due to non-payment of annual fee