CN108509220A - Revit engineering calculation amounts method for parallel processing, device, terminal and medium - Google Patents

Revit engineering calculation amounts method for parallel processing, device, terminal and medium Download PDF

Info

Publication number
CN108509220A
CN108509220A CN201810282395.7A CN201810282395A CN108509220A CN 108509220 A CN108509220 A CN 108509220A CN 201810282395 A CN201810282395 A CN 201810282395A CN 108509220 A CN108509220 A CN 108509220A
Authority
CN
China
Prior art keywords
task
component
calculation
revit
quantities
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
CN201810282395.7A
Other languages
Chinese (zh)
Other versions
CN108509220B (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.)
XIAMEN HYMAKE TECHNOLOGY Co Ltd
Original Assignee
XIAMEN HYMAKE 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 XIAMEN HYMAKE TECHNOLOGY Co Ltd filed Critical XIAMEN HYMAKE TECHNOLOGY Co Ltd
Priority to CN201810282395.7A priority Critical patent/CN108509220B/en
Publication of CN108509220A publication Critical patent/CN108509220A/en
Application granted granted Critical
Publication of CN108509220B publication Critical patent/CN108509220B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Control By Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a kind of method for parallel processing, device, terminal and medium based on Revit engineering calculation amounts, including Revit models are mapped as calculation amount model, and the data needed for all component quantities calculations are cached according to the component specification in calculation amount model, and all component quantities data to being cached in calculation amount model carry out parallel computation, and carry out task scheduling using tasks in parallel library TPL, the overall progress of control member quantities calculation, until completing parallel computation.That is, the application will carry out parallel computation using cache way after the data needed for component quantities calculation all caching, and the progress of each calculating task is monitored by tasks in parallel library TPL, to realize the parallel processing of Revit engineering calculation amounts, and then the working efficiency and software performance of Revit engineering calculation amounts are improved, while also the user experience is improved and the competitiveness of software.

Description

