CN103116498A - Parallel program rule engine and realizing method thereof - Google Patents

Parallel program rule engine and realizing method thereof Download PDF

Info

Publication number
CN103116498A
CN103116498A CN2013100734369A CN201310073436A CN103116498A CN 103116498 A CN103116498 A CN 103116498A CN 2013100734369 A CN2013100734369 A CN 2013100734369A CN 201310073436 A CN201310073436 A CN 201310073436A CN 103116498 A CN103116498 A CN 103116498A
Authority
CN
China
Prior art keywords
engine
parallel
workflow
executed
branch
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.)
Granted
Application number
CN2013100734369A
Other languages
Chinese (zh)
Other versions
CN103116498B (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.)
Global Digital Group Co Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201310073436.9A priority Critical patent/CN103116498B/en
Priority to CN201710446844.2A priority patent/CN107291464B/en
Priority to PCT/CN2013/000365 priority patent/WO2014134757A1/en
Publication of CN103116498A publication Critical patent/CN103116498A/en
Application granted granted Critical
Publication of CN103116498B publication Critical patent/CN103116498B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Disclosed are a parallel program rule engine and a realizing method thereof. The method comprises the steps that selector modes of selecting, uniting, competing and synchronizing are declared in a parallel executor of the engine; and a branch is generated and found by the parallel executor in a mapping mode, the branch is executed, and a result is fed back. According to the parallel program rule engine and the realizing method thereof, a paralleling function is added to an existing rule engine, parallel computing can be configured fast by a user of the engine, and requirements of the user for backup, system integration, high performance computing and the like are met. The parallel program rule engine and the realizing method thereof are applicable to parallel work flow engines meanwhile.

Description

