CN111158972B - 一种开关状态确定方法、装置、设备和介质 - Google Patents
一种开关状态确定方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111158972B CN111158972B CN201911234507.2A CN201911234507A CN111158972B CN 111158972 B CN111158972 B CN 111158972B CN 201911234507 A CN201911234507 A CN 201911234507A CN 111158972 B CN111158972 B CN 111158972B
- Authority
- CN
- China
- Prior art keywords
- switch
- state
- service object
- binary number
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供的一种开关状态确定方法、装置、设备和介质,所述方法根据开关配置列表计算目标时间上的目标业务对象的开关状态。在获取目标业务对象的静态以及动态配置,得出相应的开关二进制数,针对所有需求场景,采用二级制数做对应位的与计算,得到目标时间上的目标业务对象的开关状态。所述方法还可以获取在业务对象树上的业务对象的开关,并确定所述开关的层级,基于预设的配置需求,通过二进制数表征开关的开启状态和关闭状态,获得开关的配置列表。在本方法中计算目标时间上的目标业务对象的开关状态时,只需考虑位计算的逻辑顺序,实现较为简单。在本方法中进行的位计算的效率很高,计算所消耗的资源,耗时都能大大减少。
Description
技术领域
本发明涉及后台系统领域,尤其涉及一种开关状态确定方法、装置、设备和介质。
背景技术
在后台系统中,需要在多层级的开关静态配置和动态开关配置下,预估出未来任意一个时间点,任一层级下的开关情况。在现有技术中,可以根据本级与所有上级的配置情况,并考虑未来某一时间点的动态开关和该时间点上的静态开关情况,通过逻辑运算,获取该时间点的开关状态,在现有技术提出的方法中,需要对获取该时间点的开关状态进行单独编码。现有方法里通过逻辑运算的方法对于复杂场景不能很好的支持,如想求得未来某一时间点的所有状态为开启的实体列表,代码实现复杂度就会相应增加很多。
现有技术提出的方法普适性不强,且若有新的开关情况计算的需求,需要从头开始编码,代码的可扩展较差。由于每次计算都是独立进行的,若请求量较大,会存在很多重复的计算,计算效率很低。
发明内容
本发明提供了一种开关状态确定方法、装置、设备和介质,可以简化开关情况确定的步骤,并提高开关情况确定的效率。
一方面,本发明提供了一种开关状态确定方法,对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径中位于所述目标业务对象上层的至少一层的业务对象;
根据所述上层业务对象的开关配置列表和所述目标业务对象的开关配置列表,确定目标时间上所述目标业务对象的开关状态。
另一方面提供了一种开关状态确定装置,所述装置包括:节点路径获取模块、上层对象配置获取模块、目标对象配置获取模块和开关状态确定模块;
所述节点路径获取模块用于对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
所述目标对象配置获取模块用于获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
所述上层对象配置获取模块用于基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径上不同层级的业务对象;
所述开关状态确定模块用于根据所述上层业务对象的开关配置列表和所述目标业务对象的开关配置列表,确定目标时间上所述目标业务对象的开关状态。
另一方面提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述所述的一种开关状态确定方法。
另一方面提供了一种存储介质,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述所述的一种开关状态确定方法。
本发明提供的一种开关状态确定方法、装置、设备和介质,所述方法根据开关配置列表计算目标时间上的目标业务对象的开关状态。在获取目标业务对象的静态以及动态配置,得出相应的开关二进制数,针对所有需求场景,采用二级制数做对应位的与计算,得到目标时间上的目标业务对象的开关状态。所述方法还可以获取在业务对象树上的业务对象的开关,并确定所述开关的层级,基于预设的配置需求,通过二进制数表征开关的开启状态和关闭状态,获得开关的配置列表。在本方法中计算目标时间上的目标业务对象的开关状态时,只需考虑位计算的逻辑顺序,实现较为简单。在本方法中各个业务对象的开关二进制数可预先算好,每次计算无需重复计算,且位计算的效率很高,计算所消耗的资源,耗时都能大大减少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种开关状态确定方法的应用场景示意图;
图2为本发明实施例提供的一种开关状态确定方法的流程图;
图3为本发明实施例提供的一种开关状态确定方法中确定目标业务对象的开关状态的方法流程图;
图4为本发明实施例提供的一种开关状态确定方法中判断上层业务对象的开关状态的方法流程图;
图5为本发明实施例提供的一种开关状态确定方法中确定目标时间上目标业务对象的开关的状态的方法流程图;
图6为本发明实施例提供的一种开关状态确定方法中目标业务对象的节点路径和节点路径上的开关配置的示意图;
图7为本发明实施例提供的一种开关状态确定方法之前进行开关配置的方法流程图;
图8为本发明实施例提供的一种开关状态确定方法中确定静态二进制数的方法流程图;
图9为本发明实施例提供的一种开关状态确定方法中确定动态二进制数的方法流程图;
图10为本发明实施例提供的一种开关状态确定装置的结构示意图;
图11为本发明实施例提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的业务对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
请参见图1,其显示了本发明实施例提供的一种开关状态确定方法的应用场景示意图,所述应用场景包括业务对象110和服务器120,所述多个业务对象110构成业务对象树,服务器120遍历所述业务对象树,获取节点路径,获取所述节点路径上不同层级的树节点中业务对象的开关的配置列表,配置列表以二进制表征各个时段开关的开启状态和关闭状态,。所述服务器120对根据所述配置列表进行计算,确定目标时间上目标业务对象的开关的状态。
在本发明实施例中,所述多个业务对象110构成树结构,所述树结构是由结点或顶点和边组成的且不存在着任何环的一种数据结构。没有结点的树称为空树。一棵非空的树包括一个根结点,还有多个附加结点,所有结点构成一个多级分层结构。
在本发明实施例中,所述服务器120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器120可以包括有网络通信单元、处理器和存储器等等。
请参见图2,其显示了一种开关状态确定方法,可应用于服务器侧,所述方法包括:
S210.对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
S220.获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
具体地,将各个业务对象开关的开关配置分为静态开关配置以及动态开关配置。静态开关配置为固定属性,标识业务对象在一天时间内的开启时间段和关闭时间段,即业务对象的开关的开启状态和关闭状态;动态开关配置为在未来时间点,该业务对象的开关执行的开启操作或关闭操作。
在静态配置列表和动态配置列表中,存储的可以为二进制数。一个二进制数表示预设时间内的开关情况,例如一个二进制数表示为一天中的每一分钟,整个配置列表中的二进制数就可以组成该业务对象在预设时间内的开关情况。将二进制中的0表示为关闭状态,1表示为开启状态,0点0分的开关状态记录在一个二进制数的最高位,23点59分的开关状态记录在一个二进制数的最低位,可以获得一个业务对象一天中的开关状态。例如该业务对象的开关配置的二进制数前十位为1100011100,则说明第一分钟和第二分钟,该业务对象的开关处于开启状态,从第三分钟到第五分钟,该业务对象的开关处于关闭状态,从第六分钟到第八分钟,该业务的开关处于开启状态,第九分钟和第十分钟,该业务对象的开关处于关闭状态。获取一个业务对象的完整的配置信息,可以清楚地明确业务对象在预设时间内具体的开关情况。
S230.基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径中位于所述目标业务对象上层的至少一层的业务对象;
S240.根据所述上层业务对象的开关配置列表和所述目标业务对象的开关配置列表,确定目标时间上所述目标业务对象的开关状态。
进一步地,请参见图3,所述根据所述上层业务对象的开关配置列表和所述目标业务对象的开关配置列表,确定目标时间上所述目标业务对象的开关状态包括:
S310.根据所述上层业务对象的开关配置列表,判断目标时间上所述上层业务对象的开关状态是否为开启状态;
S320.若是,则根据所述目标业务对象的开关配置列表,确定目标时间上目标业务对象的开关状态。
具体地,在业务对象树中,除了根节点之外的每个业务对象,都需要依赖于其父业务对象的开关配置。若父业务对象的开关为关,则子业务对象的开关必定判断为关,此时不能依据子业务对象的开关配置来得到开关状态。有且只与子业务对象有关联的父业务对象以及更上层的业务对象的开关都为开时,才需要依据子业务对象的开关配置来得到开关状态。因此,在获取子业务对象的开关配置时,需要将所有的二进制数进行逐位进行与计算,以确定父业务对象和子业务对象开关均为开启,此时才能通过子业务对象的配置列表,确定子业务对象在目标时间的开关状态。
在上层业务对象的开关配置列表中,若目标时间上的开关状态为开启状态,此时才需要通过目标业务对象的配置列表,确定目标业务对象在目标时间的开关状态。若为关闭状态,则所述目标业务对象在目标时间的开关状态为关闭状态。
进一步地,请参见图4,所述根据所述上层业务对象的开关配置列表,判断目标时间上所述上层业务对象的开关状态是否为开启状态包括:
S410.获取各个上层业务对象的开关配置列表中的静态二进制数和动态二进制数;
S420.对各个静态二进制数和各个动态二进制数逐位进行与计算;
S430.基于计算得到的结果,判断目标时间上所述上层业务对象的开关状态是否为开启状态。
具体地,由于上一层业务对象的开关状态会影响上一层业务对象的下一层业务对象的开关状态,若上一层业务对象的开关关闭,则上一层业务对象的下一层业务对象的开关状态只能为关闭,只有上层开关全部开启时,目标业务对象本身的开关配置才是有效的。由于开关配置列表是通过二进制进行表征的,用二进制的语言表达为上层业务对象的开关配置列表在目标时间上的二进制数进行与计算时为1,则说明上层业务对象的开关全部开启,由此可以判断上层业务对象的开关状态。若上层业务对象中有某个业务对象的开关状态为0,则与计算的结果一定为0,说明上层业务对象的开关并非全部开启,此时目标业务对象在目标时间的开关状态为关闭。
例如,第一级业务对象C1的静态配置为11110,动态配置为11101。第二级业务对象C2的静态配置为01111,动态配置为00111。第三级业务对象C3的静态配置为11111,动态配置为00110。若需要获得第四分钟的开关情况,此时从第三级业务对象C3的开关配置,可以得到第四分钟时开关状态为开启状态,但是由于第一级业务对象C1的静态配置为11110,动态配置为11101,在第四分钟上的开关配置为0,开关状态为关闭状态,则第三级业务对象C3在第四分钟上的开关状态只能为关闭。因此,将所有的二进制数做逐位进行与计算,得到的结果为00100,可以得到第三级业务对象C3第四分钟时开关的正确状态为关闭状态。
进一步地,请参见图5,所述根据所述目标业务对象的开关配置列表,确定目标时间上目标业务对象的开关的状态包括:
S510.获取目标业务对象的开关配置列表中的静态二进制数和动态二进制数;
S520.将所述静态二进制数和所述动态二进制数逐位进行与计算,得到状态二进制数;
S530.根据所述状态二进制数,确定目标时间上目标业务对象的开关的状态。
具体地,若需要计算某一业务对象在未来某一时间点的开关情况,则获取与目标业务对象的开关的配置列表,确定目标时间上目标业务对象的开关的状态。从业务对象树的根节点出发,以深度优先遍历业务对象树,获取到该目标业务对象所对应的节点的路径。获得路径上所有节点的静态以及动态配置二进制数。对所有二级制数做逐位进行与计算,得到最终的所在天开关情况二进制数。根据需要计算的时间点,获取对应位的数字,若为1,则判断开关为开启状态,若为0,则判断开关为关闭状态。
请参见图6,例如,需要计算第三级业务对象C3在第三分钟的开关情况,获取从根节点到目标业务对象的路径为第一级业务对象A到第二级业务对象B3到第三级业务对象C3。第一级业务对象A的静态配置为11110,动态配置为11111。第二级业务对象B3的静态配置为01111,动态配置为00111。第三级业务对象C3的静态配置为11111,动态配置为00100,将所有的二进制数做逐位进行与计算,得到的结果为00100,获取结果的二进制数中的第三位为1,则第三级业务对象C3的第三分钟状态为开启。
请参见图6,如果动态配置存在多种时,只需要根据一种动态配置来进行计算,例如第三级业务对象C3为第二种动态配置,第二级业务对象B3具有第一种动态配置和第二种动态配置,当计算第三级业务对象C3在某时间点上的开关状态时,只需要用到第二级业务对象B3的第二种动态配置。
通过二进制逐位进行与计算的方式,计算目标业务对象在目标时间上的开关状态,简化了计算的操作,提高了计算效率,能够通过较为简单的方法支持复杂的场景。且计算的重点在于各层级的开关二进制数的计算与维护。这块代码可以公用,无需重复开发。若有新的计算需求,只需要开发后续的位计算方法,可扩展性大大增强。
进一步地,请参见图7,所述对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径之前,还包括:
S710.获取所述业务对象树上与各个树节点中的业务对象的开关;
具体地,所述对业务对象树上的各个树节点进行遍历,获取所述树节点中的业务对象的开关之前,还需要根据预设的层级,将各个业务对象进行组合,建立业务对象树。
获取业务对象以及各个业务对象对应的层级信息,根据业务对象的层级建立业务对象树,在业务对象树的树节点中的关键属性信息为业务对象的标识信息。因此可以通过遍历业务对象树,获取业务对象树各个树节点的属性信息中的业务对象的标识信息,从而区分各个业务对象。
所述与业务对象的开关具有的开关属性信息,也存储在对应的树节点的属性信息中。因此可以遍历业务对象树,根据树节点定位到业务对象,继而获得与业务对象的开关。
例如,目前存在一个三级的业务对象树,通过遍历该业务对象树,获取不同等级的树节点所对应的第一级业务对象、第二级业务对象和第三级业务对象,分别确定第一级业务对象的开关,第二级业务对象的开关和第三级业务对象的开关。所述开关之间就同样存在了层级关系。
所述业务对象树的树节点属性信息中用于对开关的层级进行定位的开关属性信息为待配置的开关属性信息,在进行开关配置之后,会存入由二进制组成的配置列表。
通过所述方法确定的与业务对象的开关被分配到了树节点所对应的各个层级上,由于上一级的开关可以决定对下一级的开关状态,因此可以对应树节点明确各个开关的层级信息,可以在后续执行查找某一时间点的开关状态时,依据所述各个开关的层级信息,确定是否需要依据目标业务对象的开关配置来得到开关状态。
S720.根据所述开关在不同时段的静态配置需求,生成所述开关的静态二进制数,所述静态二进制数为表征预设时间段内开关的开启状态和关闭状态的二进制数;
S730.根据所述开关在不同时段的动态配置需求,生成所述开关的动态二进制数,所述动态二进制数为表征预设时间点上开关的开启状态或关闭状态的二进制数;
S740.将所述静态二进制数和所述动态二进制数组合成所述开关的开关配置列表。
进一步地,请参见图8,所述根据所述开关在不同时段的配置需求,生成所述开关的配置列表包括:
S810.根据所述不同时段的静态配置需求,获取所述开关在预设时间中的固定开启时段和固定关闭时段;
S820.通过二进制表征所述开关在所述固定开启时段的开启状态和所述固定关闭时段的关闭状态,生成静态二进制数。
具体地,在进行静态开关配置时,由于所述静态开关配置在预设时间中均保持一致,例如在不同天数中,静态开关配置的每一天配置都是一样的,因此只需要构造一个静态二进制数,即可标识开关在预设时间中的固定的开启状态和关闭状态。根据不同时段的静态配置需求,获取所述开关在预设时间中的固定开启时段和固定关闭时段。例如某业务对象的静态配置为第二分钟时开启,开启后保持开启状态,静态配置中的预设时间是一天,那么该业务对象的固定关闭时段是第一分钟,固定开启时段是第二分钟开始之后到一天结束,则生成的静态二进制数的前七位为0111111,其中状态1会一直表示到一天结束时的23点59分。将所述静态二进制数作为开关的静态配置列表。
对静态配置采用二进制的方式进行表示,可以简单且准确地表明静态配置的信息,且二进制数占用的内存空间较小,也易于进行存储。
进一步地,请参见图9,所述根据所述开关在不同时段的动态配置需求,生成所述开关的动态二进制数包括:
S910.根据所述开关在不同时段的动态配置需求,获取所述开关的开启操作执行的时间点、关闭操作执行的时间点和状态持续时段;
S920.根据所述开关在所述开启操作执行的时间点和所述关闭操作执行的时间点,确定所述状态持续时段的开关状态;
S930.通过二进制表征所述开启操作执行的时间点的开启状态、所述关闭操作执行的时间点的关闭状态和所述状态持续时段的开关状态,生成动态二进制数。
具体地,在进行动态开关配置时,因开关执行开启或关闭的操作,可能分散于不同的预设时间中,所述预设时间可以按照天来计算。在进行动态开关配置时,需要对每一个存在开关操作的天,建立动态二进制数。开关执行开操作后进入状态持续时段,在状态持续时段中二进制数上的每位都为1,直到遇到关操作。开关执行关操作后进入状态持续时段,在状态持续时段中二进制数上的每位都为0,直到再次遇到开操作。例如,某业务对象的动态配置需求为第三分钟执行开启操作,其余时间关闭,则生成动态二进制数的前七位为001000,后续的每位均为0。将所述动态二进制数作为动态二进制列表。
无开关操作的天不需要需建立二进制数存储在内存中。当需要获取这类天的动态配置时,只需找相邻最近,且在该天之前的动态二进制数,由该动态二进制数的最后一位可以计算得到无开关操作的天的动态配置。例如,若相邻最近且在该天之前的动态二进制数最后一位为1,则该天的动态二级制数每位都为1,若相邻最近且在该天之前的动态二进制数最后一位为0,则该天的动态二进制数每位都为0。
为兼容第一天的计算,需要将昨日的动态二进制数也存入内存,使用当前的开关情况构造。例如,若当前的开关状态为开启状态,则昨日的动态二级制数每位都为1;若当前的开关状态为关闭状态,则昨日的动态二级制数每位都为0。
对动态配置采用二进制的方式进行表示,可以简单且准确地表明静态配置的信息,且二进制数占用的内存空间较小,也易于进行存储。
在一个具体的实施例中,以支付系统中,不同银行的未来时间里支持情况预估为例。系统中的开关配置分为三个层级,分别为本支付系统层级,支付渠道层级,以及渠道所支持的银行层级,支付系统下可使用多个渠道,一个渠道内可支持多个银行的支付操作。一个银行,可以在不同渠道中做支付动作,但一个渠道下的银行不能重复。在支付系统中,在未来任一时间点,支付渠道或者支付渠道下的某一个银行都可能操作开启或关闭。
进行开关配置时,将开关配置分为:以本支付系统为主体的配置,以支付渠道为主体的配置,以及以渠道支持银行为主体的配置。根节点为本支付系统主体,第二层节点为渠道主体,第三层节点为渠道支持银行主体。将开关配置分为静态配置以及动态配置。静态为支付系统主体/渠道主体/渠道支持银行主体一天固定支持时间点片段。动态配置为渠道主体/渠道支持银行主体在未来的开启/关闭操作。在每个节点上,根据静态配置以及动态配置,构建静态二进制数与动态二进制数。静态二进制数,某位为1则表示该分钟该主体为支持状态。动态二进制数,只要考虑存在开启/关闭操作的所有天列表,计算得到二进制数列表。在设置动态二进制数时,为计算第一天的情况,根据当前状态,设置昨日的动态二级制数,开启则每位都为1;关闭则每位都为0。将每个节点遍历计算,构建完成层级开关配置树。
若需求为计算出,指定银行A,某一天X,无渠道支持的所有时间片段。计算指定银行A,某天X的不支持时间段。
首先进行深度优先遍历树,获取所有第三层节点为银行A的路径,每个节点获取静态二进制数,以及第X天的动态二进制数,若内存中无存储,则以最接近且在其之前天的动态二进制数的最后一位构建。对所有路径上的二进制数,分路径分别做逐位进行与计算。最后,将不同路径上的结果二进制数做逐位或操作。即可得到最终开关二进制数,取出其中为0的区间,即为该银行A,某天X的无渠道支持时间段。
本方法所述提出的一种开关配置方法,所述方法先获取在业务对象树上的业务对象的开关,并确定所述开关的层级,基于预设的配置需求,通过二进制数表征开关的开启状态和关闭状态,获得开关的配置列表。所述方法在得到开关配置列表后,还可以根据开关配置列表计算目标时间上的目标业务对象的开关状态。在获取目标业务对象的静态以及动态配置,得出相应的开关二进制数,针对所有需求场景,采用二级制数做对应位的与计算,得到目标时间上的目标业务对象的开关状态。在本方法中计算目标时间上的目标业务对象的开关状态时,只需考虑位计算的逻辑顺序,实现较为简单。在本方法中各个业务对象的开关二进制数可预先算好,每次计算无需重复计算,且位计算的效率很高,计算所消耗的资源,耗时都能大大减少。
本发明实施例还提供了一种开关状态确定装置,请参见图10,所述装置包括:节点路径获取模块1010、目标对象配置获取模块1020、上层对象配置获取模块1030和开关状态确定模块1040;
所述节点路径获取模块1010用于对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
所述目标对象配置获取模块1020用于获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
所述上层对象配置获取模块1030用于基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径上不同层级的业务对象;
所述开关状态确定模块1040用于根据所述上层业务对象的开关配置列表和所述目标业务对象的开关配置列表,确定目标时间上所述目标业务对象的开关状态。
进一步地,所述装置还包括:开关获取模块、开关确定模块和开关配置模块;
所述开关获取模块用于对业务对象树上的各个树节点进行遍历,获取所述树节点中的业务对象的开关;
所述开关获取模块用于获取与所述业务对象的开关;
所述开关确定模块用于确定与所述业务对象的开关中需要进行配置的开关;
所述开关配置模块用于根据所述开关在不同时段的配置需求,生成所述开关的配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的一种开关状态确定方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并执行本实施例上述的一种开关状态确定方法。
本实施例还提供了一种设备,所述设备包括处理器和存储器,其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行本实施例上述的一种开关状态确定方法。
所述设备可以为计算机终端、移动终端或服务器,所述设备还可以参与构成本发明实施例所提供的装置或系统。如图11所示,计算机终端11(或移动终端11或服务器11)可以包括一个或多个(图中采用1102a、1102b,……,1102n来示出)处理器1102(处理器1102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1104、以及用于通信功能的传输装置1106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
应当注意到的是上述一个或多个处理器1102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端11(或移动终端)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1102通过运行存储在存储器1104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种基于自注意力网络的时序行为捕捉框生成方法。存储器1104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1104可进一步包括相对于处理器1102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端11的通信供应商提供的无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端11(或计算机终端)的用户界面进行交互。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种开关状态确定方法,其特征在于,所述方法包括:
对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径中位于所述目标业务对象上层的至少一层的业务对象;
获取各个所述上层业务对象的开关配置列表中的静态二进制数和动态二进制数;
对各个所述上层业务对象的开关配置列表中静态二进制数和动态二进制数逐位进行与计算;
基于计算得到的结果,判断目标时间上所述上层业务对象的开关状态是否为开启状态;
若是,则获取所述目标业务对象的开关配置列表中的静态二进制数和动态二进制数;
将所述目标业务对象的开关配置列表中的静态二进制数和动态二进制数逐位进行与计算,得到状态二进制数;
根据所述状态二进制数,确定目标时间上所述目标业务对象的开关状态。
2.根据权利要求1所述的一种开关状态确定方法,其特征在于,所述对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径之前,还包括:
获取所述业务对象树上与各个树节点中的业务对象的开关;
根据所述开关在不同时段的静态配置需求,生成所述开关的静态二进制数,所述静态二进制数为表征预设时间段内开关的开启状态和关闭状态的二进制数;
根据所述开关在不同时段的动态配置需求,生成所述开关的动态二进制数,所述动态二进制数为表征预设时间点上开关的开启状态或关闭状态的二进制数;
将所述静态二进制数和所述动态二进制数组合成所述开关的开关配置列表。
3.一种根据权利要求2所述的一种开关状态确定方法,其特征在于,所述根据所述开关在不同时段的静态配置需求,生成所述开关的静态二进制数包括:
根据所述不同时段的静态配置需求,获取所述开关在预设时间中的固定开启时段和固定关闭时段;
通过二进制表征所述开关在所述固定开启时段的开启状态和所述固定关闭时段的关闭状态,生成静态二进制数。
4.根据权利要求2所述的一种开关状态确定方法,其特征在于,所述根据所述开关在不同时段的动态配置需求,生成所述开关的动态二进制数包括:
根据所述开关在不同时段的动态配置需求,获取所述开关的开启操作执行的时间点、关闭操作执行的时间点和状态持续时段;
根据所述开关在所述开启操作执行的时间点和所述关闭操作执行的时间点,确定所述状态持续时段的开关状态;
通过二进制表征所述开启操作执行的时间点的开启状态、所述关闭操作执行的时间点的关闭状态和所述状态持续时段的开关状态,生成动态二进制数。
5.一种开关状态确定装置,其特征在于,所述装置包括:节点路径获取模块、目标对象配置获取模块、上层对象配置获取模块和开关状态确定模块;
所述节点路径获取模块用于对业务对象树进行遍历,获取目标业务对象所在的树节点的节点路径;
所述目标对象配置获取模块用于获取所述目标业务对象的开关配置列表,所述开关配置列表中以二进制表征各个时段开关的开启状态和关闭状态;
所述上层对象配置获取模块用于基于所述节点路径,获取所述目标业务对象的上层业务对象的开关配置列表,所述上层业务对象包括所述节点路径上不同层级的业务对象;
所述开关状态确定模块用于获取各个所述上层业务对象的开关配置列表中的静态二进制数和动态二进制数,对各个所述上层业务对象的开关配置列表中静态二进制数和动态二进制数逐位进行与计算;基于计算得到的结果,判断目标时间上所述上层业务对象的开关状态是否为开启状态;若是,则获取所述目标业务对象的开关配置列表中的静态二进制数和动态二进制数;将所述目标业务对象的开关配置列表中的静态二进制数和动态二进制数逐位进行与计算,得到状态二进制数;根据所述状态二进制数,确定目标时间上所述目标业务对象的开关状态。
6.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-5任一项所述的一种开关状态确定方法。
7.一种存储介质,其特征在于,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-5任一项所述的一种开关状态确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234507.2A CN111158972B (zh) | 2019-12-05 | 2019-12-05 | 一种开关状态确定方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911234507.2A CN111158972B (zh) | 2019-12-05 | 2019-12-05 | 一种开关状态确定方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111158972A CN111158972A (zh) | 2020-05-15 |
CN111158972B true CN111158972B (zh) | 2020-08-25 |
Family
ID=70556445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911234507.2A Active CN111158972B (zh) | 2019-12-05 | 2019-12-05 | 一种开关状态确定方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158972B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2682478Y (zh) * | 2003-12-19 | 2005-03-02 | 上海海运学院 | 计算机i/o口编码输入控制电路 |
CN101540783A (zh) * | 2009-04-13 | 2009-09-23 | 中国联合网络通信集团有限公司 | 业务控制信号发送、接收方法、装置及系统 |
CN101976242A (zh) * | 2010-09-26 | 2011-02-16 | 用友软件股份有限公司 | 生成业务对象的内部级次编码的方法和系统 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN105022638A (zh) * | 2015-08-06 | 2015-11-04 | 许继集团有限公司 | 一种嵌入式装置业务逻辑可视化展示方法 |
CN107203537A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种业务实现方法和装置 |
US9996367B1 (en) * | 2017-01-20 | 2018-06-12 | International Business Machines Corporation | Cognitive screen sharing with contextual awareness |
CN108780532A (zh) * | 2016-02-26 | 2018-11-09 | 微软技术许可有限责任公司 | 用于应届大学毕业生的职位搜索引擎 |
CN209358555U (zh) * | 2019-02-28 | 2019-09-06 | 北京龙鼎源科技股份有限公司 | 数据传输装置及系统 |
CN110276609A (zh) * | 2018-03-14 | 2019-09-24 | 北京三快在线科技有限公司 | 业务数据处理方法及装置、电子设备、计算机可读介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888361B (zh) * | 2013-05-15 | 2017-03-22 | 中国人民解放军国防科学技术大学 | 一种面向胖树型拓扑结构的光路由器 |
CN105955919B (zh) * | 2016-04-27 | 2019-02-05 | 西安交通大学 | 基于FPGA的多MCU读写NANDFlash的实现方法 |
DE102016123689B4 (de) * | 2016-12-07 | 2022-02-24 | Infineon Technologies Ag | Speicherschaltung und Verfahren zum Betreiben einer Speicherschaltung |
-
2019
- 2019-12-05 CN CN201911234507.2A patent/CN111158972B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2682478Y (zh) * | 2003-12-19 | 2005-03-02 | 上海海运学院 | 计算机i/o口编码输入控制电路 |
CN101540783A (zh) * | 2009-04-13 | 2009-09-23 | 中国联合网络通信集团有限公司 | 业务控制信号发送、接收方法、装置及系统 |
CN101976242A (zh) * | 2010-09-26 | 2011-02-16 | 用友软件股份有限公司 | 生成业务对象的内部级次编码的方法和系统 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN105022638A (zh) * | 2015-08-06 | 2015-11-04 | 许继集团有限公司 | 一种嵌入式装置业务逻辑可视化展示方法 |
CN108780532A (zh) * | 2016-02-26 | 2018-11-09 | 微软技术许可有限责任公司 | 用于应届大学毕业生的职位搜索引擎 |
CN107203537A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种业务实现方法和装置 |
US9996367B1 (en) * | 2017-01-20 | 2018-06-12 | International Business Machines Corporation | Cognitive screen sharing with contextual awareness |
CN110276609A (zh) * | 2018-03-14 | 2019-09-24 | 北京三快在线科技有限公司 | 业务数据处理方法及装置、电子设备、计算机可读介质 |
CN209358555U (zh) * | 2019-02-28 | 2019-09-06 | 北京龙鼎源科技股份有限公司 | 数据传输装置及系统 |
Non-Patent Citations (1)
Title |
---|
如何理解二进制数具有开关性质;MissAFei;《https://blog.csdn.net/missafei/article/details/79244152》;20180202;1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111158972A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Oda et al. | Evaluation of WMN-GA for different mutation operators | |
CN110378413A (zh) | 神经网络模型处理方法、装置以及电子设备 | |
CN111723298B (zh) | 基于改进标签传播的社交网络社团发现方法、装置及介质 | |
US20190213480A1 (en) | Personalized question-answering system and cloud server for private information protection and method of providing shared neural model thereof | |
Fraigniaud et al. | Local MST computation with short advice | |
US20170155744A1 (en) | Network packet management server, network packet management method and computer readable medium thereof | |
CN110390493B (zh) | 任务管理方法、装置、存储介质及电子设备 | |
CN114466369A (zh) | 网络资源处理方法、存储介质及电子装置 | |
CN111325417A (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN111368973A (zh) | 用于训练超网络的方法和装置 | |
CN111160793A (zh) | 一种服务网点自助设备数量的配置方法、装置及设备 | |
CN111629390B (zh) | 网络切片编排方法和装置 | |
CN110554877A (zh) | 一种json数据解析方法、装置、设备及储存介质 | |
CN104010329A (zh) | 基于量化无偏广播Gossip算法的分布式负载均衡方法 | |
CN110830587B (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN110019845B (zh) | 一种基于知识图谱的社区演化分析方法及装置 | |
CN113312563B (zh) | 信息推荐方法、装置、设备及存储介质 | |
CN111158972B (zh) | 一种开关状态确定方法、装置、设备和介质 | |
CN116614830B (zh) | 网元优化方法、装置、计算机设备、存储介质 | |
CN116962438B (zh) | 一种梯度数据同步方法、系统、电子设备及可读存储介质 | |
CN113688542A (zh) | 智能优化水资源配置方法、装置、计算机设备及存储介质 | |
CN112632957A (zh) | 电力图纸管理方法、装置、终端设备及服务器 | |
US11003508B2 (en) | Apparatus and methods for load balancing across a network of nodes | |
CN112835896B (zh) | 一种实时数据库数据热点均衡方法、装置、设备及介质 | |
CN110310138A (zh) | 一种确定用户关系的方法及装置 |
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 |