Background technology
Describe about comprising operand description symbol and one or more operand description accords with the computer system of index or the existing invention of framework in following United States Patent (USP):
6,292,879, September 18 calendar year 2001, announcement licensed to A.Fong, " on the single operation number of computer instruction, specifying Access Control List (ACL) and buffer memory to enable the method and apparatus enabled with buffer memory coherence request ".
On September 6th, 6,941,444,2005, announcement licensed to A.Fong, " specifying the branch prediction being used for operand ".
On Dec 5th, 7,146,479,2006, announcement licensed to Richard C.L.Li, A.Fong, " method and apparatus of the distribution/deallocate of storer in OO programmed environment ".
On February 3rd, 7,487,507,2009, announcement licensed to Mok Pak Lun, A.Fong, " the security control transfer in infosystem ".
These files are incorporated to by way of reference in order to all objects.Generally speaking, these methods describe the computer processor with instruction set, the operand in the general not direct reference instruction stream of this instruction set, but use operand description to accord with the extraneous information stored about the operand except its position.
Digital data system (computing machine) generally refers to any electronic system of energy actuating logic instruction in the art.In many this systems, operation is generally made up of operational code and one or more operand, and operational code represents the type of on-unit, and operand is generally first level address or the indirect address of the number storage of the value comprised for operational code.Therefore, operand is the data of register also or in memory/storage.In many systems, in logical order level, except the character for operand data that can imply except operational code and system property, seldom or not clearly indicate the data (such as, being qualifier or other information) for the character of operand data and the extra of system property.
In the descriptor framework computing machine described in above list of references, by the operational code of descriptor designated order.The descriptor of the operand discussed in above list of references can comprise the various features of operand, the address of the storage space of such as operand or position, data type and size and vector specification or other data.
In ecommerce (eCommerce), usefully accumulate the statistical data of the behavior of potential commodity buyer, to understand user to the behavior of the various conditions of commodity and preference or the performance of buyer on webpage.These information may be used for segment the market marketing and sales tactics.In the art, such data collection and analysis is commonly referred to large Data Collection.
At present, for computing system or strategy generally tracking keystroke or other inputs of this large Data Collection, such as mouse is clicked or user points to.General very complicated, the consuming time and poor efficiency of keystroke analysis.
Summary of the invention
A kind of high-availability computer instruction is the object of the present invention is to provide to carry out the not reciprocity large Data Collection of selectivity and analytical approach and system.
In order to achieve the above object, the technical solution used in the present invention is as follows:
The not reciprocity large Data Collection of selectivity and analytical approach are carried out in a kind of high-availability computer instruction, the method performs in a single computer system, described computer system comprises the first memory for storing instruction and operand, can obtain and decoding instruction, operand description symbol index, the central processing unit of operand description symbol and the second memory for store operands descriptor; Described operand description symbol comprises data referencing counting section and the optional field of enabling counting; Described instruction at least comprises operational code, the index of target operand descriptor and general-purpose register numbering; Described method is included in central processing unit the data referencing counting using described operand description to accord with appointment single operation number.
For the ease of understanding, method of the present invention can be understood as following three parts, and Part I comprises data referencing count area and the optional field of enabling counting at the operand description symbol of computer instruction.
Part II is to provide one or more instruction (such as, two instruction set) to enable and disable data reference count; In enabled instruction, the not reciprocity addend for the significance level according to them represents different weight, can complete counting with various increment, and generally has data referencing to count the maximum count being arranged to maximal value.
And the counting in instruction is enabled permission system and is prevented unintentional counting.Such as, in many systems, can by many software routines, these software routines must access the entry that user does not start, and these access need not count.
In general, once data referencing counting is arranged to maximal value, data referencing counts maintenance maximal value until carry out replacement operation to counting.Data referencing counts when can be configured to initialization or reset system or when carrying out concrete reset indication by operand description symbol to data and carries out.
Part III comprise reset and read reside in operand description symbol in data referencing counting instruction.
Compared with prior art, the invention has the advantages that: method of the present invention can gather counting and the statistical data of relevant data access more efficiently during using logical program; And system of the present invention can perform large data analysis very efficiently by quoting or access single operation number at logical order level statistic.
For example, in order to follow the trail of the behavior of user or client in some internet, applications of website, number of times or the sum of the entry interested of access is usefully collected.In general, in existing system, software routines beyond the major instruction stream being used in program and is in addition to perform counting.Which increase the burden of application software and have negative effect to performance.In addition, one of them key to understand and the behavior of registering user is mutual or where observe website or webpage where before these entries of access to understand user.
System of the present invention does not have self-defining hardware supplemental characteristic so that this tracking and statistical data accumulation.Method and system of the present invention uses operand description symbol framework so that the reference count of operand, and the reference count of the various entries therefore represented by operand quotes the number of times of specific operation number with statistics.This is convenient to tracking, statistical data accumulation etc.Very not reciprocity addend or weighted data reference count can be carried out to instruction operands to allow to count more flexibly.
Embodiment
Below in conjunction with accompanying drawing, the preferred embodiments of the present invention are described in detail, can be easier to make advantages and features of the invention be readily appreciated by one skilled in the art, thus more explicit defining is made to protection scope of the present invention.
Below describe the structure and the operation that present computer system, this computer system incorporates the many aspects of the specific embodiment according to method and system of the present invention.In the descriptor framework computing machine of example, operational code, the index of target operand descriptor and general-purpose register numbering can be comprised about storing the instruction of data, as shown in Figure 1.In this embodiment, in order to perform load instructions, the data segment of the source operand descriptor addressing of operand description symbol pointed by index is loaded into by the general-purpose register of field GR0 index.And the operand description discussed in above list of references accords with virtual address, its data type and the size and optional vector specification (if existence) that can comprise the storage space of operand in concrete example.
As specific embodiment, generally when using operand description symbol or similar techniques program compiler, the object code of operand description symbol computing machine comprises three parts: the form of instruction, operand description symbol and the data pointed by operand description symbol.In a particular embodiment, operand description symbol is the linear array being accorded with index institute index by the operand description in instruction.When object code is loaded in operand description symbol computer system at first, the system property that the data referencing obtaining the single operation number comprised in object code counts by operating system, to be suitably delivered to hardware logic and system program.
Will before executive routine, that such as carrys out the operand description symbol file that free compiler generates has its operand description of pending instruction to accord with generally to be loaded in special short-access storage with the speed being equivalent to data buffer storage.In a particular embodiment, this storer is called as operand description symbol buffer memory.Therefore, operand description symbol buffer memory is generally understood as the temporary storage of the operand description symbol form for program.
According to specific embodiment, if operand description symbol does not reside in operand description symbol buffer memory, just read data referencing counting from operand description symbol file.Operand description symbol buffer memory can upgrade or not upgrade to comprise the operand description symbol entry of loss.
According to specific embodiment, method and system of the present invention make operand description accord with extend to comprise data referencing counting, as shown in Figure 2.The application of the invention, if enable counting and have activated counting by technology enabled instruction in each descriptor, so when executing a program, on operand, whenever carry out storage quote, the data referencing counting in corresponding operand description symbol cache entries will increase the increment or maximal value of specifying.
When system initialization or by concrete instruction, the data referencing counting that operand description symbol file and operand description accord with in buffer memory can reset to zero; Another instruction consisted of the general-purpose register according with index and reception by operational code, operand description can read counting.
Fig. 3 is the schematic diagram of the method being used to specify operand description symbol, its step is, B1, in computer systems, which, there is storer, the central processing unit for instruction and operand, provide operand description to accord with index, operand description symbol and operand description symbol buffer memory; B2, in central processing unit, carry out the selectivity odd data reference count of single operation number by operand description symbol; B3, in operand description symbol buffer memory, store the data referencing counting of single operation number; B4, in central processing unit, the data referencing counting of single operation number is carried out in the storage operation of being asked by the operand description symbol process of Buffering Verifier to operand; B5, in central processing unit, enable in process status register single operation number data referencing counting; The data referencing counting of B6, single operation number passes to the system software comprising operating system and support software.
Fig. 4 is the schematic diagram of the method being used to specify the data referencing count area that operand description accords with, operand description accords with, its step is, D1, in computer systems, which, there is storer, the central processing unit for instruction and operand, provide operand description to accord with index, operand description symbol and operand description symbol buffer memory; D2, in central processing unit, carry out the selectivity odd data reference count of single operation number by operand description symbol; D3, in operand description symbol buffer memory, store the data referencing counting of single operation number; D4, in central processing unit, verified the data referencing counting of a whole set of single operation number descriptor by the predetermined module of the admissible data referencing counting for single operation number when program starts and is loaded in system.
If this is the subsequent step of subroutine, then counting should be standard increment, and this standard increment is minimum value or 1.Other positions not too commonly used should obtain higher value, because user deliberately skips from these positions with accesses entry.If necessary, the difference counting of each entry of collecting statistical data can be had.Come by the reference count of the interested entry of data representation according to using the specific embodiment of computer instruction operand description symbol.In a particular embodiment, the bit representation in ODI (operand description symbol index) entry is used for the counting of this operand, and the multiple bit fields in ODI is used for each reference count of store operands.Started and counting of stopping using by instruction particularly.Counting has maximal value.It is most popular that maximum count comprises entry in statistical data is collected.The width of counting can be 32 or any rational maximal values.The increment for counting also is specified in enabled instruction, makes increment can be the maximal value that minimum constant 1, larger constant or the figure place that can be used for specific field allow.Can through processing and being delivered to the reference count of statistical software as data to the counting of operand description symbol.Reference count will be used as the key component of the principal statistical data of large data processing to distinguish the popularity of entry to user.
Fig. 5 shows the block diagram of the logical device of the representative illustration that can adopt many aspects of the present invention.Those skilled in the art will understand from technology provided by the invention, can implement specific embodiment in hardware and/or software.Should be understood that in the art, the present invention or its ingredient may be embodied as the fixed medium program component comprising logical order and/or data, and described logical order and/or data make this equipment run according to specific embodiment when time in the computing equipment being loaded into appropriate structuring.Should be understood that in the art, the fixed medium comprising logical order can hand to the user for being physically loaded into the fixed medium in the computing machine of user, or the fixed medium comprising logical order can be resided in user and accessed to download on the remote server of composition by communication media.Specific embodiment also can be implemented whole or in part in the circuit of special IC (ASIC) or programmable logic device (PLD) (PLD).In this case, specific embodiment can be implemented with the intelligible descriptor language of computing machine, and the intelligible descriptor language of this computing machine may be used for setting up ASIC or PLD operated according to mode of the present invention.
Fig. 5 shows information appliance (or digital device) 700, this information appliance can be understood as can from the logical device of medium 717 (fixed medium) and/or the network port 719 reading command, and this logical device can optionally be connected with the server 720 with fixed medium 722.After this, equipment 700 can use these instructions to instruct the server or client logic understood in this area to implement the many aspects of specific embodiment of the present invention.Can implement according to the logical device of a type of the present invention of specific embodiment be illustrated as 700 computer system, this computer system comprises CPU 707, optional input equipment 709 and 711, disc driver 715 and optional display 705.Fixed medium 717 or may be used for this system of programming by the fixed medium 722 that port 719 communicates, and can represent plate-like optical medium or magnetic medium, tape, solid-state dynamically or static memory etc.In a particular embodiment, the present invention can be embodied as the software recorded in this fixed medium whole or in part.Communication port 719 also may be used for the initial instruction received for this system of programming, and can represent the communication connection of any other type.
Except other embodiments of the present invention, specific embodiment may be embodied as accessing data of the present invention and for one or more information equipment of performing data analysis, data communication and Signal transmissions and output of the present invention or system.Certainly should be realized that in the art, many differences and the equipment of change and system can be specifically constructed to mode as described above and operate.Information equipment of the present invention or system can be messaging device or the system that can be constructed to any type as described in the present invention specially.Information equipment of the present invention or computing machine can comprise one or more logic processor, the processor such as researched and developed by Qualcomm, Nvidia, Samsung, Apple, Motorola or manufactured, or any other commercially available or proprietary logic processor.
Information equipment of the present invention or computing machine can comprise one or more operating system or relevant system or support logic module, such as Android, Linux, iPhoneOS, Windows, AppleOS, Chrome etc.Logical order or program can reside in processor by any hardwire or the addressable storage medium of wave point, such as, and any electronic storage device, magnetic storage apparatus, optical storage apparatus or other digital storage equipments.Although storage medium is tangible, storage medium can be movable, and sometimes there are some distances with information equipment and accessed by communication port.Therefore, implement the medium that the logical order of embodiment can reside in hardware driver, non-volatile electronic memory, moveable magnetic disc or such as memory stick or SD storage medium, based on wired or wireless network or the network attached storage (NAS) based on bluetooth, or any this medium of accessing in cloud computing environment or by the network of such as the Internet.Therefore, program can such as there is server or transmit a signal to local machine other machines network on run, this allows local machine to implement operation of the present invention.Therefore, specific embodiment relates to for configuration-system and equipment with the logical order product of the computer program of the storage operated according to mode of the present invention and storage.Described product comprise the computing machine implementing to store can program code or the tangible medium of instruction, the computing machine of described storage can program code or instruction instruct this system or equipment to operate according to mode of the present invention when being used for configuration-system or equipment.Various specific embodiment provides method for operating according to mode of the present invention and/or system and/or equipment, described method and/or system and/or equipment can by using one or more suitable programming languages (such as, Java, C++, C#, Cobol, C, Pascal, Fortran, PL1, LISP, assembly etc.) and any suitable data or format specification (such as, HTML, XML, dHTML, TIFF, JPEG, tab-delimited text, scale-of-two etc.) special configuration equipment or system are (such as, business information system or laboratory information system or Diagnostic Information System or production information system, portable or half portable or fixing personal information system, workstation) implement.For the sake of clarity, all features of actual embodiment are not described in this manual.Be to be understood that, in any this actual embodiment of exploitation, as in any development project, the special decision of numerous embodiment must be made to obtain objectives and the sub-goal of developer, such as, meet the constraint relevant with business that system is correlated with, this can be different because of the difference of embodiment.In addition, should be appreciated that this development effort may be very complicated and time-consuming, but for the those of ordinary skill of being benefited from the present invention, this may be the everyday tasks of soft project.
Well known in the art, such as method and system of the present invention can comprise the difference in functionality of various heterogeneity and modular mode.Different Illustrative embodiments and embodiment can comprise the difference mixing of element and function, and can form the various functions of the part as various element.For purposes of clarity, embodiments of the invention are described at the system aspects comprising many different innovation compositions and innovation composition and the innovative combination of principal component.Should not infer that claimed invention is confined to comprise in any illustrative embodiment in this manual the combination of all innovation compositions listed.Mention in the present invention the embodiment with special characteristic and in the present invention other positions mention another embodiment with different characteristic and do not discharge from the present invention and there is this two kinds of features or characteristic embodiment of the present invention, except non-invention special secondary school door sets forth this eliminating.
Not each shown in accompanying drawing all needs to occur in each example.Otherwise embodiment can comprise some that do not illustrate specially in accompanying drawing.Although by instantiation at word of the present invention with shown in the drawings of some possibilities, embodiment can cast aside these examples.Such as, the concrete technique effect of example or technical characteristic can omit, rename, differently combine, repeat, differently instantiation in hardware and/or software, or can be the mixing of effect or the feature occurred in two or more examples.In certain embodiments, also a function shown in position can be provided in different positions; Technician will recognize, when required technique effect may not be omitted from the set of the interactional module seen integrally, and can attributive function module in every way in given embodiment.Therefore, the invention describes the more specific embodiments that can be used in affecting the different modes realizing more overall goals.Although be only discussed in detail a small amount of embodiment in the present invention, other embodiments are also feasible and inventor intends to allow these embodiments comprise in this manual.Instructions describes instantiation to complete more overall goals that can complete in another way.The present invention is intended to exemplary, and claims are intended to contain the predictable any amendment of those skilled in the art or alternative.
When mentioning concrete numerical value in the present invention, will be understood that this numerical value can increase or reduce 20%, still staying in instruction of the present invention, except non-expert mentions some different scopes simultaneously.When using the logical meaning of specifying, be also intended to comprise contrary logical meaning.
Although specific embodiment illustrates specially in the present invention and is described as method, the medium of configuration or system, should be appreciated that the embodiment of discussion one type generally also extends to the embodiment of other types.This does not also mean that the restriction of an embodiment must be read in another embodiment.Specifically, method may not be confined to the data structure that proposes when the manufactured goods of discussing system or the storer that such as configures and layout.