Concurrent service regulation engine and its implementation
Technical field
The present invention relates to the develop computer software field, be applied to the aspects such as the system integration, software systems configuration, fault-tolerant and high-performance calculation.Particularly, design proposal is by increasing the executed in parallel body in regulation engine, and the selection mode of statement to branch, reach generation and search mode, so that the effective support to parallel computation to be provided in the executed in parallel body.
Background technology
Regulation engine (regular rule) refers to the rule in one section understandable script represenation business procedure, script does not need through compiling, read and explain by the regulation engine framework in the program runtime, application call regulation engine interface triggers carries out corresponding rule, thereby reaches service logic and separating that business programming is realized.
Regulation engine is different from the rule discovery engine, and regulation engine belongs to the application configuration system; The rule discovery engine refers to find certain rule in business procedure to belong to the pattern-recognition category by pattern match.
Regulation engine comprises following part: the application program of rule script (not needing compiling), regulation engine framework, calling rule engine.The general rule script comprises: carry out body and rule body, rule body comprises trigger condition and calling execution body and need manner of execution.
Workflow (workflow) refers to a series of front and back continuous step that is connected mutually.Relation between these steps of expression such as the script that workflow engine (workflow engine) use is understandable, the workflow engine framework reads and explains these steps, during use, application program is carried out corresponding work flow step by the workflow engine interface interchange, and obtains result.Workflow engine has separated workflow and concrete programming.
Parallel computation in the present invention (operation) refers to, because data are distributed in different logical addresses, need to go by identical or different subroutine module to operate respectively, the combination of the subroutine that these are different or different logical addresses is called branch, single job (calculating) to data, need to go to select from one or more possible branches, operation (or claiming to calculate) spatially walks abreast, and therefore is called parallel computation.
Business Rule Engine and workflow engine have been realized the effective configuration to system's variable portion substantially, but also the scheme engine can be not convenient preferably at present, realizes fast the effective support to parallel computations such as system data back-up, conjunctive queries.
Summary of the invention
In order to have filled up Business Rule Engine in the blank aspect parallel computation, the concurrent service regulation engine uses the executed in parallel body in configuration file.A parallel work-flow of data can be by using different subroutines or using different logical addresses to reach, and the combination of the subroutine that the invention China invites the person is different with these or different logical addresses is called branch.
The executed in parallel body has two kinds of modes of operation to data: data read, and data write (comprise and revise deletion).Data read branch's selection modes such as comprising associating, selection, competition: unite that to read be exactly reading out data from a series of branches, be assembled at last result set; Selection supposes that each branch data is the same, carries out body (at random) from branch and selects branch's reading result collection; Competition supposes that each branch data is the same, carries out body and reads from each branch, but only get that the fastest part, and remaining abandons.Data write and comprise associating, wait branch's selection mode simultaneously: unite exactly data to be broken according to rule and be put in each branch, what each branch obtained is incomplete data, but the summation of all branch datas is partial datas; Exactly data are not broken simultaneously, complete is saved in each branch.
Searching with create-rule of branch is: branch address or subroutine title are to be obtained by mapping by the parameter that engine imports into, and the parameter value that participates in mapping can be " " or null.Mapping ruler is, be provided with i variable, { Xi} is the set of these variablees, and branch address or subroutine name are called F ({ Xi}), find out so a F ({ Xi}), by F ({ Xi}) can obtain by inverse mapping in Xi} required partly or entirely.This rule engine is by the variable mapping ruler rather than select branch by condition judgment, thereby obtains the support to the several data read-write mode, and this is feature of the present invention.
Parallel computation realizes by the executed in parallel body, and executed in parallel body parameter has three types: constant, the variable that imports into during by application call regulation engine framework, the parameter that is got by constant and other Parameter Mappings.Method or carry out the mode that body quotes and have two kinds: constant method, the method for being come by constant and other Parameter Mappings.The third Type mapping of executed in parallel body logical address branch, in the executed in parallel body, the second way of reference of method or executed in parallel body has been shone upon subroutine branch.
Because the executed in parallel body is by mapping but not condition judgment is selected branch, therefore, the solution of the present invention can be applicable to workflow engine.Specifically: the executed in parallel body is as an XM of workflow engine; A upper node of workflow engine or the caller of this section workflow engine import corresponding parameter into, and call this node; Then each branch of this node mapping returns to net result to next node; If this is last node of engine, that just returns to the caller of workflow engine.
Description of drawings
Fig. 1 is the explanation to concurrent service regulation engine structure.The concurrent service regulation engine need to configure three kinds of assemblies: carrying out body and rule body is that the general business regulation engine has, and parallel rule body is that this programme is peculiar.The parameter of parallel rule body and " method or execution body are quoted " part can be shone upon respectively branch, and by the combination of this branch mapping, the concurrent service regulation engine can possess good telescopicing performance.
Fig. 2 is the explanation to the parallel application of rule body in workflow engine.In workflow engine, a upper node (if there is) or the application program of parallel node are called parallel node by engine framework; The executed in parallel body is implicitly carried out branch by mapping mode; Then, the executed in parallel body obtains the net result of concurrent operation; And give the next node (if there is) with net result and control, if there is no next node, that just gives the application program of calling this engine by engine framework result.
Embodiment
The realization of Business Rule Engine has following steps:
1. regulation engine need to lean on the regulation engine framework to explain execution, and application program is read in the regulation engine framework.
2. in configuration file, configuration service is regular, and application program is read in configuration file, and explains these rules by framework.
3. application program by to the calling of framework SPI, and is imported corresponding parameter into corresponding local, and executing rule obtains result at last.
4. if program changes in this corresponding local requirement rules, as long as parameter constant, the programmer just can be effective by reconfiguring business rule.
The layoutprocedure of concurrent service regulation engine and concurrent service workflow engine is as follows:
1. at first define the method for the program that needs invoked branch, if the different execution bodies that just further the method are encapsulated as of the method for branched program.
2. define the executed in parallel body, the executed in parallel body is claimed as and reads or write type, and mode is united, selects, competes, waited simultaneously in statement.
In the executed in parallel body configuration import parameter into, to " method and carry out quoting of body ".The type of parameter and " method or execution body are quoted " can be generated by mapping, and the result of mapping can be used as parameter; Perhaps as the title of the execution body of step 1 definition, further obtain parameter by carrying out body; Perhaps quoted by " method or carry out body and quote " institute as the title of the execution body of step 1 definition.
4. the application call engine framework, carry out the executed in parallel body, does parallel work-flow.
Below in conjunction with concrete application scenarios, further illustrate the present invention, the present invention can be applied to but be not limited to following situation:
Suppose that log system needs journal file of every large generation, and can check the daily record of all days.
The developer can develop in accordance with the following steps and configure:
1. general method of compiling in program, be used for writing daily record, if do not have corresponding journal file just to generate journal file.
2. configuration executed in parallel body 1, be used for journal file is carried out parallel work-flow." method or carry out body quote " partial configuration of executed in parallel body is for to the quoting of the method for step 1, and imports parameter into consistent with parameter in step 1.
3. executed in parallel body 1 is for writing type, and is claimed as simultaneous system, to adapt to the demand that is written in parallel to.
4. the journal file name parameter in executed in parallel body 1 configures with mapping mode, and the mapping formula is F (X)=Log|MMDD, and MM is the moon, and DD is day; MM and DD import into as preset parameter respectively, the expression current time, therefore, a fixing branch are only carried out in each write operation of executed in parallel body 1.
5. general method of compiling in program, be used for reading daily record.
6. configuration executed in parallel body 2, be used for journal file is carried out parallel work-flow." method or carry out body quote " partial configuration of executed in parallel body is for to the quoting of the method for step 1, and imports parameter into consistent with parameter in step 1.
7. the journal file name parameter in executed in parallel body 2 configures with mapping mode, and the mapping formula is F (X)=Log|MMDD, and MM is the moon, and DD is day.
8. executed in parallel body 2 is for reading type, and is claimed as associated form, to adapt to from the demand of each branch's conjunctive query data.
Suppose that application system need to access two databases, these two data database datas are just the same, and one is used for backup, and one is used for doing the regular traffic access; Two databases only have the address different.
The developer can develop in accordance with the following steps and configure:
1. first configure two and carry out body in the engine script, return to respectively the address of two databases, suppose that now carrying out the body name for these two is called DB0001 and DB0002;
2. general method of compiling in program, be used for two databases are carried out read operation, and the parameter of the method should comprise database address.
3. configure executed in parallel body 1, for read operation that two databases are walked abreast." method or carry out body quote " partial configuration of executed in parallel body is for to the quoting of the method for step 2, and imports parameter into consistent with parameter in step 2.
4. the database address parameter in parallel rule body 1 is configured to carrying out quoting of body DB000X, and the execution body title of quoting gets (as step 1) by mapping F (X)=DB|000X.
5. executed in parallel body 1 is chosen as and reads type, is claimed as selection mode, to adapt to the demand of reading a branch data from backup.
6. general method of compiling in program, be used for two databases are carried out write operation, and the parameter of the method should comprise database address.
7. configuration executed in parallel body 2, be used for two databases are written in parallel to operation." method or carry out body quote " partial configuration of executed in parallel body is for to the quoting of the method for step 2, and imports parameter into consistent with parameter in step 6.
8. the database address parameter in parallel rule body 2 is configured to carrying out quoting of body DB000X, and the execution body title of quoting gets (as step 1) by mapping F (X)=DB|000X.
9. executed in parallel body 2 is chosen as and writes type, is claimed as simultaneous system, to adapt to the demand of reading a branch data from backup.
Robbing bill system buys tickets from different companies respectively, suppose N company, system of every company booking interface parameters form and return data be the same (perhaps can converting to) all, be that concrete implementation method is different, rob first ticket that bill system need to obtain to buy, if after getting a ticket, remaining ticket is all removed singly and is abandoned.
The developer can develop in accordance with the following steps and configure:
1. first configure N and carry out body in the regulation engine script, parameter is the interface parameters of each system of company, and implementation method is respectively the implementation method of each system of company, carries out the body name and is called ZXT1 to ZXTN.
2. configuration executed in parallel body is used for the parallel booking operation to this N company.Because the parameter format of this N company is all consistent, therefore, the parameter of the parameter synchronization of executed in parallel body rapid 1 is the same.
3. " method or execution body are quoted " partial configuration of executed in parallel body is for carrying out quoting of body to N.The execution body title of quoting gets (seeing step 1) by mapping F (X)=ZXT|N.
4. executed in parallel body selective rule is claimed as the competition reading manner, competes inquiry to adapt to from each branch, thereby obtains the soonest the demand of ticket.