Revit engineering calculation amounts method for parallel processing, device, terminal and medium
Technical field
The present invention relates to architecture information processing technology fields more particularly to a kind of based on the parallel of Revit engineering calculation amounts Processing method, device, terminal and medium.
Background technology
Revit is the title of a set of groupware of autodesk, inc..The Revit groupwares are to aim at Building Information Model (Building Information Modeling, BIM) structure, building designers' design, construction and maintenance quality can be helped More preferably, the higher building of efficiency.Revit is one of most popular software in Building Trade in China BIM systems.Due to the use of compared with It is more, support the demand of BIM engineering calculation amounts also more and more based on software development.Continuous with BIM models becomes larger, software Operand also constantly increases, whether the calculating of civil engineering, steel project, or installs the calculation amount of electromechanical speciality, entire work The calculating of journey takes and is all continuing to increase.
In addition, currently, the multinucleation of hardware processor has been popularized, the computing capability of hardware is constantly enhancing.If soft Part cannot fully apply the computing capability of these enhancings, then benefit caused by computer hardware technology progress can not just show Out.The operand processing of software becomes increasingly complex at present, and the data processing of linearisation, performance is low, and working efficiency is low, user's body It tests very poor, more reduces the competitiveness of software.Therefore, it is urgent to provide a kind of quick processing sides based on Revit engineering calculation amounts Method.
Invention content
An embodiment of the present invention provides a kind of method for parallel processing, device, terminal and Jie based on Revit engineering calculation amounts Matter, to solve, performance caused by the data processing method of existing Revit engineering calculation amount using linearisation is low, working efficiency Low, poor user experience and the weak problem of software contention power.
An embodiment of the present invention provides a kind of method for parallel processing based on Revit engineering calculation amounts, the method includes:
Revit models are mapped as calculation amount model, and all component engineerings are cached according to the component specification in calculation amount model Amount calculates required data;
Parallel computation is carried out to all component quantities data cached in calculation amount model;
Task scheduling, the overall progress of control member quantities calculation are carried out using tasks in parallel library TPL, until completing simultaneously Row calculates.
Further, as an executable scheme, the component specification in the amount model according to calculation caches all components Data needed for quantities calculation, including:
Calculation amount model classification belonging to component generates corresponding calculating service object by component calculator factory;
The caching method provided according to the calculating service object carries out component quantities data buffer storage.
Further, as an executable scheme, all component quantities data for being cached in described pair of calculation amount model Parallel computation is carried out, is included the following steps:
Step 1:Task Progress controller creates task a task, the task and derives from TPL;
Step 2:The task task creates component calculator, and is associated with corresponding component;
Step 3:The component calculator calculates the quantities of component;
Step 4:Cycle execute step 1~step 3, until all components be assigned with component calculator calculating, task into It spends controller and stops establishment task task.
Further, as an executable scheme, the step 1 is being executed:Task Progress controller creates one and appoints It is engaged in before task, the method further includes:
Task Progress controller calculates the quantity of planning establishment task task according to computer system configurations and the number of components.
Further, as an executable scheme, task scheduling, control member work are carried out using tasks in parallel library TPL The overall progress that journey amount calculates, including:
The calculating task of each component calculator is put into sub-line journey using TPL and carries out parallel computation, and it is every to control display The progress bar of the calculating task of one component calculator;
After component quantities parallel computation, countdown life event is called to end processing task, closes progress bar.
Further, the embodiment of the present invention additionally provides a kind of parallel processing apparatus based on Revit engineering calculation amounts, institute Stating device includes:
Buffer unit for Revit models to be mapped as calculation amount model, and is cached according to the component specification in calculation amount model Data needed for all component quantities calculations;
Computing unit, for carrying out parallel computation to all component quantities data cached in calculation amount model;
Control unit, for using tasks in parallel library TPL carry out task scheduling, control member quantities calculation integrally into Degree, until completing parallel computation.
Further, the embodiment of the present invention additionally provides a kind of parallel processing terminal based on Revit engineering calculation amounts and sets It is standby, including memory, processor and it is stored in the computer program that can be run in the memory and on the processor, It is characterized in that, the processor is realized when executing the computer program such as the step of the above method.
Further, the embodiment of the present invention additionally provides a kind of computer readable storage medium, described computer-readable to deposit Storage media is stored with computer program, which is characterized in that such as the above method is realized when the computer program is executed by processor The step of.
The present invention has the beneficial effect that:
An embodiment of the present invention provides a kind of method for parallel processing, device, terminal and Jie based on Revit engineering calculation amounts Matter, including Revit models are mapped as calculation amount model, and all component quantities are cached according to the component specification in calculation amount model Data needed for calculating, and all component quantities data to being cached in calculation amount model carry out parallel computation, and utilize and appoint Be engaged in parallel library TPL carries out task scheduling, the overall progress of control member quantities calculation, until completing parallel computation.Namely It says, the application will carry out parallel computation using cache way after the data needed for component quantities calculation all caching, and by appointing The parallel library TPL that is engaged in monitors the progress of each calculating task, to realize the parallel processing of Revit engineering calculation amounts, and then improves The working efficiency and software performance of Revit engineering calculation amounts, while also the user experience is improved and the competitiveness of software.
Description of the drawings
To describe the technical solutions in the embodiments of the present invention more clearly, make required in being described below to embodiment Attached drawing is briefly introduced, it should be apparent that, drawings in the following description are only some embodiments of the invention, for this For the those of ordinary skill in field, without creative efforts, other are can also be obtained according to these attached drawings Attached drawing.
Fig. 1 show the flow of the method for parallel processing based on Revit engineering calculation amounts described in the embodiment of the present invention one Schematic diagram;
Fig. 2 show the mapping relations schematic diagram of Revit models and calculation amount model described in the embodiment of the present invention one;
Fig. 3 show each function module workflow signal of component quantities data buffer storage in the embodiment of the present invention one Figure;
Fig. 4 show each function module workflow schematic diagram of parallel computation in the embodiment of the present invention one;
Fig. 5 show each function module workflow schematic diagram of task scheduling in the embodiment of the present invention one;
Fig. 6 show multitask progress bar design cycle schematic diagram in the embodiment of the present invention one;
The structural schematic diagram of the parallel processing apparatus based on Revit engineering calculation amounts described in Fig. 7 embodiment of the present invention two.
Specific implementation mode
To make the objectives, technical solutions, and advantages of the present invention clearer, below in conjunction with attached drawing to the present invention make into It is described in detail to one step, it is clear that described embodiments are only a part of the embodiments of the present invention, rather than whole implementation Example.Based on the embodiments of the present invention, obtained by those of ordinary skill in the art without making creative efforts All other embodiment, shall fall within the protection scope of the present invention.
Embodiment one
The embodiment of the present invention one provides a kind of method for parallel processing based on Revit engineering calculation amounts, as shown in Figure 1, It is the flow diagram of the method for parallel processing based on Revit engineering calculation amounts described in the embodiment of the present invention one, the side Method includes:
Step 101:Revit models are mapped as calculation amount model, and is cached and is owned according to the component specification in calculation amount model Data needed for component quantities calculation.
Wherein, Revit models can be as shown in Fig. 2, herein described calculation amount model, refers to the mapping relations of calculation amount model It is the pre-defined component template for meeting budgetary request, template has arranged the information such as profession, classification belonging to component, and arranges such Component specification parameter and calculating project.
Specifically, Revit models calculation amount model is mapped as to can perform as operating procedure once:
Step S1:Each race's example one object being conveniently operated of generation for structure division in Revit models (is called in the following text Component).This object can quote race's example of Revit, and encapsulate some necessary informations, and such as characteristic parameter list calculates project List etc..During this, will produce build list table, the component in build list table be the basic data relied on of the present invention it One.
Step S2:By the component generated in it, with calculation amount model (such as frame column, Vierendeel girder, the concrete for meeting the requirement of calculation amount Wall etc.) it is associated (mapping), it specifically includes:
1, build list table is updated, to adapt to the variation of Revit models, if increasing race's example in Revit models, corresponding life The component of Cheng Xin, and build list table is added, if certain race's examples are deleted, build list table, which corresponds to, deletes respective members.
Component and (predefined) are met the requirement of calculation amount by 2, automatic mapping according to pre-defined model mapping rule Calculation amount model matched.Here one can be chosen from calculation amount model library in conjunction with mapping ruler according to the typonym of component A most probable calculation amount model.If the title of component can not automatic mapping, can return it is unidentified, at this point it is possible to be manually Component is associated with calculation amount model.
3, change mapping manually, it is dissatisfied to matching result or there are when unidentified component after automatic mapping, it can be with Manually calculation amount model is specified for component.
4, opening relationships can be that component is associated with calculation amount mould when determining after having confirmed the corresponding calculation amount model of component Type, and initialize parameter and the result of calculation list of component.
After mapping relations foundation, in an example, the component specification in the amount model according to calculation caches all structures Data needed for part quantities calculation, including:
Calculation amount model classification belonging to component generates corresponding calculating service object by component calculator factory;
The caching method provided according to the calculating service object carries out component quantities data buffer storage.
Wherein, calculation amount model classification needs to use such as frame column, Vierendeel girder, concrete wall when actually carrying out caching To function modules such as data cache controller, component, calculator factory, component calculator, Revit Element, calculated to realize It measures model to calculate, cache database CacheData services is provided, per class calculator according to the business meter such as such as civil engineering, installation, reinforcing bar Calculate need, it would be desirable to the data of caching are stored in the data cached list of component, per class calculator according to such as civil engineering, installation, The business such as reinforcing bar calculate need, realize calculating logic, and in calculating logic operational process all generations data access request, all Obtained from the data cached list of associated components, wherein calculator factory for registering calculator service, and with the model of component Feature association, so that outside uses;Data cache controller is used to control the execution flow of all component data buffer storages;Revit Element is an element in Revit models.Specifically, each function module work flow diagram can be as shown in Figure 3.
Step 102:Parallel computation is carried out to all component quantities data cached in calculation amount model.
Specifically, as an executable scheme, all component quantities data for being cached in described pair of calculation amount model into Row parallel computation, includes the following steps:
Step 1:Task Progress controller creates task a task, the task and derives from TPL;
Step 2:The task task creates component calculator, and is associated with corresponding component;
Step 3:The component calculator calculates the quantities of component;
Step 4:Cycle execute step 1~step 3, until all components be assigned with component calculator calculating, task into It spends controller and stops establishment task task.
Wherein, it first has to initialize Task Progress controller, using .net's in initialization procedure CountdownEvent realizes task progress notification mechanism, specifically, first initializes CountdownEvent semaphores;Secondly, Task scheduling is set, CountdownEvent.Signal () is put by main line by the dispatching method continuation of task Cheng Zhihang, to notify task to complete;Finally, to ensure that main thread is in non-blocking state, steps 1 and 2 are placed in sub-line journey and hold Row.,
It should be noted that in an example, executing the step 1:Task Progress controller creates a task Before task, the method further includes:
Task Progress controller calculates the quantity of planning establishment task task according to computer system configurations and the number of components.
That is, executing logic inside task for calculating, it is according to calculating by Parallell.ForEach first It is under unified central planning to set and component data gauge small rowboat task quantity;Secondly, the logic of calculator is executed by sub- task, calculator is with component And its it is data cached as input data progress quantities calculation;Finally, using Parallell.ForEach obstruction characteristic with Each sub- task execution is waited for terminate.The main flow schematic diagram of parallel computation can be as shown in Figure 4.
Step 103:Using tasks in parallel library TPL carry out task scheduling, the overall progress of control member quantities calculation, directly To completion parallel computation.
Specifically, as an executable scheme, task scheduling, control member engineering are carried out using tasks in parallel library TPL The overall progress calculated is measured, including:
The calculating task of each component calculator is put into main thread using TPL and carries out parallel computation, and it is every to control display The progress bar of the calculating task of one component calculator;
After component quantities parallel computation, countdown life event is called to end processing task, closes progress bar.
It should be noted that task scheduling specifically uses the parallel frames of .net (.Net Parallel Frameword) skill Task Parallel Library in art.It needs to use in actually transferring operating process and calculates progress monitoring device, component work The function modules such as the parallel computation of journey amount, multitask progress bar, CountDownEvent, wherein calculate progress monitoring device control master It is used to show calculating task progress bar, after starting task tasks, starts endization immediately and handle task to wait for other just Terminate executing task;Multitask progress bar can add multiple task information and show the implementation progress of each task, sub- task Progress is reported by the report interface of multitask progress bar;After component quantities parallel computation, call The Singal methods of CountDownEvent send out signal, and endization handles task etc. until after signal, closes progress bar.So far Terminate to calculate.Specifically, each function module work flow diagram is as shown in Figure 5.
About multitask progress bar, design flow diagram can be as shown in Figure 6.Wherein, addition task progress bars return Ireport interfaces are the interfaces that progress is reported for task in " parallel computation of structure quantities ", and realization is to use .net skills Progress in art<T>Object, to meet multithreading operation.
The embodiment of the present invention one provides a kind of method for parallel processing based on Revit engineering calculation amounts, including by Revit Model is mapped as calculation amount model, and caches the number needed for all component quantities calculations according to the component specification in calculation amount model According to, and all component quantities data to being cached in calculation amount model carry out parallel computation, and using tasks in parallel library TPL into Row task scheduling, the overall progress of control member quantities calculation, until completing parallel computation.That is, the application utilizes Cache way will carry out parallel computation after the data needed for component quantities calculation all caching, and be supervised by tasks in parallel library TPL The progress for controlling each calculating task to realize the parallel processing of Revit engineering calculation amounts, and then improves Revit engineerings The working efficiency and software performance of calculation amount, while also the user experience is improved and the competitiveness of software.
Embodiment two
Second embodiment of the present invention provides a kind of parallel processing apparatus based on Revit engineering calculation amounts, as shown in fig. 7, It is the structural schematic diagram of the parallel processing apparatus based on Revit engineering calculation amounts described in the embodiment of the present invention two, the dress Set including:
Buffer unit 71 can be used for Revit models being mapped as calculation amount model, and according to the component specification in calculation amount model Cache the data needed for all component quantities calculations;
Computing unit 72 can be used for carrying out parallel computation to all component quantities data cached in calculation amount model;
Control unit 73, can be used for using tasks in parallel library TPL carry out task scheduling, control member quantities calculation it is whole Body progress, until completing parallel computation.
Further, as an executable scheme, the buffer unit 71 can be specifically used for the calculation belonging to component Model classification is measured, corresponding calculating service object is generated by component calculator factory;It is provided according to the calculating service object Caching method carry out component quantities data buffer storage.
Further, as an executable scheme, the computing unit 72 can be specifically used for Task Progress controller and create It builds task a task, the task and derives from TPL;The task task creates component calculator, and is associated with corresponding component; The component calculator calculates the quantities of component;Cycle executes above step, until all components are assigned with component calculating Device calculates, and Task Progress controller stops establishment task task.
Further, as an executable scheme, the computing unit 72, it may also be used for created in task progress monitoring device It builds before a task task, the quantity of planning establishment task task is calculated according to computer system configurations and the number of components.
Further, as an executable scheme, described control unit 73 can be specifically used for utilizing TPL by each structure The calculating task of part calculator is put into sub-line journey and carries out parallel computation, and controls the calculating task for showing each component calculator Progress bar;After component quantities parallel computation, countdown life event is called to end processing task, closes progress bar.
Second embodiment of the present invention provides a kind of parallel processing apparatus based on Revit engineering calculation amounts, utilize caching side Formula will carry out parallel computation after the data needed for component quantities calculation all caching, and monitor each meter by tasks in parallel library TPL The progress of calculation task to realize the parallel processing of Revit engineering calculation amounts, and then improves Revit engineering calculation amounts Working efficiency and software performance, while also the user experience is improved and the competitiveness of software.
Further, the embodiment of the present invention additionally provides a kind of parallel processing terminal based on Revit engineering calculation amounts and sets It is standby, including memory, processor and it is stored in the computer program that can be run in the memory and on the processor, The processor realizes the step in above method embodiment of the embodiment of the present invention, such as Fig. 1 when executing the computer program The methods of shown step 101~103 step.Alternatively, the processor realizes above-mentioned each dress when executing the computer program The function of each module/unit in embodiment is set, such as realizes above-mentioned buffer unit 71, computing unit 72 and control unit 73 etc. and is single The function of member.
Illustratively, the computer program can be divided into one or more module/units, one or more A module/unit is stored in the memory, and is executed by the processor, to complete the present invention.It is one or more A module/unit can be the series of computation machine program instruction section that can complete specific function, and the instruction segment is for describing institute Computer program is stated in the implementation procedure based in the parallel processing terminal device of Revit engineering calculation amounts.For example, described Computer program can be divided into above-mentioned buffer unit 71, computing unit 72 and control unit 73, and each unit concrete function is such as Under:
Buffer unit 71 can be used for Revit models being mapped as calculation amount model, and according to the component specification in calculation amount model Cache the data needed for all component quantities calculations;
Computing unit 72 can be used for carrying out parallel computation to all component quantities data cached in calculation amount model;
Control unit 73, can be used for using tasks in parallel library TPL carry out task scheduling, control member quantities calculation it is whole Body progress, until completing parallel computation.
Further, as an executable scheme, the parallel processing terminal device based on Revit engineering calculation amounts Can be the computing devices such as desktop PC, notebook, palm PC and cloud server.It is described to be based on Revit engineerings The parallel processing terminal device of calculation amount may include, but be not limited only to, processor, memory.It will be understood by those skilled in the art that The composed structure of the above-mentioned parallel processing terminal device based on Revit engineering calculation amounts is only based on Revit engineering calculation amounts Parallel processing terminal device example, do not constitute the limit to the parallel processing terminal device based on Revit engineering calculation amounts It is fixed, may include either combining certain components or different components, such as the base than above-mentioned more or fewer components It can also be including input-output equipment, network access equipment, bus in the parallel processing terminal device of Revit engineering calculation amounts Deng it is not limited in the embodiment of the present invention.
Further, as an executable scheme, alleged processor can be central processing unit (Central Processing Unit, CPU), it can also be other general processors, digital signal processor (Digital Signal Processor, DSP), it is application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), existing At programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic device, discrete Door or transistor logic, discrete hardware components etc..General processor can be that microprocessor or the processor also may be used To be any conventional processor etc., the processor is the parallel processing terminal device based on Revit engineering calculation amounts Control centre, parallel processing terminal device using various interfaces and connection entirely based on Revit engineering calculation amounts Various pieces.
The memory can be used for storing the computer program and/or module, and the processor is by running or executing Computer program in the memory and/or module are stored, and calls the data being stored in memory, described in realization The various functions of parallel processing terminal device based on Revit engineering calculation amounts.The memory can include mainly storage program Area and storage data field, wherein storing program area can storage program area, needed at least one function application program (such as Sound-playing function, image player function etc.) etc..In addition, memory may include high-speed random access memory, can also wrap Include nonvolatile memory, such as hard disk, memory, plug-in type hard disk, intelligent memory card (Smart Media Card, SMC), peace Digital (Secure Digital, SD) block, flash card (Flash Card), at least one disk memory, flush memory device, Or other volatile solid-state parts.
Further, the embodiment of the present invention additionally provides a kind of computer readable storage medium, described computer-readable to deposit Storage media is stored with a kind of computer readable storage medium of meter, and the computer-readable recording medium storage has computer program, The step of above method of the embodiment of the present invention is realized when the computer program is executed by processor.
If the integrated module/unit of the parallel processing terminal device based on Revit engineering calculation amounts is with software work( The form of energy unit is realized and when sold or used as an independent product, can be stored in a computer-readable storage and be situated between In matter.Based on this understanding, the present invention realizes all or part of flow in above-described embodiment method, can also pass through calculating Machine program is completed to instruct relevant hardware, and the computer program can be stored in a computer readable storage medium, The computer program is when being executed by processor, it can be achieved that the step of above-mentioned each embodiment of the method.Wherein, the computer journey Sequence includes computer program code, and the computer program code can be source code form, object identification code form, executable text Part or certain intermediate forms etc..The computer-readable medium may include:Appointing for the computer program code can be carried What entity or device, recording medium, USB flash disk, mobile hard disk, magnetic disc, CD, computer storage, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunications letter Number and software distribution medium etc..It should be noted that the content that the computer-readable medium includes can be managed according to the administration of justice Local legislation and the requirement of patent practice carry out increase and decrease appropriate, such as in certain jurisdictions, according to legislation and patent Practice, computer-readable medium do not include electric carrier signal and telecommunication signal.
That is, in embodiments of the present invention, it is using cache way that the data needed for component quantities calculation are whole Parallel computation is carried out after caching, and monitors the progress of each calculating task by tasks in parallel library TPL, to realize Revit engineerings The parallel processing of calculation amount, and then the working efficiency and software performance of Revit engineering calculation amounts are improved, while also improving use Family is experienced and the competitiveness of software.
Although preferred embodiments of the present invention have been described, it is created once a person skilled in the art knows basic Property concept, then additional changes and modifications may be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as It selects embodiment and falls into all change and modification of the scope of the invention.
Obviously, various changes and modifications can be made to the invention without departing from essence of the invention by those skilled in the art God and range.In this way, if these modifications and changes of the present invention belongs to the range of the claims in the present invention and its equivalent technologies Within, then the present invention is also intended to include these modifications and variations.

Claims (8)

1. a kind of method for parallel processing based on Revit engineering calculation amounts, which is characterized in that the method includes:
Revit models are mapped as calculation amount model, and all component engineering gauge are cached according to the component specification in calculation amount model Data needed for calculating;
Parallel computation is carried out to all component quantities data cached in calculation amount model;
Task scheduling, the overall progress of control member quantities calculation are carried out using tasks in parallel library TPL, until completing parallel meter It calculates.
2. the method as described in claim 1, which is characterized in that the component specification in the amount model according to calculation caches all structures Data needed for part quantities calculation, including:
Calculation amount model classification belonging to component generates corresponding calculating service object by component calculator factory;
The caching method provided according to the calculating service object carries out component quantities data buffer storage.
3. the method as described in claim 1, which is characterized in that all component quantities numbers cached in described pair of calculation amount model According to parallel computation is carried out, include the following steps:
Step 1:Task Progress controller creates task a task, the task and derives from TPL;
Step 2:The task task creates component calculator, and is associated with corresponding component;
Step 3:The component calculator calculates the quantities of component;
Step 4:Cycle executes step 1~step 3, until all components are assigned with the calculating of component calculator, Task Progress control Device processed stops establishment task task.
4. the method as described in claim 1, which is characterized in that executing the step 1:Task Progress controller creates one Before task task, the method further includes:
Task Progress controller calculates the quantity of planning establishment task task according to computer system configurations and the number of components.
5. method as described in any one of claims 1 or 3, which is characterized in that task scheduling is carried out using tasks in parallel library TPL, The overall progress of control member quantities calculation, including:
The calculating task of each component calculator is put into sub-line journey using TPL and carries out parallel computation, and controls each structure of display The progress bar of the calculating task of part calculator;
After component quantities parallel computation, countdown life event is called to end processing task, closes progress bar.
6. a kind of parallel processing apparatus based on Revit engineering calculation amounts, which is characterized in that described device includes:
Buffer unit for Revit models to be mapped as calculation amount model, and caches according to the component specification in calculation amount model and owns Data needed for component quantities calculation;
Computing unit, for carrying out parallel computation to all component quantities data cached in calculation amount model;
Control unit is used for using tasks in parallel library TPL progress task schedulings, the overall progress of control member quantities calculation, Until completing parallel computation.
7. a kind of parallel processing terminal device based on Revit engineering calculation amounts, including memory, processor and it is stored in institute State the computer program that can be run in memory and on the processor, which is characterized in that the processor executes the meter It is realized such as the step of Claims 1 to 5 the method when calculation machine program.
8. a kind of computer readable storage medium, the computer-readable recording medium storage has computer program, feature to exist In realization is such as the step of Claims 1 to 5 the method when the computer program is executed by processor.
CN201810282395.7A 2018-04-02 2018-04-02 Revit engineering calculation amount parallel processing method, device, terminal and medium Active CN108509220B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810282395.7A CN108509220B (en) 2018-04-02 2018-04-02 Revit engineering calculation amount parallel processing method, device, terminal and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810282395.7A CN108509220B (en) 2018-04-02 2018-04-02 Revit engineering calculation amount parallel processing method, device, terminal and medium

Publications (2)

Publication Number Publication Date
CN108509220A true CN108509220A (en) 2018-09-07
CN108509220B CN108509220B (en) 2021-01-22

Family

ID=63379844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810282395.7A Active CN108509220B (en) 2018-04-02 2018-04-02 Revit engineering calculation amount parallel processing method, device, terminal and medium

Country Status (1)

Country Link
CN (1) CN108509220B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344458A (en) * 2018-09-11 2019-02-15 羊兆亮 Method and apparatus based on REVIT design software statistical engineering amount
CN109815560A (en) * 2019-01-04 2019-05-28 中国建筑东北设计研究院有限公司 A method of calculation amount construction Life cycle application is set based on BIM
CN109858138A (en) * 2019-01-28 2019-06-07 厦门海迈科技股份有限公司 Room finish component processing method, device, terminal and medium based on BIM
CN112559188A (en) * 2020-12-22 2021-03-26 中设数字技术股份有限公司 BIM model external contour layered parallel rapid extraction method and system
CN113434937A (en) * 2021-06-29 2021-09-24 广联达科技股份有限公司 Method, apparatus, device and medium for converting design model into computation model

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577305A (en) * 2003-07-28 2005-02-09 华为技术有限公司 Parallel processing method and system
US20100106674A1 (en) * 2009-04-30 2010-04-29 Mclean Donald John Method and system for integrated analysis
US20100241477A1 (en) * 2009-03-19 2010-09-23 Scenario Design, Llc Dimensioned modeling system
CN102057353A (en) * 2008-06-04 2011-05-11 微软公司 Configurable partitioning for parallel data
CN103295100A (en) * 2013-05-28 2013-09-11 机械工业第六设计研究院有限公司 Project management progress arranging method and project management progress arranging system
CN104375806A (en) * 2014-11-19 2015-02-25 北京应用物理与计算数学研究所 Parallel computing component and method and corresponding parallel software development method and system
CN104899074A (en) * 2015-06-12 2015-09-09 天津大学 High parallelism electric system real-time simulation method based on FPGA (field programmable gate array)
CN105528243A (en) * 2015-07-02 2016-04-27 中国科学院计算技术研究所 A priority packet scheduling method and system utilizing data topological information
CN106326184A (en) * 2016-08-23 2017-01-11 成都卡莱博尔信息技术股份有限公司 CPU (Central Processing Unit), GPU (Graphic Processing Unit) and DSP (Digital Signal Processor)-based heterogeneous computing framework

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1577305A (en) * 2003-07-28 2005-02-09 华为技术有限公司 Parallel processing method and system
CN102057353A (en) * 2008-06-04 2011-05-11 微软公司 Configurable partitioning for parallel data
US20100241477A1 (en) * 2009-03-19 2010-09-23 Scenario Design, Llc Dimensioned modeling system
US20100106674A1 (en) * 2009-04-30 2010-04-29 Mclean Donald John Method and system for integrated analysis
CN103295100A (en) * 2013-05-28 2013-09-11 机械工业第六设计研究院有限公司 Project management progress arranging method and project management progress arranging system
CN104375806A (en) * 2014-11-19 2015-02-25 北京应用物理与计算数学研究所 Parallel computing component and method and corresponding parallel software development method and system
CN104899074A (en) * 2015-06-12 2015-09-09 天津大学 High parallelism electric system real-time simulation method based on FPGA (field programmable gate array)
CN105528243A (en) * 2015-07-02 2016-04-27 中国科学院计算技术研究所 A priority packet scheduling method and system utilizing data topological information
CN106326184A (en) * 2016-08-23 2017-01-11 成都卡莱博尔信息技术股份有限公司 CPU (Central Processing Unit), GPU (Graphic Processing Unit) and DSP (Digital Signal Processor)-based heterogeneous computing framework

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
MO LIANGUANG: "Study on Project Information Management Based on Building Information Modeling", 《2016 INTERNATIONAL CONFERENCE ON SMART CITY AND SYSTEMS ENGINEERING (ICSCSE)》 *
QIN ZHAO 等: "Toward Automatic Calculation of Construction Quantity Based on Building Information Modeling", 《2015 11TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS)》 *
崔树成: "基于Revit的机电安装工程BIM算量研究与思考", 《建设监理》 *
张文培 等: "简析C#多核并行编程", 《网络安全技术与应用》 *
裴艳 等: "基于BIM技术的精细化算量实现方法研究", 《工程经济》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344458A (en) * 2018-09-11 2019-02-15 羊兆亮 Method and apparatus based on REVIT design software statistical engineering amount
CN109815560A (en) * 2019-01-04 2019-05-28 中国建筑东北设计研究院有限公司 A method of calculation amount construction Life cycle application is set based on BIM
CN109858138A (en) * 2019-01-28 2019-06-07 厦门海迈科技股份有限公司 Room finish component processing method, device, terminal and medium based on BIM
CN112559188A (en) * 2020-12-22 2021-03-26 中设数字技术股份有限公司 BIM model external contour layered parallel rapid extraction method and system
CN113434937A (en) * 2021-06-29 2021-09-24 广联达科技股份有限公司 Method, apparatus, device and medium for converting design model into computation model

