    def getNode(self, key):
        """
        返回这个字符串应该对应的node，这里先求出字符串的hash值，然后找到第一个小于等于的虚拟节点，然后返回node
        如果hash值大于所有的节点，那么用第一个虚拟节点
        :param : hashNum or keyStr
        :return:
        """
        keyStr = ''
        if isinstance(key, int):
            keyStr = "the keyStr is %d" % key
        elif isinstance(key, type('a')):
            keyStr = key
        else:
            raise TarsException("the hash code has wrong type")
        if self.__sortListForKey:
            key = self.__genKey(keyStr)
            for keyItem in self.__sortListForKey:
                if key <= keyItem:
                    return self.__nodeDict[keyItem]
            return self.__nodeDict[self.__sortListForKey[0]]
        else:
            return None
返回这个字符串应该对应的node，这里先求出字符串的hash值，然后找到第一个小于等于的虚拟节点，然后返回node
如果hash值大于所有的节点，那么用第一个虚拟节点
:param : hashNum or keyStr
:return:
biliup/Danmaku/tars/__util.py