Claims (4)

1. regulation engine refers to the rule in one section understandable coded representation business procedure, and it does not need to be read, to carry out in the program runtime through compiling.Existing Business Rule Engine has only solved the demand of " what is carried out under what conditions ", the feature of concurrent service regulation engine and scheme thereof is: the concurrent service regulation engine is according to the needs of business, utilize the executed in parallel body to obtain all branches with mapping mode, and the data in branch are selectively operated, selection mode has associating, selection, competition, waits simultaneously, thereby satisfies easily and flexibly the demand of various parallel computations.
2. concurrent service regulation engine described according to claim [0001] and scheme, it is characterized in that: different branches is searched and generated to the mode that the concurrent service regulation engine shines upon by variable, is different from traditional mode that branch was searched and generated to condition judgment statement or condition triggering statement of passing through; Mapping ruler is as follows, is provided with i variable, and { Xi} is the set of these variablees, and branch address or subroutine name are called that { Y}, { mapping of Y}=F ({ Xi}), shining upon by calculating will { Xi} be mapped to F ({ Xi}) to find out so one.
3. concurrent service regulation engine described according to claim [0001] and scheme, it is characterized in that: the executed in parallel body comprises and reads and write two types, by selection modes such as statement while, associating, competition, selections, thereby adapt to parallel work-flow demand under the different application sight.
4. concurrent service regulation engine described according to claim [0001] and scheme, it is characterized in that: this scheme can be used for the parallel work flow engine, use the executed in parallel body to be parallel work-flow to the operation map of parallel node in engine, thereby obtain easily good performance; Workflow (workflow) refers to a series of front and back continuous step that is connected mutually; Relation between these steps of expression such as the script that workflow engine (workflow engine) use is understandable, the workflow engine framework reads and explains these steps, during use, application program is carried out corresponding work flow step by the workflow engine interface interchange, and obtains result; Workflow engine has separated workflow and concrete programming.
CN201310073436.9A 2013-03-07 2013-03-07 Parallel program rule engine and its implementation Active CN103116498B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310073436.9A CN103116498B (en) 2013-03-07 2013-03-07 Parallel program rule engine and its implementation
CN201710446844.2A CN107291464B (en) 2013-03-07 2013-03-07 Parallel business rule engine branch infinite solution method
PCT/CN2013/000365 WO2014134757A1 (en) 2013-03-07 2013-03-29 Rule engine of parallel business and implementation method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310073436.9A CN103116498B (en) 2013-03-07 2013-03-07 Parallel program rule engine and its implementation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710446844.2A Division CN107291464B (en) 2013-03-07 2013-03-07 Parallel business rule engine branch infinite solution method

Publications (2)

Publication Number Publication Date
CN103116498A true CN103116498A (en) 2013-05-22
CN103116498B CN103116498B (en) 2017-06-20

Family

ID=48414884

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310073436.9A Active CN103116498B (en) 2013-03-07 2013-03-07 Parallel program rule engine and its implementation
CN201710446844.2A Active CN107291464B (en) 2013-03-07 2013-03-07 Parallel business rule engine branch infinite solution method

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710446844.2A Active CN107291464B (en) 2013-03-07 2013-03-07 Parallel business rule engine branch infinite solution method

Country Status (2)

Country Link
CN (2) CN103116498B (en)
WO (1) WO2014134757A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154016A1 (en) * 2013-03-29 2014-10-02 深圳市并行科技有限公司 Parallel database management system and design scheme
CN104239008A (en) * 2013-06-07 2014-12-24 深圳市并行科技有限公司 Parallel database management system and design scheme
CN115185616A (en) * 2022-09-14 2022-10-14 深圳依时货拉拉科技有限公司 Business rule engine and processing method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116498B (en) * 2013-03-07 2017-06-20 徐国庆 Parallel program rule engine and its implementation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021540A1 (en) * 2003-03-26 2005-01-27 Microsoft Corporation System and method for a rules based engine
CN101410795A (en) * 2003-10-24 2009-04-15 微软公司 Scalable synchronous and asynchronous processing of monitoring rules
CN102509171A (en) * 2011-10-24 2012-06-20 浙江大学 Flow mining method facing to rule execution log
CN102542414A (en) * 2011-12-28 2012-07-04 焦点科技股份有限公司 Business process and loose coupling method and system of business data processing based on rule engine

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2419974A (en) * 2004-11-09 2006-05-10 Finsoft Ltd Calculating the quality of a data record
US20060253421A1 (en) * 2005-05-06 2006-11-09 Fang Chen Method and product for searching title metadata based on user preferences
CN101110022A (en) * 2007-08-30 2008-01-23 济南卓信智能科技有限公司 Method for implementing workflow model by software
CN101571810B (en) * 2009-05-31 2011-09-14 清华大学 Method for implementing program, method for verifying program result, devices and system
CN101609531A (en) * 2009-07-29 2009-12-23 金蝶软件(中国)有限公司 Data processing method in a kind of enterprise resource planning and device
CN102360291B (en) * 2011-10-07 2013-11-13 云南爱迪科技有限公司 Service-oriented business rule design method based on business rule engine
CN102722355A (en) * 2012-06-04 2012-10-10 南京中兴软创科技股份有限公司 Workflow mechanism-based concurrent ETL (Extract, Transform and Load) conversion method
CN103116498B (en) * 2013-03-07 2017-06-20 徐国庆 Parallel program rule engine and its implementation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021540A1 (en) * 2003-03-26 2005-01-27 Microsoft Corporation System and method for a rules based engine
CN101410795A (en) * 2003-10-24 2009-04-15 微软公司 Scalable synchronous and asynchronous processing of monitoring rules
CN102509171A (en) * 2011-10-24 2012-06-20 浙江大学 Flow mining method facing to rule execution log
CN102542414A (en) * 2011-12-28 2012-07-04 焦点科技股份有限公司 Business process and loose coupling method and system of business data processing based on rule engine

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014154016A1 (en) * 2013-03-29 2014-10-02 深圳市并行科技有限公司 Parallel database management system and design scheme
CN104239008A (en) * 2013-06-07 2014-12-24 深圳市并行科技有限公司 Parallel database management system and design scheme
CN104239008B (en) * 2013-06-07 2017-09-29 深圳市并行科技有限公司 Parallel database management system and design
CN115185616A (en) * 2022-09-14 2022-10-14 深圳依时货拉拉科技有限公司 Business rule engine and processing method thereof