Also Published As

Publication number Publication date
CN108509220B (en) 2021-01-22

Similar Documents

Publication Publication Date Title
CN108509220A (en) Revit engineering calculation amounts method for parallel processing, device, terminal and medium
Lin et al. Multi-resource scheduling and power simulation for cloud computing
Jin et al. Towards optimized fine-grained pricing of IaaS cloud platform
CN106020927B (en) Task scheduling and the universal method of resource distribution in a kind of cloud computing system
US8752059B2 (en) Computer data processing capacity planning using dependency relationships from a configuration management database
US20090077235A1 (en) Mechanism for profiling and estimating the runtime needed to execute a job
US10601690B2 (en) Assessing performance of networked computing environments
Singh et al. Energy based efficient resource scheduling: a step towards green computing
US20160283271A1 (en) Modeling real capacity consumption changes using process-level data
CN110287018A (en) Batch tasks method of combination and device
CN104750522A (en) Dynamic execution method and system for tasks or processes
US20080221857A1 (en) Method and apparatus for simulating the workload of a compute farm
US20140359628A1 (en) Dynamically altering selection of already-utilized resources
CN109865292A (en) A kind of game resource construction method and device based on game engine
JP2023548985A (en) Quantification of robotic process automation related resource usage
Yang Energy-efficient cloud data center with fair service level agreement for green computing
CN117331668A (en) Job scheduling method, device, equipment and storage medium
Li et al. Performance analysis of service clouds serving composite service application jobs
CN111274667B (en) Cross-scale material computing software integrated computing system and method
KR20120133362A (en) Optimized production scheduling system using loading simulation engine with dynamic feedback scheduling algorithm
CN111353766A (en) Service process processing system and method of distributed service system
Araujo et al. Availability and reliability modeling of mobile cloud architectures
CN114564292A (en) Distributed gridding processing method, device, equipment and medium for data
Dong et al. Delayed best-fit task scheduling to reduce energy consumption in cloud data centers
Naskos et al. Elton: a cloud resource scaling-out manager for nosql databases

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant