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 PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation 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
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.
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)
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)
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 |
-
2018
- 2018-04-02 CN CN201810282395.7A patent/CN108509220B/en active Active
Patent Citations (9)
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)
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)
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 |