Also Published As

Publication number Publication date
CN103116498B (en) 2017-06-20
WO2014134757A1 (en) 2014-09-12
CN107291464B (en) 2020-10-27
CN107291464A (en) 2017-10-24

Similar Documents

Publication Publication Date Title
CN103049556B (en) A kind of fast statistical query method of magnanimity medical data
US8661023B1 (en) Optimizing search query logic to speed retrieval
CN102663117B (en) OLAP (On Line Analytical Processing) inquiry processing method facing database and Hadoop mixing platform
US8694647B2 (en) Read-only operations processing in a paxos replication system
US8429150B2 (en) Distributed query compilation and evaluation system and method
CN102426582B (en) Data manipulation management devices and data manipulation management method
US20140279986A1 (en) System and Method for Performing a Transaction in a Massively Parallel Processing Database
CN104063486A (en) Big data distributed storage method and system
CN103430144A (en) Data source analytics
CN103294731A (en) Real-time index creating and real-time searching method and device
CN106716409A (en) Method and system for adaptively building and updating column store database from row store database based on query demands
CN103116498A (en) Parallel program rule engine and realizing method thereof
CN104899295A (en) Heterogeneous data source data association analysis method
CN103838824A (en) Technology for cloud computing middleware for space information analysis
CN109949093A (en) Favor information method for pushing, system, electronic equipment and storage medium
CN105550332A (en) Dual-layer index structure based origin graph query method
CN115033595B (en) Query statement processing method, system, device and medium based on super node
CN102158533B (en) Distributed web service selection method based on QoS (Quality of Service)
CN102024051A (en) Data updating method for distributed memory database
Maccioni et al. Augmented access for querying and exploring a polystore
CN112463816A (en) API-based query system and method
JP5464017B2 (en) Distributed memory database system, database server, data processing method and program thereof
Shmeis et al. A rewrite-based optimizer for spark
CN104239008B (en) Parallel database management system and design
WO2011118425A1 (en) Query optimization system, query optimization device, and query optimization method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 330000, Jiangxi, Nanchang province Xihu District Zi Road No. 1188, Chaoyang Tiancheng 6, unit 1, 403

Applicant after: Xu Guoqing

Address before: 330100 Xinjian County teachers training school, Nanchang, Jiangxi Province, Xu Liang, Xu Guoqing

Applicant before: Xu Guoqing

COR Change of bibliographic data
DD01 Delivery of document by public notice

Addressee: Xu Guoqing

Document name: Notification of Passing Examination on Formalities

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180808

Address after: 518000 Guangdong, Shenzhen, Nanshan District, Guangdong Province, nine new 10 South Road, No. nine Shenzhen Bay science and Technology Park 10 B block 17 level No.

Patentee after: Global elegant Road Group Co., Ltd.

Address before: 330000 Chaoyang Tiancheng 6 Building 1 unit 403, Xihu District Zi Yu Road, Nanchang, Jiangxi, 1188

Patentee before: Xu Guoqing

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 518000 Guangdong, Shenzhen, Nanshan District, Guangdong Province, nine new 10 South Road, No. nine Shenzhen Bay science and Technology Park 10 B block 17 level No.

Patentee after: Global Digital Group Co.,Ltd.

Address before: 518000 Guangdong, Shenzhen, Nanshan District, Guangdong Province, nine new 10 South Road, No. nine Shenzhen Bay science and Technology Park 10 B block 17 level No.

Patentee before: GLOBALTOUR Group Ltd.