CN109389405A - 一种关系校验的方法和装置 - Google Patents
一种关系校验的方法和装置 Download PDFInfo
- Publication number
- CN109389405A CN109389405A CN201710653426.0A CN201710653426A CN109389405A CN 109389405 A CN109389405 A CN 109389405A CN 201710653426 A CN201710653426 A CN 201710653426A CN 109389405 A CN109389405 A CN 109389405A
- Authority
- CN
- China
- Prior art keywords
- business entity
- entity
- relationship
- array
- relational
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000011159 matrix material Substances 0.000 claims abstract description 136
- 238000012795 verification Methods 0.000 claims abstract description 68
- 239000003550 marker Substances 0.000 claims description 91
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 238000007906 compression Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 11
- 229910002056 binary alloy Inorganic materials 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000002474 experimental method Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 12
- 230000007717 exclusion Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
- G06Q30/015—Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
- G06Q30/016—After-sales
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种关系校验方法,该方法中,校验装置接收业务装置针对用户的业务请求发起的校验请求,该校验请求中携带待校验的业务实体;该校验装置采用预先生成的关系矩阵,对所述待校验的业务实体进行关系校验计算,该关系矩阵由各业务实体的关系阵列组成,一个业务实体的关系阵列用于描述所述一个业务实体与其它业务实体的关系;该校验装置将关系校验计算的结果返回给所述服务装置,通过将各业务实体的关系数据转换为关系矩阵后,采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而可降低计算复杂度,提高系统的性能。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种关系校验的方法和装置。
背景技术
随着技术的发展,用户可办理的业务越来越丰富。在办理业务的过程中通常涉及业务实体以及业务动作。业务实体是用户进行业务办理的对象。例如,在订购业务中,业务实体可以是供用户订购的产品或商品。业务动作是对业务实体进行的一种操作。例如,在订购业务中,业务动作是订购操作。用户办理业务通常会受到业务规则的约束。业务规则中定义了对一些关系进行校验,校验通过才可办理。其中,关系是在一种业务动作中,业务实体间的关系。根据需要,系统中可以定有不同的类型的关系。比如,常见的关系类型有互斥关系、依赖关系等。互斥关系表示业务实体之间存在的针对某种业务动作的不可相容关系。举例说明,在订购业务中,商品A和商品B是互斥关系,则表示不可同时订购商品A和商品B(例子中,商品A和商品B是业务实体,订购是业务动作)。依赖关系表示业务实体之间存在的针对某种业务动作的依存关系。举例说明,在订购业务中,商品A和商品B是依赖关系,则表示订购商品A,必须要同时订购商品B(例子中,业务实体是商品A和商品B,业务动作是订购)。
目前,通常采用列表遍历的方式进行关系校验,下面以订购业务以及关系校验的业务场景为互斥关系校验为例,对现有的校验算法进行介绍,该校验算法如下:
(1)分别取出已订购商品A,B的互斥商品列表,以及待订购商品列表C,D,E,F
(2)分别循环遍历上述互斥商品列表,再遍历待展示商品列表以确定C,D,E,F是否在互斥商品列表中。如果在其中,记录下与C,D,E,F冲突的商品编号
(3)提示客户是否可订购C,D,E,F,如果不可订购则提示冲突商品信息。
从上述算法可以看出,现有校验算法需要遍历已订购商品的互斥商品列表以及待订购商品列表,算法的复杂度为O(N*N),其中,N为商品列表的长度。也就是说,该算法的复杂度会随商品列表长度N成指数级上升。因此,随着业务实体的数量的增加,关系校验已经成为系统的性能瓶颈,如图1所示,图1为现有技术的性能压测结果。
发明内容
本发明实施例提供了一种关系校验的方法和设备,能将指数级上升的关系校验计算开销降低到线性上升,从而提高性能。
为达到上述目的,本发明采用如下技术方案:
一方面,本非卖那个实施例提供了一种关系校验的方法,该方法中,校验装置可与业务装置交互。业务装置可以针对用户的业务请求向校验装置发起的校验请求。该校验请求中携带待校验的业务实体。校验装置接收到校验请求后,采用预先生成的关系矩阵,对所述待校验的业务实体进行关系校验计算。其中,关系矩阵是由各业务实体的关系阵列组成的。一个业务实体的关系阵列用于描述所述一个业务实体与其它业务实体的一种关系。计算出结果后,校验装置将关系校验计算的结果返回给服务装置。在该方法中,校验装置采用的是关系矩阵来表示业务实体间的一种关系,在进行关系校验计算时,可直接采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而可降低计算复杂度,提高系统的性能。
在一种可能的设计中,对所述待校验的业务实体进行关系校验计算的过程包括:校验装置根据关系校验算法中定义的源业务实体以及目标业务实体,将待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个。这里的一个是指所述源业务实体或所述目标业务实体中的其一。校验装置获取源业务实体的位置标识,并读取对应于关系校验算法的关系矩阵,从该关系矩阵中获取所述目标业务实体的关系阵列。校验装置按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,得到所述关系校验计算的结果。其中,所述源业务实体的位置标识用于标识所述源业务实体在所述关系矩阵中的位置。该方案中,通过设置不同的关系校验算法可以完成不同的关系类型的校验,提高了系统的灵活性。
在一种可能的设计中,校验装置根据关系校验算法中定义的源业务实体以及目标业务实体,将所述待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个,包括:所述校验装置确定需校验的关系类型,读取所述关系类型对应的关系校验算法,所述关系类型包括互斥关系,和/或,依赖关系。在互斥关系对应的关系校验算法中,所述待校验的业务实体作为所述源业务实体。在依赖关系对应的关系校验算法中,所述待校验的业务实体作为所述目标业务实体。
在一种可能的设计中,在进行校验的关系类型为互斥关系的情况,验装置按照关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算的过程包括:校验装置将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,得到所述关系校验计算的结果;其中,位与后值为0,代表不存在互斥关系,校验通过;位与后值为1,代表存在互斥关系,校验不通过。
在一种可能的设计中,在进行校验的关系类型为依赖关系的情况,校验装置按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算的过程包括:校验装置将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,再将位与的结果与所述目标业务的关系阵列进行位异或,得到所述关系校验计算的结果;其中,位异或后值为0,代表依赖关系校验通过;位异或后值为1,代表依赖关系校验不通过。
在一种可能的设计中,所述源业务实体为一个时,所述校验装置获取所述源业务实体的位置标识,包括:所述校验装置直接读取所述源业务实体的位置标识。所述源业务实体大于一个时,所述校验装置获取所述源业务实体的位置标识,包括:所述校验装置直接读取每个源业务实体的位置标识,对每个源业务实体的位置标识进行位或,以位或后的结果作为所述源业务实体的位置标识。所述目标业务实体为一个时,所述从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验装置直接从所述关系矩阵中查询到所述目标业务实体的关系阵列。所述目标业务实体大于一个时,所述从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验装置从所述关系矩阵中查询每个目标业务实体的关系阵列,对每个目标业务实体的关系阵列进行位或,以位或后的结果作为所述目标业务实体的关系阵列。
在一种可能的设计中,校验装置可以在接收到所述校验请求前预先生成关系阵列。其生成关系阵列的过程包括:校验装置根据各业务实体的关系数据生成所述关系矩阵,并保存所述关系矩阵;所述关系数据用于描述各业务实体间的一种关系。通过将关系数据表示成关系阵列的形式,使得在进行关系校验计算时,可直接采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而可降低计算复杂度,提高系统的性能。
在一种可能的设计中,所述校验装置根据各业务实体的关系数据生成所述关系矩阵,具体包括:所述校验装置采用编码算法将各业务实体的编号编码城阵列形式的位置标识。将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列。由每个业务实体的关系阵列组成所述关系矩阵。
在一种可能的设计中,所述校验装置采用编码算法将各业务实体的编号编码城阵列形式的位置标识,具体包括:根据所述业务实体的编号确定所述业务实体的次序,在以预设长度的二进制来表示的阵列中,将对应所述业务实体的次序的位置设置为1,其它位置设置为0,得到所述业务实体的位置标识。
在一种可能的设计中,所述将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列具体包括:对每个业务实体,将与其有关系的业务实体的位置标识进行位或,得到各业务实体的关系阵列。
在一种可能的设计中,其特征在于,所述校验装置采用编码算法将各业务实体的编号编码成阵列形式的位置标识,包括:将以预设长度的二进制来表示的阵列划分为空间地址部分和空间数据部分;所述空间地址部分用于标识空间单元,所述空间数据部分用于标识空间单元中的业务实体。所述校验装置按照业务实体的编号将所述业务实体划分到对应的空间单元中,并确定所述业务实体在对应空间单元中的位置。将所述业务实体对应的空间单元表示在所述阵列的空间地址部分,将所述业务实体在对应的空间单元中的位置表示在所述空间数据部分,得到经过压缩的位置标识。通过压缩,可以减小关系矩阵对存储空间的占用,节约存储资源。而且压缩后的关系矩阵所占空间小,使得校验装置可以预缓存该关系矩阵,加快关系校验过程中的读取速度,进一步提高系统效率。
在一种可能的设计中,当位置标识是经过压缩的时,生成的关系矩阵为经过压缩的关系矩阵。在采用压缩的关系矩阵进行关系校验计算时,与计算采用相同地址空间做位与,不相同地址空间计算成0;或运算采用相同地址空间做位或,不相同地址空间则合并成新的阵列。
另一方面,本发明实施例提供了一种校验装置,该装置具有实现上述方法实施例中校验装置的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块(比如,接收模块,校验模块、发送模块和管理模块)。
在一种可能的设计中,该装置的硬件结构中包括处理器和存储器,所述存储器用于存储支持该装置执行上述方法的应用程序代码,所述处理器被配置为用于执行所述存储器中存储的应用程序。所述装置还可以包括通信接口,用于该装置与其他设备或通信网络通信。
又一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述校验装置所用的计算机软件指令,其包含用于执行上述方面为校验装置所设计的程序。
相较于现有技术,本发明实施例提供的校验装置在将各业务实体的关系数据转换为关系矩阵后,采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而可降低计算复杂度,提高系统的性能。
附图说明
图1为现有技术的性能压测结果;
图2为本发明实施例提供的CRM系统的结构示意图;
图3为本发明实施例提供的计算机设备的结构示意图;
图4为本发明实施例提供的构造关系矩阵的方法流程图;
图5为本发明实施例提供的利用关系矩阵进行关系校验的方法流程图;
图6为本发明实施例提供的空间单元的格式示意图;
图7为本发明实施例提供的压缩后的位置标识的格式示意图;
图8为本发明实施例提供的校验装置的结构图;
图9为本发明实施例提供的数据结构优化的效果示意图;
图10为本发明实施例提供的算法优化的效果示意图;
图11为本发明实施例提供的优化效果测试结果示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明实施例可应用于客户关系管理(Customer Relationship Management,CRM)等需要进行关系校验的系统。本发明实施例所提供的方案主要实施在系统中进行关系校验的功能部件或装置中,进行关系校验的功能部件或装置可接收外部或系统中的其它功能部件或装置发起的校验请求,从而启动关系校验的流程。下面以CRM系统为例进行详细说明,在其它系统中的应用可类似CRM系统。
如图2所示,图2为一种CRM系统的实施例的结构示意图,其中包括以下部件:
业务装置201,用于接收来自用户的业务请求,并根据业务请求向校验装置202发送校验请求,触发关系校验流程,再根据校验结果确定是否执行业务动作。其中,业务装置202可以是CRM系统中的营业厅组件,可以为用户提供查询业务实体、订购业务实体等功能。
校验装置202,用于进行关系校验。这里的关系是指针对一种业务动作,业务实体间需要满足的约束关系,具体定义可参考背景技术部分。不同的业务操作可以有不同的约束关系。在用户请求执行某种业务动作时,校验装置202需要对该业务动作所要求的约束关系进行校验,并将校验结果返回给业务装置201。只有在该业务动作中的业务实体满足该约束关系时,业务装置201才执行该业务动作。例如,在CRM系统中,当用户通过终端设备向业务装置201发起订购商品的业务请求时,校验装置202会计算和校验已订购商品列表和待订购商品列表之间的关系,业务装置201根据校验结果向用户返回是否可订购的结果。本发明实施例在校验装置202中增加了矩阵管理功能。该矩阵管理功能主要用于将各业务实体的关系数据转换为关系矩阵。在本发明实施例中,校验装置202在将各业务实体的关系数据转换为关系矩阵后,采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而可降低计算复杂度,提高系统的性能。关于关系矩阵的构造以及关系校验的计算过程可参见后面的方法实施例部分。
存储部件203,用于存储业务实体的相关数据。该存储部件203中可以安装有数据库,业务实体的相关数据可存储于数据库中。业务实体的相关数据可包括业务实体的关系数据以及根据关系数据构造的关系矩阵。其中,关系数据用于描述各业务实体间的关系,如互斥关系,或,依赖关系等。关系矩阵则是以矩阵形式来描述的各业务实体间的关系。关系矩阵可以基于关系数据来构造得到,然后存储于存储部件203中。
另外,本发明实施例还可以在系统中新增缓存部件204。该缓存部件204可以是内存等,其缓存功能是在运行态的一种临时存储。该缓存部件204用于从存储部件203预加载关系矩阵,从而在关系校验过程中加速对关系矩阵的读取。由于关系数据数量庞大,现有技术无法采用缓存的手段来预加载关系数据,因此,在关系校验阶段每次都需要从存储部件读取关系数据,影响系统的执行速度。而本发明实施例,将关系数据转换为关系矩阵来表示,并且可矩阵压缩算法进一步对关系矩阵进行压缩,从而减少对存储空间的占用,使得利用缓存来加快对数据的读取得以实现,可进一步提升了系统的效率。
图2中所示的CRM系统中的各设备可以采用图3中的计算机设备来实现。例如,该计算机设备可用于实现如图2所示CRM系统中的校验装置。如图3所示,计算机设备300包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。所述通信接口304,适用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等,在本发明实施例中,通信接口204可用于与应用服务器以及与分布式存储系统中的其它存储节点进行通信。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器303用于存储执行本发明方案的应用程序代码,并由处理器301来控制执行。所述处理器301用于执行所述存储器303中存储的应用程序代码。具体的,存储器303中存储用于实现校验装置的功能的代码。处理器301执行所述存储器203中存储的应用程序代码,执行图4和图5所示实施例中的校验装置的功能。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备300可以包括多个处理器,例如图3中示出两个处理器301。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
上述的计算机设备300可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备300可以是网络服务器、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备300的类型。
需要说明的是,图2中所示的CRM系统200中各设备可以分别在不同的计算机设备上实现,也可以部分集成在一个计算机设备上实现。
下面通过图4和图5分别对关系矩阵的构造流程以及利用关系矩阵进行关系校验的流程进行说明。图4以及图5对图2所示业务装置以及校验装置分别在这两个流程中的功能进行了详细描述。
如图4所示,图4为构造关系矩阵的方法流程图,该方法包括:
S401,操作员通过终端设备配置业务实体的关系数据,并发送给校验装置。
其中,关系数据中包括业务实体的编号以及各业务实体间的关系。业务实体的编号可以唯一标识一个业务实体。关系数据可以有一种或多种,不同类型的关系数据描述了不同的关系类型。例如可以有描述互斥关系的关系数据,也可以有描述依赖关系的关系数据。
S402,校验装置根据关系数据生成关系矩阵。
其中,生成关系矩阵的过程包括:
A、校验装置采用编码算法将各业务实体的编号编码成阵列形式的位置标识。
通常情况下,业务实体的编号是一组有序的编号。校验装置可以根据业务实体的编号确定该业务实体的次序,然后在以预设长度的二进制来表示的阵列中,将对应该业务实体的次序的位置设置为1,其它位置设置为0,从而得到该业务实体的位置标识。生成的位置标识可以标识该业务实体在关系矩阵中的位置。
需要说明的是,二进制的阵列的长度可以根据业务实体的数量来确定,例如,有N个业务实体,则可将阵列的长度设置为N位。
举例说明,假设有8个业务实体,编号分别为0-7。由于有8个业务实体,采用的二进制阵列的长度可以是8位,表示为00000000。按照上述方法,可得到编号为0的业务实体的位置标识为10000000,编号为1的业务实体的位置标识为01000000,以此类推,编号为6的位置标识为00000010,编号为7的业务实体的位置标识为00000001。
由上可知,位置标识中的每一个位置代表唯一一个业务实体。
B、校验装置将关系数据中的每个业务实体与其它业务实体的关系以位置标识来表示,得到每个业务实体的关系阵列。
校验装置可以查询关系数据,从关系数据中获取每个业务实体与其它业务实体的关系,再基于该关系生成每个业务实体的关系阵列。在生成业务实体的关系阵列时,校验装置可以将与该业务实体有关系的业务实体的位置标识进行位或,从而得到该业务实体的关系阵列。
举例说明,这里以关系数据是记录互斥关系的数据为例,假设从关系数据中获知,业务实体2与业务实体0以及业务实体6有互斥关系,则生成业务实体2的关系阵列的过程如下:
10000000(业务实体0的位置编号)位或00000010(业务实体6的位置编号),得到位或结果10000010,即业务实体2的关系阵列。
C、由每个业务实体的关系阵列组成关系矩阵。
假设系统中有N个业务实体,校验装置可将N个商品的关系阵列编排组装,形成N×N的矩阵,即为关系矩阵。每一个关系矩阵代表了当前系统的一种关系的全量信息。这里的编排组装可以是直接将每个业务实体的关系阵列作为矩阵中的一行,从而得到N×N的关系矩阵。
S403,校验装置将关系矩阵存储到存储部件。
在存储关系矩阵时,可以针对关系矩阵中的每条关系阵列分别生成一条记录,即对组成关系矩阵的每个业务实体的关系阵列分别生成一条记录。其中,该记录可包括的实体编号、实体类型、位置标识、关系类型、关系阵列等。具体的记录形式可采用表1所示的方式:
表1
S404,校验装置将关系矩阵从存储部件加载到缓存部件中。
在系统中有缓存部件的情况下,校验装置可以对关系矩阵进行预加载,从而提高后续对关系矩阵的读取速度。
以上过程是关系矩阵的准备阶段,下面结合图5进一步说明关系矩阵的使用过程。如图5所示,图5为利用关系矩阵进行关系校验的流程图,该过程包括:
S501,用户通过终端设备向业务装置发送业务请求。
其中,业务请求中包括业务动作,以及需执行业务动作的业务实体。该业务请求用于请求业务装置对该业务实体执行业务动作。
例如,在CRM系统中,业务请求可以是请求订购业务实体的订购请求。其中,订购请求中携带的业务动作是订购,需执行业务动作的业务实体是用户选择订购的业务实体。
S502,业务装置根据业务请求向校验装置发送校验请求。
业务装置在接收到业务请求后,确定用户请求执行业务动作的业务实体。将需要执行业务动作的业务实体作为待校验的业务实体携带在校验请求中。
S503,校验装置采用预先生成的关系矩阵,对待校验的业务实体进行关系校验计算。
需要说明的是,在关系矩阵的相关数据已预加载缓存部件的情况下,校验装置可以从缓存部件中读取关系矩阵,在关系矩阵的相关数据没有预加载到缓存部件的情况下,校验装置可以从存储部件中读取关系矩阵。
校验装置所在的系统中可预先定义算法动作,如表2所示:
当要对某种关系进行关系校验计算时,校验装置根据算法动作表查询该关系类型的关系校验算法定义,根据该关系校验算法定义进行关系校验计算。具体过程如下:
A、校验装置获取SITE_ARRAY_OBJECT字段记录的内容,进行位置标识数据取值并位或。SITE_ARRAY_OBJECT字段记录的内容即为源业务实体。如果SITE_ARRAY_OBJECT字段记录的内容为待校验的业务实体,那么,待校验的业务实体就作为源业务实体。如果SITE_ARRAY_OBJECT字段记录的内容为已执行过业务动作的业务实体(例如,在订购业务中,已执行过业务动作的业务实体为已订购的业务实体),那么,已执行过业务动作的业务实体就作为源业务实体。
B、校验装置还获取RELA_ARRAY_OBJECT字段记录的内容(即目标业务实体),进行关系阵列数据取值并位或。RELA_ARRAY_OBJECT字段记录的内容即为目标业务实体。如果RELA_ARRAY_OBJECT字段记录的内容为待校验的业务实体,那么,待校验的业务实体就作为目标业务实体。如果RELA_ARRAY_OBJECT字段记录的内容为已执行过业务动作的业务实体(例如,在订购业务中,已执行过业务动作的业务实体为已订购的业务实体),那么,已执行过业务动作的业务实体就作为目标业务实体。
C、校验装置根据ALGORITHM记录的算法,将步骤A以及步骤B计算的结果采用该算法进行计算。
D、如果步骤C的计算结果为零则返回true,为非零则返回false。其中,结果为零,表示进行计算的实体对象间存在此种关系,结果非零,表示进行计算的实体对象间不存在此种关系。
下面分别以在订购业务中如何利用关系矩阵来进行互斥关系校验以及依赖关系校验为例进行说明。
一、互斥关系实施例
在订购业务中,业务动作为订购,待校验的业务实体为待订购的业务实体,已执行过业务动作的业务实体为已订购的业务实体。校验装置进行互斥关系校验的输入为:已订购的业务实体列表、待订购的业务实体列表、以及互斥关系类型。
假设将系统中已有业务实体按照序列编号,如表3所示的5个业务实体为样本空间,表4为互斥关系的关系矩阵。
表3
编号 | 业务实体Code |
0 | PM001 |
1 | PM002 |
2 | PM003 |
3 | PM004 |
4 | PM005 |
表4
编号 | 0 | 1 | 2 | 3 | 4 |
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 |
2 | 1 | 0 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 0 | 0 |
4 | 0 | 1 | 0 | 0 | 0 |
表4所示的关系矩阵表示,业务实体0和业务实体2互斥,业务实体1和业务实体4互斥。需要说明的是,互斥关系是一种双向关系,业务实体0和业务实体2互斥也代表业务实体2与业务实体0互斥。
假设以待订购的业务实体为业务实体0和业务实体1,已订购的业务实体为业务实体3和业务实体4为例。
校验装置查询表2所示的算法动作表中的互斥关系的关系校验算法定义,本实施例中互斥关系的关系校验算法定义如表5所示。
表5
当进行关系校验计算时,执行以下过程:
A、取业务实体0和业务实体1的位置标识,如下:
业务实体0的位置标识为10000
业务实体1的位置标识为01000
计算业务实体0和业务实体1的位置标识集合(即对业务实体0和业务实体1的位置标识进行位或):10000位或01000=11000。
由表5可知,在互斥关系校验中,SITE_ARRAY_OBJECT取值是取待订购业务实体的位置标识,即源业务实体是待订购业务实体。
B、取互斥关系矩阵中对应业务实体3和业务实体4的关系阵列,如下:
业务实体3的关系阵列为00000
业务实体4的关系阵列为01000
计算业务实体3和业务实体4的互斥关系阵列集合(即对业务实体3和业务实体4的关系阵列进行位或):00000位或01000=01000
由表5可知,在互斥关系校验中,RELA_ARRAY_OBJECT取值是取已订购业务实体的关系阵列,即目标业务实体是已订购业务实体。
C、将待订购业务实体0和1的位置标识集合与已订购业务实体3和4的互斥关系阵列集合进行位与运算:
11000位与01000=01000。
由于表5所示的互斥关系的关系校验算法定义中,互斥关系的算法公式是将步骤A和步骤B的结果做位与运算,因此,在步骤C中,按照表5中的算法公式进行计算。
D、步骤C中计算结果不为0,返回false,对应互斥结果是1号位业务实体。
具体的,步骤C中计算结果如果为0,则代表校验通过(即不存在互斥,待订购的业务实体可购买)。如果步骤C中计算结果如果不为0,则代表校验不通过(即存在互斥,待订购的业务实体不可购买)。
在本实施例中,步骤C的计算结果不为零,因此,关系校验不通过。
一、依赖关系实施例
同样以订购业务为例,对依赖关系的校验过程进行说明。同样的,在订购业务中,业务动作为订购,待校验的业务实体为待订购的业务实体,已执行过业务动作的业务实体为已订购的业务实体。校验装置进行依赖关系校验的输入为:已订购的业务实体列表、待订购的业务实体列表、以及依赖关系类型。
同样以表3所示的5个业务实体为样本空间,表6为依赖关系的关系矩阵。
表6
编号 | 0 | 1 | 2 | 3 | 4 |
0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 0 | 0 | 0 |
3 | 0 | 0 | 0 | 0 | 0 |
4 | 0 | 0 | 0 | 0 | 0 |
表6所示的关系矩阵表示,业务实体0依赖业务实体2,业务实体1依赖业务实体4。需要说明的是,互斥关系是一种单向关系,业务实体0依赖业务实体2不代表业务实体2依赖业务实体0。
同样以待订购的业务实体为业务实体0和业务实体1,已订购的业务实体为业务实体3和业务实体4为例。
校验装置查询表2所示的算法动作表中的依赖关系的关系校验算法定义,本实施例中依赖关系的关系校验算法定义如表7所示。
表7
当进行关系校验计算时,执行以下过程:
A、取业务实体3和业务实体4的位置标识,如下:
业务实体3的位置标识为00100
业务实体4的位置标识为00001
计算业务实体3和业务实体4的位置标识集合(即对业务实体3和业务实体4的位置标识进行位或):00100位或00001=00101
由表7可知,在依赖关系校验中,SITE_ARRAY_OBJECT取值是取已订购业务实体的位置标识,即源业务实体是已订购业务实体。
B、取互斥关系矩阵中对应业务实体0和业务实体1的关系阵列,如下:
业务实体0的关系阵列为00100
业务实体1的关系阵列为00001
计算业务实体0和业务实体1的互斥关系阵列集合(即对业务实体0和业务实体1的关系阵列进行位或):00100位或00001=00011
由表7可知,在依赖关系校验中,RELA_ARRAY_OBJECT取值是取待订购业务实体的关系阵列,即目标业务实体是待订购业务实体。
C、将已订购业务实体3和4的位置标识集合与待订购业务实体0和1的依赖关系阵列集合进行位与之后,再与依赖关系阵列集合进行异或运算:
(00101位与00011)位异或00101=00100
由于表7所示的依赖关系的关系校验算法定义中,依赖关系的算法公式是将步骤A和步骤B的结果做位与运算,然后再将位于运算的结果与目标业务的关系阵列进行位异或运算,因此,在步骤C中,按照表5中的算法公式进行计算。
D、步骤C中计算结果不为0,返回false,对应依赖结果是2号位业务实体。
具体的,步骤C中计算结果如果为0,则代表校验通过(即依赖的业务实体已购买,待订购的业务实体可购买)。如果步骤C中计算结果如果不为0,则代表校验不通过(即依赖的业务实体未全部购买,待订购的业务实体不可购买)。
在本实施例中,步骤C的计算结果不为零,因此,关系校验不通过,可提示用户本次待订购的业务实体所依赖的业务实体未全部购买,不可购买,需先购买业务实体为2。
S504,校验装置将关系校验的结果返回给业务装置。
S505,业务装置向用户发送提示信息。
业务装置可提示用户是否允许对该业务实体执行业务动作。例如,在步骤S503的互斥关系实施例中,业务装置可提示用户本次待订购的业务实体与已订购的业务实体互斥,不可购买,互斥业务实体为1。在步骤S503的依赖关系实施例中,可提示用户本次待订购的业务实体所依赖的业务实体未全部购买,不可购买,需先购买业务实体为2。
本发明实施例将各业务实体的关系数据转换为关系矩阵,采用关系矩阵进行关系校验计算,以矩阵计算替代了现有技术中的列表遍历,从而降低了计算复杂度,提高了系统的性能。
为了进一步提升系统的效率,在本发明另一实施例中,还可以采用矩阵压缩算法进一步对关系矩阵进行压缩,从而减少对存储空间的占用,使关系矩阵可以预加载到缓存中,从而加快对数据的读取,提升效率。其中,对关系矩阵的压缩可在构造关系矩阵的流程中完成,具体可在在图4所示的步骤S402中步骤A在生成位置标识时实现。下面介绍采用压缩算法时,如何生成各业务实体的位置标识。
关系矩阵压缩实施例
为了压缩关系矩阵,可以将业务实体的位置标识分割为多个空间单元,对业务实体的位置标识进行压缩,从而实现关系矩阵的压缩。具体的压缩过程如下:
(1)校验装置将以预设长度的二进制来表示的阵列划分为空间地址部分和空间数据部分。其中,空间地址部分用于标识空间单元,空间数据部分用于标识空间单元中的业务实体。
以64位为一个空间为例,则Number(20)长度的数字最大寻址为
99999999999999999999/64=1562499999999999999.984375
此寻址需要8字节的整形存储,因此一个标准的空间单元的格式如图6所示。
(2)校验装置按照业务实体的编号将所述业务实体划分到对应的空间单元中,并确定所述业务实体在对应空间单元中的位置。
例如,某个业务实体的编号是330776,
330776/64=5168
330776%64=24
也就是说该业务实体在5168这个空间单元中,其在该空间单元中的位置是24。
(3)将业务实体对应的空间单元表示在步骤(1)的阵列的空间地址部分,将所述业务实体在对应的空间单元中的位置表示在所述空间数据部分,得到经过压缩的位置标识。
如图7所示,图7为5168这个空间单元表示在空间地址部分以及该空间单元中的位置24表示在空间数据部分后,得到的位置标识。
在图7中,每一位在内存中就是一个bit位,首8Byte是空间地址,其它8Byte代表了64个bit位的数据。
在生成关系矩阵时,则可采用上述压缩过的位置标识来生成压缩的关系矩阵。
需要说明的是,在生成关系矩阵时,没有业务实体落入的空间单元则可以不进行记录,这是稀疏矩阵的大概率事件。
由以上压缩过程可看出,每个空间单元需要16个字节来存储,假设某个业务实体和另外100个业务实体发生某种关系,则此阵列的存储开销为100*16Byte=1.6KB。这大大减少了对存储空间的占用,节约了存储资源。
需要说明的是,由于压缩后的关系矩阵中的关系阵列是待地址空间的,因此采用压缩后的关系矩阵来进行关系校验计算时,需按以下方式来计算执行关系校验计算中到的运算式:
压缩阵列的与计算:相同地址空间做位与,不相同地址空间的直接计算成0。
压缩阵列的或运算:相同地址的空间做位或,不相同地址空间的合并成新的阵列。
本发明实施例,通过矩阵压缩算法对关系矩阵进行压缩,从而减少对存储空间的占用,使得利用缓存来加快对数据的读取得以实现,从而进一步提升了系统的效率。
图8示出了上述实施例中设计的校验装置的一种可能的结构示意图。如图8所示,该校验装置包括:接收单元801,校验单元802以及发送单元803。
其中,接收单元801与业务装置交互,用于接收业务装置针对用户的业务请求发起的校验请求。接收单元801的具体实现可参考图5所示方法实施例中步骤502的具体实现,这里不再赘述。
校验单元802,用于进行关系校验计算,在本发明实施例,校验单元802是采用预先生成的关系矩阵,对待校验的业务实体进行关系校验计算。校验单元802的具体实现可参考图5所示方法实施例中步骤503的具体实现,这里不再赘述。
发送单元803用于将校验单元802得到的关系校验计算的结果返回给服务装置。发送单元803的具体实现可参考图5所示方法实施例中步骤504的具体实现,这里不再赘述。
校验装置还可以包括管理单元804,该管理单元用于实现图4所示方法实施例中校验装置构造关系矩阵的功能,具体实现参考图4所示方法实施例部分,这里不再赘述。
本发明实施例将业务实体对其它业务实体的关系列表在内存中变成一个关系阵列,从而将几十位bit位的业务实体编码压缩成一个bit位的位置标识。内存空间压缩成了几十分之一,从而可将业务实体的关系数据全量加载到缓存中,提高执行效率。该优化效果参见图9。
另外,本发明实施例还将已订购业务实体列表和待订购业务实体列表两层for循环的算法变成待订购业务实体列表的一层for循环关系阵列与或计算,从而计算福再度从O(N*N)变成O(N)。该优化效果参见图10。
经过测试发现,通过上述优化,系统的性能并发量提升了10倍,效果测试结果参见图11。
在本申请所提供的几个实施例中,应该理解到,所公开的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(英文全称:RandomAccess Memory,简称:RAM)、磁碟或者光盘等各种可以存储数据的介质。
本发明实施例还提供了另一种计算机存储介质,用于储存为上述存储节点所用的计算机软件指令,其包含用于执行上述图3所示方法实施例所设计的程序。
本发明实施例还提供了另一种计算机存储介质,用于储存为上述分布式存储系统所用的计算机软件指令,其包含用于执行上述图5以及迁移方法实施例所设计的程序。通过执行存储的程序,可以实现扩容迁移和冷热内容数据的迁移。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (24)
1.一种关系校验的方法,其特征在于,所述方法包括:
校验装置接收业务装置针对用户的业务请求发起的校验请求,所述校验请求中携带待校验的业务实体;
所述校验装置采用预先生成的关系矩阵,对所述待校验的业务实体进行关系校验计算,所述关系矩阵由各业务实体的关系阵列组成,一个业务实体的关系阵列用于描述所述一个业务实体与其它业务实体的关系;
所述校验装置将关系校验计算的结果返回给所述服务装置。
2.如权利要求1所述的方法,其特征在于,所述校验装置采用预先生成的关系矩阵,对所述待校验的业务实体进行关系校验计算,包括:
所述校验装置根据关系校验算法中定义的源业务实体以及目标业务实体,将所述待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个;
所述校验装置获取所述源业务实体的位置标识,并读取对应于所述关系校验算法的关系矩阵,从所述关系矩阵中获取所述目标业务实体的关系阵列;所述源业务实体的位置标识用于标识所述源业务实体在所述关系矩阵中的位置;
所述校验装置按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,得到所述关系校验计算的结果。
3.如权利要求2所述的方法,其特征在于,所述校验装置根据关系校验算法中定义的源业务实体以及目标业务实体,将所述待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个,包括:
所述校验装置确定需校验的关系类型,读取所述关系类型对应的关系校验算法,所述关系类型包括互斥关系,和/或,依赖关系;
在互斥关系对应的关系校验算法中,所述待校验的业务实体作为所述源业务实体;
在依赖关系对应的关系校验算法中,所述待校验的业务实体作为所述目标业务实体。
4.如权利要求3所述的方法,其特征在于,若所述关系类型为互斥关系,所述校验装置按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,包括:
所述校验装置将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,得到所述关系校验计算的结果;其中,位与后值为0,代表不存在互斥关系,校验通过;位与后值为1,代表存在互斥关系,校验不通过。
5.如权利要求3所述的方法,其特征在于,若所述关系类型为依赖关系,所述校验装置按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,包括:
所述校验装置将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,再将位与的结果与所述目标业务的关系阵列进行位异或,得到所述关系校验计算的结果;其中,位异或后值为0,代表依赖关系校验通过;位异或后值为1,代表依赖关系校验不通过。
6.如权利要求2-5任一项所述的方法,其特征在于,所述源业务实体为一个时,所述校验装置获取所述源业务实体的位置标识,包括:所述校验装置直接读取所述源业务实体的位置标识;
所述源业务实体大于一个时,所述校验装置获取所述源业务实体的位置标识,包括:所述校验装置直接读取每个源业务实体的位置标识,对每个源业务实体的位置标识进行位或,以位或后的结果作为所述源业务实体的位置标识;
所述目标业务实体为一个时,所述从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验装置直接从所述关系矩阵中查询到所述目标业务实体的关系阵列;
所述目标业务实体大于一个时,所述从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验装置从所述关系矩阵中查询每个目标业务实体的关系阵列,对每个目标业务实体的关系阵列进行位或,以位或后的结果作为所述目标业务实体的关系阵列。
7.如权利要求1-6任一项所述的方法,其特征在于,在接收到所述校验请求前,所述方法还包括:
所述校验装置根据各业务实体的关系数据生成所述关系矩阵,并保存所述关系矩阵;所述关系数据用于描述各业务实体间的一种关系。
8.如权利要求7所述的方法,其特征在于,所述校验装置根据各业务实体的关系数据生成所述关系矩阵,具体包括:
所述校验装置采用编码算法将各业务实体的编号编码城阵列形式的位置标识;
将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列;
由每个业务实体的关系阵列组成所述关系矩阵。
9.如权利要求8所述的方法,其特征在于,所述校验装置采用编码算法将各业务实体的编号编码城阵列形式的位置标识,具体包括:
根据所述业务实体的编号确定所述业务实体的次序,在以预设长度的二进制来表示的阵列中,将对应所述业务实体的次序的位置设置为1,其它位置设置为0,得到所述业务实体的位置标识。
10.如权利要求8或9所述的方法,其特征在于,所述将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列具体包括:
对每个业务实体,将与其有关系的业务实体的位置标识进行位或,得到各业务实体的关系阵列。
11.如权利要求8所述的方法,其特征在于,所述校验装置采用编码算法将各业务实体的编号编码成阵列形式的位置标识,包括:
将以预设长度的二进制来表示的阵列划分为空间地址部分和空间数据部分;所述空间地址部分用于标识空间单元,所述空间数据部分用于标识空间单元中的业务实体;
所述校验装置按照业务实体的编号将所述业务实体划分到对应的空间单元中,并确定所述业务实体在对应空间单元中的位置;
将所述业务实体对应的空间单元表示在所述阵列的空间地址部分,将所述业务实体在对应的空间单元中的位置表示在所述空间数据部分,得到经过压缩的位置标识。
12.如权利要求11所述的方法,其特征在于,当位置标识是经过压缩的时,生成的关系矩阵为经过压缩的关系矩阵;
在采用压缩的关系矩阵进行关系校验计算时,与计算采用相同地址空间做位与,不相同地址空间计算成0;或运算采用相同地址空间做位或,不相同地址空间则合并成新的阵列。
13.一种校验装置,其特征在于,所述装置包括:
接收单元,用于接收业务装置针对用户的业务请求发起的校验请求,所述校验请求中携带待校验的业务实体;
校验单元,用于采用预先生成的关系矩阵,对所述待校验的业务实体进行关系校验计算,所述关系矩阵由各业务实体的关系阵列组成,一个业务实体的关系阵列用于描述所述一个业务实体与其它业务实体的关系;
发送单元,用于将关系校验计算的结果返回给所述服务装置。
14.如权利要求13所述的装置,其特征在于,所述校验单元具体用于根据关系校验算法中定义的源业务实体以及目标业务实体,将所述待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个;获取所述源业务实体的位置标识,并读取对应于所述关系校验算法的关系矩阵,从所述关系矩阵中获取所述目标业务实体的关系阵列;所述源业务实体的位置标识用于标识所述源业务实体在所述关系矩阵中的位置;按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,得到所述关系校验计算的结果。
15.如权利要求14所述的装置,其特征在于,所述校验单元根据关系校验算法中定义的源业务实体以及目标业务实体,将所述待校验的业务实体作为所述源业务实体或所述目标业务实体中的一个,包括:
所述校验单元确定需校验的关系类型,读取所述关系类型对应的关系校验算法,所述关系类型包括互斥关系,和/或,依赖关系;在互斥关系对应的关系校验算法中,所述待校验的业务实体作为所述源业务实体;在依赖关系对应的关系校验算法中,所述待校验的业务实体作为所述目标业务实体。
16.如权利要求15所述的装置,其特征在于,若所述关系类型为互斥关系,所述校验单元按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,包括:
所述校验单元将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,得到所述关系校验计算的结果;其中,位与后值为0,代表不存在互斥关系,校验通过;位与后值为1,代表存在互斥关系,校验不通过。
17.如权利要求15所述的装置,其特征在于,若所述关系类型为依赖关系,所述校验单元按照所述关系校验算法中定义的计算公式对所述目标业务实体的关系阵列与所述源业务实体的位置标识进行计算,包括:
所述校验单元将所述目标业务实体的关系阵列与所述源业务实体的位置标识进行位与运算,再将位与的结果与所述目标业务的关系阵列进行位异或,得到所述关系校验计算的结果;其中,位异或后值为0,代表依赖关系校验通过;位异或后值为1,代表依赖关系校验不通过。
18.如权利要求13-17任一项所述的装置,其特征在于,所述源业务实体为一个时,所述校验单元获取所述源业务实体的位置标识,包括:所述校验单元直接读取所述源业务实体的位置标识;
所述源业务实体大于一个时,所述校验单元获取所述源业务实体的位置标识,包括:所述校验单元直接读取每个源业务实体的位置标识,对每个源业务实体的位置标识进行位或,以位或后的结果作为所述源业务实体的位置标识;
所述目标业务实体为一个时,所述校验单元从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验单元直接从所述关系矩阵中查询到所述目标业务实体的关系阵列;
所述目标业务实体大于一个时,所述校验单元从所述关系矩阵中获取所述目标业务实体的关系阵列,包括:所述校验单元从所述关系矩阵中查询每个目标业务实体的关系阵列,对每个目标业务实体的关系阵列进行位或,以位或后的结果作为所述目标业务实体的关系阵列。
19.如权利要求12-18任一项所述的装置,其特征在于,所述装置还包括:
管理单元,用于根据各业务实体的关系数据生成所述关系矩阵,并保存所述关系矩阵;所述关系数据用于描述各业务实体间的一种关系。
20.如权利要求19所述的装置,其特征在于,所述管理单元根据各业务实体的关系数据生成所述关系矩阵,具体包括:
所述管理单元采用编码算法将各业务实体的编号编码城阵列形式的位置标识;将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列;由每个业务实体的关系阵列组成所述关系矩阵。
21.如权利要求20所述的装置,其特征在于,所述管理单元采用编码算法将各业务实体的编号编码城阵列形式的位置标识,具体包括:
所述管理单元根据所述业务实体的编号确定所述业务实体的次序,在以预设长度的二进制来表示的阵列中,将对应所述业务实体的次序的位置设置为1,其它位置设置为0,得到所述业务实体的位置标识。
22.如权利要求20或21所述的装置,其特征在于,所述管理单元将所述关系数据中每个业务实体与其它业务实体的关系以所述位置标识来表示,得到每个业务实体的关系阵列具体包括:
所述管理单元对每个业务实体,将与其有关系的业务实体的位置标识进行位或,得到各业务实体的关系阵列。
23.如权利要求20所述的装置,其特征在于,所述管理单元采用编码算法将各业务实体的编号编码成阵列形式的位置标识,包括:
管理单元将以预设长度的二进制来表示的阵列划分为空间地址部分和空间数据部分;所述空间地址部分用于标识空间单元,所述空间数据部分用于标识空间单元中的业务实体;所述校验装置按照业务实体的编号将所述业务实体划分到对应的空间单元中,并确定所述业务实体在对应空间单元中的位置;将所述业务实体对应的空间单元表示在所述阵列的空间地址部分,将所述业务实体在对应的空间单元中的位置表示在所述空间数据部分,得到经过压缩的位置标识。
24.如权利要求22所述的装置,其特征在于,当位置标识是经过压缩的时,生成的关系矩阵为经过压缩的关系矩阵;
在采用压缩的关系矩阵进行关系校验计算时,与计算采用相同地址空间做位与,不相同地址空间计算成0;或运算采用相同地址空间做位或,不相同地址空间则合并成新的阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710653426.0A CN109389405B (zh) | 2017-08-02 | 2017-08-02 | 一种关系校验的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710653426.0A CN109389405B (zh) | 2017-08-02 | 2017-08-02 | 一种关系校验的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109389405A true CN109389405A (zh) | 2019-02-26 |
CN109389405B CN109389405B (zh) | 2022-01-11 |
Family
ID=65412823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710653426.0A Expired - Fee Related CN109389405B (zh) | 2017-08-02 | 2017-08-02 | 一种关系校验的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109389405B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101765112A (zh) * | 2009-12-22 | 2010-06-30 | 中国联合网络通信集团有限公司 | 增值业务互斥鉴权方法与装置 |
US20100287213A1 (en) * | 2007-07-18 | 2010-11-11 | Dan Rolls | Method and system for use of a database of personal data records |
CN103164416A (zh) * | 2011-12-12 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种用户关系的识别方法及设备 |
CN104298677A (zh) * | 2013-07-16 | 2015-01-21 | 中国移动通信集团浙江有限公司 | 一种关注点依赖关系识别方法及系统 |
US20160366036A1 (en) * | 2014-10-09 | 2016-12-15 | Splunk Inc. | Control Interface for Dynamic Substitution of Service Monitoring Dashboard Source Data |
CN106815221A (zh) * | 2015-11-27 | 2017-06-09 | 华为软件技术有限公司 | 一种电信业务关系判定方法及装置 |
-
2017
- 2017-08-02 CN CN201710653426.0A patent/CN109389405B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100287213A1 (en) * | 2007-07-18 | 2010-11-11 | Dan Rolls | Method and system for use of a database of personal data records |
CN101765112A (zh) * | 2009-12-22 | 2010-06-30 | 中国联合网络通信集团有限公司 | 增值业务互斥鉴权方法与装置 |
CN103164416A (zh) * | 2011-12-12 | 2013-06-19 | 阿里巴巴集团控股有限公司 | 一种用户关系的识别方法及设备 |
CN104298677A (zh) * | 2013-07-16 | 2015-01-21 | 中国移动通信集团浙江有限公司 | 一种关注点依赖关系识别方法及系统 |
US20160366036A1 (en) * | 2014-10-09 | 2016-12-15 | Splunk Inc. | Control Interface for Dynamic Substitution of Service Monitoring Dashboard Source Data |
CN106815221A (zh) * | 2015-11-27 | 2017-06-09 | 华为软件技术有限公司 | 一种电信业务关系判定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109389405B (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7072054B2 (ja) | 貨物を仕分けるための方法および装置 | |
CN107766940B (zh) | 用于生成模型的方法和装置 | |
KR102074026B1 (ko) | 위치 정보를 가진 데이터 프로파일링 | |
US20210049209A1 (en) | Distributed graph embedding method and apparatus, device, and system | |
KR102308002B1 (ko) | 정보 생성 방법 및 장치 | |
Alizadeh et al. | Combinatorial algorithms for inverse absolute and vertex 1‐center location problems on trees | |
Piegat et al. | Fuzzy number addition with the application of horizontal membership functions | |
US20180004859A1 (en) | Computation platform agnostic data classification workflows | |
CN107292326A (zh) | 一种模型的训练方法和装置 | |
CN109522435A (zh) | 一种图像检索方法及装置 | |
KR20080085142A (ko) | 사용자 대 사용자 추천자 | |
CN107180064A (zh) | 一种物流信息处理方法、装置及物流信息系统 | |
CN104156051B (zh) | 基于数据管理功率的设备和方法 | |
CN105095263A (zh) | 卡号的生成方法及其装置 | |
CN108170815A (zh) | 一种数据处理方法、装置及存储介质 | |
CN109413202A (zh) | 区块链交易信息的排序系统及方法 | |
CN108648064A (zh) | 产品信息快速上架的方法和装置 | |
CN106708875B (zh) | 一种特征筛选方法及系统 | |
CN107209764A (zh) | 指定和应用数据的规则 | |
CN109558432A (zh) | 数据处理方法及装置 | |
CN103514224A (zh) | 数据库中的数据处理方法、数据查询方法和相应装置 | |
CN112288484A (zh) | 商品自动定价方法、装置、电子设备和存储介质 | |
CN109389405A (zh) | 一种关系校验的方法和装置 | |
CN109271413A (zh) | 一种数据查询的方法、装置及计算机存储介质 | |
Ahmad et al. | Solving oscillatory delay differential equations using block hybrid methods |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |